
:root {
  --pg-bg: #292929;
  --pg-surface: #1F1F1F;
  --pg-surface-2: #2E2E2E;
  --pg-border: #404040;
  --pg-navy: #20304B;
  --pg-orange: #D77940;
  --pg-orange-alert: #F96B05;
  --pg-green: #2ECA62;
  --pg-success-surface: #2D4534;
  --pg-danger: #E53E3E;
  --pg-danger-surface: rgba(229,62,62,.18);
  --pg-warning-surface: rgba(249,107,5,.16);
  --pg-text: #F5F7FA;
  --pg-text-secondary: #C8CDD4;
  --pg-text-muted: #949AA3;
  --pg-radius-card: 24px;
  --pg-radius-button: 24px;
  --pg-radius-input: 18px;
  --pg-gap: 24px;
  --pg-button-height: 72px;
  --pg-input-height: 72px;
  --pg-font: Inter, "SF Pro Display", "Noto Sans", Arial, sans-serif;
  --nc-navy: var(--pg-navy) !important;
  --nc-orange: var(--pg-orange) !important;
  --nc-green: var(--pg-green) !important;
  --nc-charcoal: var(--pg-text-secondary) !important;
  --nc-white: var(--pg-surface) !important;
  --nc-ice: var(--pg-bg) !important;
  --nc-line: rgba(245,247,250,.12) !important;
  --nc-shadow: 0 18px 48px rgba(0,0,0,.38) !important;
  --nc-shadow-soft: 0 10px 28px rgba(0,0,0,.28) !important;
  --brand-orange: var(--pg-orange) !important;
  --bg-main: var(--pg-bg) !important;
  --bg-panel: var(--pg-surface) !important;
  --bg-soft: var(--pg-surface-2) !important;
  --green-ok: var(--pg-green) !important;
  --text-main: var(--pg-text) !important;
  --text-soft: var(--pg-text-secondary) !important;
  --line-soft: rgba(245,247,250,.12) !important;
}
html, body { background: var(--pg-bg) !important; color: var(--pg-text) !important; font-family: var(--pg-font) !important; }
body::before { background: transparent !important; }
.pg-dashboard-shell, .admin-shell, .mobile-shell, .screen-shell, .login-shell, .pg-op-shell, .dashboard-shell {
  background: radial-gradient(circle at top left, rgba(32,48,75,.55), transparent 34%), linear-gradient(180deg, #292929 0%, #1F1F1F 100%) !important;
  color: var(--pg-text) !important;
}
.pg-dashboard-header, .admin-header, .compact-header, .app-header, .header, .topbar, .navbar {
  background: rgba(31,31,31,.96) !important; color: var(--pg-text) !important; border-color: var(--pg-border) !important; box-shadow: 0 10px 28px rgba(0,0,0,.32) !important;
}
.app-brand-icon, .pg-brand-icon, .admin-brand-icon, .detail-brand-icon, .result-brand-icon, .consulta-brand-icon, .final-brand-icon, .ce-brand-icon, .retomar-brand-icon, .pg-menu-logo,
.pg-menu-btn, .pg-user-btn, .header-icon-button, .header-user-button, .back-mini, .nc-back-btn, .pg-icon-btn, .btn-icon {
  background: var(--pg-navy) !important; color: var(--pg-text) !important; border: 1px solid rgba(245,247,250,.10) !important; box-shadow: 0 10px 24px rgba(0,0,0,.28) !important; overflow: hidden !important;
}
.app-brand-icon img, .pg-brand-icon img, .admin-brand-icon img, .detail-brand-icon img, .result-brand-icon img, .consulta-brand-icon img, .final-brand-icon img, .ce-brand-icon img, .retomar-brand-icon img, .pg-menu-logo img {
  width: 100% !important; height: 100% !important; object-fit: contain !important; display: block !important;
}
h1,h2,h3,h4,h5,h6, .admin-brand-text strong, .pg-menu-title strong, .app-brand-text h1, .screen-subheader-text strong { color: var(--pg-text) !important; }
p, small, label, span, .hint, .help-text, .microcopy, .admin-brand-text span, .screen-subheader-text span, .pg-menu-title span { color: var(--pg-text-secondary) !important; }
.pallet-word, .brand-pallet, .app-brand-text .pallet-word { color: var(--pg-orange) !important; }
.go-word, .brand-go, .app-brand-text .go-word { color: var(--pg-text) !important; }
.card, .pg-card, .form-card, .login-card, .info-card, .summary-card, .macro-card, .stat-card, .dashboard-card, .filter-section, .grid-section, .table-panel, .table-wrap, .content-card, .panel, .box, .pg-box, .pg-modal, .dropdown-panel, .pg-dropdown-menu, .header-dropdown, .info-panel, .ce-card, .ce-status-card, .ce-summary-card, .ce-progress-card, .result-card, .status-card, .occurrence-card, .pg-list, .pg-list-item, .history-box, .historico-card, .empty-state, .admin-card, .nc-menu-panel, .nc-user-panel, .pg-op-card {
  background: var(--pg-surface) !important; color: var(--pg-text) !important; border: 1px solid var(--pg-border) !important; border-radius: var(--pg-radius-card) !important; box-shadow: 0 16px 40px rgba(0,0,0,.28) !important;
}
.pg-dropdown-menu a, .dropdown-panel a, .header-dropdown a, .nc-menu-panel a, .nc-user-panel a, .menu-link, .sidebar-link {
  color: var(--pg-text) !important; background: var(--pg-surface) !important; border-color: var(--pg-border) !important;
}
.pg-dropdown-menu a:hover, .dropdown-panel a:hover, .header-dropdown a:hover, .nc-menu-panel a:hover, .nc-user-panel a:hover, .menu-link:hover, .sidebar-link:hover { background: var(--pg-surface-2) !important; color: var(--pg-orange) !important; }
input, select, textarea, .input, .form-control, .pg-input, .field input, .field select, .field textarea {
  background: var(--pg-surface-2) !important; color: var(--pg-text) !important; border: 2px solid var(--pg-border) !important; border-radius: var(--pg-radius-input) !important; min-height: 48px; caret-color: var(--pg-orange) !important;
}
input::placeholder, textarea::placeholder { color: var(--pg-text-muted) !important; opacity: 1 !important; }
input:focus, select:focus, textarea:focus, .pg-input:focus, .field input:focus, .field select:focus, .field textarea:focus { outline: none !important; border-color: var(--pg-orange) !important; box-shadow: 0 0 0 4px rgba(215,121,64,.22) !important; }
button, .btn, .pg-btn, .modal-btn, .action-btn, .pg-btn-main, .pg-btn-success, .pg-btn-secondary { border-radius: var(--pg-radius-button) !important; font-weight: 800 !important; letter-spacing: .02em; min-height: 48px; }
.btn-orange, .btn-primary, .pg-btn-primary, .pg-btn-orange, button[type="submit"], .confirm-btn, .primary-action, .ce-primary-btn, .pg-btn-main { background: var(--pg-orange) !important; color: #fff !important; border: 1px solid rgba(255,255,255,.08) !important; box-shadow: 0 14px 28px rgba(215,121,64,.22) !important; }
.btn-green, .pg-btn-green, .pg-btn-success, .finalize-btn, .success-action, .ce-success-btn { background: var(--pg-green) !important; color: #fff !important; border: 1px solid rgba(255,255,255,.08) !important; box-shadow: 0 14px 28px rgba(46,202,98,.20) !important; }
.btn-blue, .pg-btn-dark, .btn-secondary, .secondary-action, .ce-secondary-btn, .pg-btn-secondary { background: var(--pg-navy) !important; color: var(--pg-text) !important; border: 1px solid rgba(245,247,250,.12) !important; }
.btn-danger, .pg-btn-danger, .danger-action { background: var(--pg-danger) !important; color: #fff !important; }
table, thead, tbody, tr, th, td { border-color: var(--pg-border) !important; }
table { background: var(--pg-surface) !important; color: var(--pg-text) !important; }
thead th, .table-header, .grid-header { background: var(--pg-navy) !important; color: var(--pg-text) !important; }
tbody tr, .table-row { background: var(--pg-surface) !important; color: var(--pg-text) !important; }
tbody tr:nth-child(even) { background: #242424 !important; }
tbody tr:hover { background: var(--pg-surface-2) !important; }
td, th, a, .oc-open-link { color: var(--pg-text) !important; }
a:hover, .oc-open-link:hover { color: var(--pg-orange) !important; }
.status-badge, .chip, .badge, .pg-chip, .ce-chip, .info-chip, .pg-status { background: var(--pg-navy) !important; color: var(--pg-text) !important; border: 1px solid rgba(245,247,250,.12) !important; border-radius: 999px !important; }
.success, .sucesso-box, .success-box, .alert-success, .pg-success, .pg-alert-success, [data-feedback-type="success"] { background: var(--pg-success-surface) !important; color: var(--pg-text) !important; border: 1px solid rgba(46,202,98,.45) !important; }
.erro-box, .error-box, .alert-error, .pg-error, .pg-alert-error, [data-feedback-type="error"] { background: var(--pg-danger-surface) !important; color: var(--pg-text) !important; border: 1px solid rgba(229,62,62,.55) !important; }
.warning, .alert-warning, .pg-alert-warning, [data-feedback-type="warning"] { background: var(--pg-warning-surface) !important; color: var(--pg-text) !important; border: 1px solid rgba(249,107,5,.55) !important; }
.pg-popup-icon, .status-dot, .bullet, .click-help { color: var(--pg-orange) !important; }
.action-footer, .fixed-actions, .bottom-actions, .pg-actions, .ce-bottom-actions { background: linear-gradient(180deg, rgba(41,41,41,.18), #292929 26%) !important; border-color: var(--pg-border) !important; }
.pg-op-shell { min-height: 100vh; }
.pg-op-content, .pg-admin-content { width: min(100%, 720px); margin: 0 auto; padding: 18px 16px 34px; display: grid; gap: 18px; }
.pg-admin-content { width: min(100%, 1100px); }
.pg-op-card { padding: 22px; }
.pg-op-card-small { padding: 18px; }
.pg-eyebrow { display: inline-flex; color: var(--pg-orange) !important; text-transform: uppercase; font-weight: 900; font-size: 12px; letter-spacing: .08em; margin-bottom: 10px; }
.pg-muted { color: var(--pg-text-secondary) !important; }
.pg-form-stack { display: grid; gap: 12px; margin-top: 16px; }
.pg-form-stack input, .pg-form-stack textarea { width: 100%; padding: 16px; font-size: 16px; }
.pg-form-stack button, .pg-btn-main, .pg-btn-success, .pg-btn-secondary { width: 100%; padding: 16px; text-align: center; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; }
.pg-kpi-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin: 16px 0; }
.pg-kpi-grid div { background: var(--pg-surface-2); border: 1px solid var(--pg-border); border-radius: 18px; padding: 12px; }
.pg-kpi-grid strong { display: block; color: var(--pg-text) !important; font-size: 20px; }
.pg-kpi-grid span { display: block; font-size: 12px; }
.pg-list-cards { display: grid; gap: 10px; margin-top: 12px; }
.pg-list-card { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px; background: var(--pg-surface-2); border: 1px solid var(--pg-border); border-radius: 18px; text-decoration: none; }
.pg-list-card strong { color: var(--pg-text) !important; display: block; }
.pg-list-card span { display: block; font-size: 13px; }
.pg-list-card-static { cursor: default; }
.pg-chip-row { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.pg-chip-row span { background: var(--pg-navy); color: var(--pg-text) !important; border-radius: 999px; padding: 8px 10px; font-size: 12px; font-weight: 800; }
.pg-alert { padding: 12px 14px; border-radius: 16px; margin: 12px 0; font-weight: 800; }
.pg-mode-grid { display: grid; gap: 14px; margin-top: 18px; }
.pg-mode-card { padding: 18px; border-radius: 20px; background: var(--pg-surface-2); border: 1px solid var(--pg-border); text-decoration: none; display: grid; gap: 6px; }
.pg-mode-card strong { color: var(--pg-text) !important; font-size: 20px; }
.pg-mode-card-orange { border-color: rgba(215,121,64,.55); }
.pg-back-link { display: inline-flex; margin-bottom: 12px; text-decoration: none; font-weight: 900; }
.pg-mt { margin-top: 14px; }
.pg-table-wrap { overflow-x: auto; }
.pg-table { min-width: 760px; }
@media (max-width: 700px) { .pg-kpi-grid { grid-template-columns: 1fr; } .pg-op-content { padding-left: 12px; padding-right: 12px; } }


/* =========================================================
   PalletGo V4.2 - Temas visuais parametrizáveis
   Parâmetro: tema_visual
   Valores aceitos:
   - PALLETGO_DARK
   - OPERACIONAL_GREEN
   - CORPORATIVO_BLUE
   ========================================================= */
body.pg-theme-palletgo_dark,
body.pg-theme-palletgo-dark {
  --pg-bg: #292929;
  --pg-surface: #1F1F1F;
  --pg-surface-2: #2E2E2E;
  --pg-border: #404040;
  --pg-navy: #20304B;
  --pg-orange: #D77940;
  --pg-orange-alert: #F96B05;
  --pg-green: #2ECA62;
  --pg-success-surface: #2D4534;
  --pg-text: #F5F7FA;
  --pg-text-secondary: #C8CDD4;
  --pg-text-muted: #949AA3;
}

body.pg-theme-operacional_green,
body.pg-theme-operacional-green {
  --pg-bg: #13251A;
  --pg-surface: #1B3323;
  --pg-surface-2: #24472F;
  --pg-border: #3A6547;
  --pg-navy: #1F3D2A;
  --pg-orange: #D77940;
  --pg-orange-alert: #F96B05;
  --pg-green: #2ECA62;
  --pg-success-surface: #24472F;
  --pg-text: #F5FFF8;
  --pg-text-secondary: #CFE8D6;
  --pg-text-muted: #9FC0AA;
}

body.pg-theme-corporativo_blue,
body.pg-theme-corporativo-blue {
  --pg-bg: #172033;
  --pg-surface: #20304B;
  --pg-surface-2: #2B3E5F;
  --pg-border: #435A80;
  --pg-navy: #20304B;
  --pg-orange: #D77940;
  --pg-orange-alert: #F96B05;
  --pg-green: #2ECA62;
  --pg-success-surface: #223E37;
  --pg-text: #F5F7FA;
  --pg-text-secondary: #D6DEEA;
  --pg-text-muted: #A8B4C7;
}

/* Garante que as variáveis antigas acompanhem o tema escolhido */
body.pg-theme-palletgo_dark,
body.pg-theme-operacional_green,
body.pg-theme-corporativo_blue,
body.pg-theme-palletgo-dark,
body.pg-theme-operacional-green,
body.pg-theme-corporativo-blue {
  --nc-navy: var(--pg-navy) !important;
  --nc-orange: var(--pg-orange) !important;
  --nc-green: var(--pg-green) !important;
  --nc-charcoal: var(--pg-text-secondary) !important;
  --nc-white: var(--pg-surface) !important;
  --nc-ice: var(--pg-bg) !important;
  --nc-line: rgba(245, 247, 250, .12) !important;
  --brand-orange: var(--pg-orange) !important;
  --bg-main: var(--pg-bg) !important;
  --bg-panel: var(--pg-surface) !important;
  --bg-soft: var(--pg-surface-2) !important;
  --green-ok: var(--pg-green) !important;
  --text-main: var(--pg-text) !important;
  --text-soft: var(--pg-text-secondary) !important;
}

/* Status operacional da carga ERP */
.pg-erp-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  padding: 8px 12px;
  border-radius: 999px;
  font-weight: 800;
  font-size: 13px;
  border: 1px solid var(--pg-border);
  background: var(--pg-surface-2);
  color: var(--pg-text);
}

.pg-erp-status-aberta,
.pg-erp-status-aberto,
.pg-erp-status-em_aberto {
  border-color: rgba(249, 107, 5, .55) !important;
  background: rgba(249, 107, 5, .16) !important;
}

.pg-erp-status-fechada,
.pg-erp-status-fechado,
.pg-erp-status-liberada,
.pg-erp-status-liberado {
  border-color: rgba(46, 202, 98, .55) !important;
  background: rgba(46, 202, 98, .16) !important;
}


/* V4.3 - Login PalletGo */
.login-shell {
  background:
    radial-gradient(circle at top left, rgba(32, 48, 75, 0.55), transparent 34%),
    radial-gradient(circle at bottom right, rgba(215, 121, 64, 0.16), transparent 30%),
    linear-gradient(180deg, var(--pg-bg, #292929) 0%, var(--pg-surface, #1F1F1F) 100%) !important;
  color: var(--pg-text, #F5F7FA) !important;
}

.login-screen-content {
  background: rgba(31, 31, 31, 0.96) !important;
  border: 1px solid var(--pg-border, #404040) !important;
  box-shadow: 0 18px 44px rgba(0,0,0,.34) !important;
}

.login-main-title .pallet-word { color: var(--pg-orange, #D77940) !important; }
.login-main-title .go-word { color: var(--pg-text, #F5F7FA) !important; }
.login-subtitle, .remember-user-subtitle, .screen-field-block label { color: var(--pg-text-secondary, #C8CDD4) !important; }
.remember-user-title { color: var(--pg-text, #F5F7FA) !important; }

.login-submit-btn {
  background: linear-gradient(135deg, var(--pg-orange, #D77940) 0%, var(--pg-orange-alert, #F96B05) 100%) !important;
  color: #FFFFFF !important;
}

.login-brand-square {
  background: #FFFFFF !important;
  border: 1px solid rgba(245,247,250,.16) !important;
}

/* =========================================================
   PalletGo V4.4.1 - Responsividade operacional e logos
   ========================================================= */
.pg-logo,
.pg-logo-sm,
.pg-logo-md,
.pg-logo-dashboard,
.app-brand-icon,
.pg-brand-icon,
.admin-brand-icon,
.detail-brand-icon,
.result-brand-icon,
.consulta-brand-icon,
.final-brand-icon,
.ce-brand-icon,
.retomar-brand-icon,
.pg-menu-logo {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}
.pg-logo img,
.pg-logo-sm img,
.pg-logo-md img,
.pg-logo-dashboard img,
.app-brand-icon img,
.pg-brand-icon img,
.admin-brand-icon img,
.detail-brand-icon img,
.result-brand-icon img,
.consulta-brand-icon img,
.final-brand-icon img,
.ce-brand-icon img,
.retomar-brand-icon img,
.pg-menu-logo img,
.pg-client-logo-frame img,
.logo-preview img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  display: block !important;
}
.pg-logo-sm,
.app-brand-icon,
.pg-brand-icon,
.final-brand-icon,
.ce-brand-icon,
.retomar-brand-icon {
  width: clamp(38px, 9vw, 48px) !important;
  height: clamp(38px, 9vw, 48px) !important;
  min-width: clamp(38px, 9vw, 48px) !important;
  border-radius: 14px !important;
}
.pg-logo-md,
.admin-brand-icon,
.detail-brand-icon,
.result-brand-icon,
.consulta-brand-icon,
.pg-menu-logo {
  width: clamp(44px, 7vw, 60px) !important;
  height: clamp(44px, 7vw, 60px) !important;
  min-width: clamp(44px, 7vw, 60px) !important;
  border-radius: 16px !important;
}
.pg-logo-dashboard,
.pg-client-logo-frame {
  width: min(100%, 220px) !important;
  height: clamp(90px, 20vw, 150px) !important;
  padding: 14px !important;
}
.pg-dashboard-header,
.compact-header,
.app-header,
.header-with-actions,
.pg-header-left,
.pg-header-right {
  min-width: 0 !important;
}
.pg-dashboard-header,
.compact-header {
  padding-top: max(8px, env(safe-area-inset-top)) !important;
  padding-bottom: 8px !important;
}
.pg-brand-title,
.app-brand-text,
.admin-brand-text,
.pg-menu-title,
.screen-subheader-text {
  min-width: 0 !important;
}
.pg-brand-title strong,
.app-brand-text h1,
.admin-brand-text strong {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.pg-op-content,
.screen-content.narrow-content {
  width: min(100%, 760px) !important;
  padding: clamp(10px, 2.8vw, 18px) clamp(10px, 3vw, 18px) calc(24px + env(safe-area-inset-bottom)) !important;
  gap: clamp(12px, 2.5vw, 18px) !important;
}
.pg-op-card,
.card,
.panel,
.form-card,
.result-card,
.summary-card,
.history-card {
  border-radius: clamp(16px, 4vw, 24px) !important;
}
.pg-op-card {
  padding: clamp(16px, 4.5vw, 24px) !important;
}
.pg-form-stack {
  gap: 12px !important;
}
.pg-form-stack input,
.pg-form-stack textarea,
.scan-input,
input[name="codigo_volume"],
input[name="ordem_carga"],
input[name="numero_nf"],
input[name="codigo_lido"],
input[name="codbarraprimario"],
input[name="codigo_uma"] {
  min-height: clamp(58px, 14vw, 76px) !important;
  font-size: clamp(18px, 5vw, 24px) !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
  letter-spacing: .02em !important;
  border-radius: 18px !important;
}
.pg-form-stack button,
.pg-card-btn,
.pg-btn-main,
.pg-btn-success,
.pg-btn-secondary,
.action-btn,
.primary-action,
.secondary-action,
.finalize-btn,
button[type="submit"] {
  min-height: clamp(56px, 13vw, 76px) !important;
  font-size: clamp(15px, 4vw, 18px) !important;
  border-radius: 20px !important;
  touch-action: manipulation !important;
}
.pg-actions,
.pg-mode-grid,
.pg-list-cards,
.pg-chip-row,
.pg-kpi-grid {
  width: 100% !important;
}
.pg-card-btn,
.pg-mode-card,
.pg-list-card {
  min-width: 0 !important;
}
.pg-card-text,
.pg-card-text strong,
.pg-card-text span,
.pg-list-card div,
.pg-list-card strong,
.pg-list-card span {
  min-width: 0 !important;
}
.pg-chip-row {
  gap: 8px !important;
}
.pg-chip-row span,
.status-badge,
.chip,
.badge,
.pg-chip,
.pg-status {
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
}
.pg-table-wrap,
.table-wrap,
.admin-table-wrap {
  width: 100% !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
}
.pg-modal-overlay,
.modal-overlay {
  padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom)) !important;
}
.pg-modal,
.pg-global-modal,
.modal-box {
  width: min(100%, 420px) !important;
  max-height: calc(100dvh - 24px) !important;
  overflow-y: auto !important;
  border-radius: 22px !important;
}
.pg-global-modal h3,
.pg-global-modal p,
.modal-box h3,
.modal-box p {
  overflow-wrap: anywhere !important;
}
@media (max-width: 520px) {
  .pg-dashboard-shell,
  .pg-op-shell,
  .mobile-shell,
  .screen-shell {
    width: 100% !important;
    max-width: none !important;
    min-height: 100dvh !important;
  }
  .pg-dashboard-header,
  .compact-header {
    gap: 8px !important;
  }
  .pg-user-meta,
  .pg-brand-title span,
  .app-brand-text span {
    display: none !important;
  }
  .pg-card-btn {
    min-height: 78px !important;
    padding: 14px !important;
  }
  .pg-card-play {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
  }
  .pg-kpi-grid {
    grid-template-columns: 1fr !important;
  }
}
@media (min-width: 900px) {
  .pg-op-content {
    width: min(100%, 860px) !important;
  }
  .pg-admin-content,
  .admin-content,
  .dashboard-main {
    width: min(100%, 1180px) !important;
  }
}
