:root {
  --app-ink: #1c2940;
  --app-muted: #7b879b;
  --app-line: #e9edf4;
  --app-bg: #f6f8fc;
  --app-blue: #4368e8;
  --app-blue-dark: #3155d6;
  --app-green: #16a576;
  --app-shadow: 0 8px 30px rgba(27, 48, 88, .045);
  --app-sidebar-width: 252px;
}

body.app-shell-page {
  min-height: 100vh;
  margin: 0;
  color: var(--app-ink);
  background: var(--app-bg);
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
}
body.app-shell-page * { box-sizing: border-box; }
body.app-shell-page button,
body.app-shell-page input,
body.app-shell-page select,
body.app-shell-page textarea { font-family: inherit; }
.app-layout { min-height: 100vh; }
.app-sidebar {
  position: fixed;
  z-index: 1050;
  inset: 0 auto 0 0;
  display: flex;
  flex-direction: column;
  width: var(--app-sidebar-width);
  padding: 22px 15px 16px;
  overflow-y: auto;
  background: #fff;
  border-right: 1px solid var(--app-line);
}
.app-brand {
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 48px;
  padding: 0 8px 20px;
  color: var(--app-ink);
  text-decoration: none;
  border-bottom: 1px solid var(--app-line);
}
.app-brand img { width: 38px; height: 38px; object-fit: contain; }
.app-brand strong { display: block; font: 800 15px 'Manrope', sans-serif; letter-spacing: -.25px; }
.app-brand small { display: block; margin-top: 3px; color: #909bad; font-size: 10px; }
.app-navigation { display: grid; gap: 4px; padding-top: 22px; }
.app-nav-label { padding: 13px 11px 6px; color: #a2adbf; font-size: 10px; font-weight: 700; letter-spacing: 1px; }
.app-nav-link {
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 41px;
  padding: 0 11px;
  color: #6b7890;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  border-radius: 9px;
  transition: color .16s ease, background .16s ease;
}
.app-nav-link:hover { color: var(--app-blue); background: #f6f8fd; }
.app-nav-link.is-active { color: #3d5fd9; background: #edf1ff; }
.app-nav-icon { display: grid; flex: 0 0 24px; width: 24px; height: 24px; place-items: center; color: #98a4b8; font-size: 17px; }
.app-nav-link.is-active .app-nav-icon { color: #3d5fd9; }
.app-sidebar-bottom { display: grid; gap: 12px; margin-top: auto; padding-top: 18px; }
.app-sidebar-note { display: flex; align-items: center; gap: 9px; padding: 11px 10px; border: 1px solid var(--app-line); border-radius: 10px; }
.app-sidebar-note strong, .app-sidebar-note small { display: block; }
.app-sidebar-note strong { font-size: 11px; }
.app-sidebar-note small { margin-top: 3px; color: var(--app-muted); font-size: 10px; }
.app-status-dot { width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: #16a576; box-shadow: 0 0 0 3px #e7f8f0; }
.app-logout { min-height: 38px; padding: 0 10px; color: #78859a; text-align: left; background: transparent; border: 0; border-radius: 8px; cursor: pointer; }
.app-logout:hover { color: #c54b54; background: #fff3f3; }
.app-logout span { margin-right: 7px; font-size: 17px; }
.app-main { min-height: 100vh; margin-left: var(--app-sidebar-width); }
.app-topbar {
  position: sticky;
  z-index: 100;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 64px;
  padding: 0 clamp(20px, 3vw, 42px);
  background: rgba(255, 255, 255, .94);
  border-bottom: 1px solid var(--app-line);
  backdrop-filter: blur(12px);
}
.app-breadcrumb { color: #8b97aa; font-size: 12px; }
.app-breadcrumb-separator { padding: 0 9px; color: #c2cad6; }
.app-breadcrumb strong { color: #44536b; font-weight: 600; }
.app-topbar-meta { display: flex; align-items: center; gap: 14px; color: #738098; font-size: 11px; }
.app-user-avatar { display: grid; width: 31px; height: 31px; place-items: center; color: #4965ce; font-size: 11px; font-weight: 700; background: #e1e9ff; border-radius: 50%; }
.app-menu-toggle { display: none; color: #52627c; background: transparent; border: 0; font-size: 20px; cursor: pointer; }
.app-heading { display: flex; align-items: center; justify-content: space-between; max-width: 1480px; margin: 0 auto; padding: 30px clamp(20px, 3vw, 42px) 7px; }
.app-heading p { margin: 0 0 7px; color: #a2adbf; font-size: 10px; font-weight: 700; letter-spacing: 1.1px; }
.app-heading h1 { margin: 0; color: var(--app-ink); font: 700 26px 'Manrope', sans-serif; letter-spacing: -.7px; }
.app-heading > div > span { display: block; margin-top: 7px; color: var(--app-muted); font-size: 12px; }
.app-content { max-width: 1480px; margin: 0 auto; padding: 15px clamp(20px, 3vw, 42px) 28px; }
body.app-shell-page #panel.app-legacy-panel { width: 100%; margin: 0 !important; padding: 0 !important; }
body.app-shell-page #panel > .container-fluid { padding: 0 !important; }
body.app-shell-page #panel .card {
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--app-line);
  border-radius: 13px;
  box-shadow: var(--app-shadow);
}
body.app-shell-page #panel .card-header {
  padding: 16px 20px;
  color: var(--app-ink) !important;
  background: #fff !important;
  border-bottom: 1px solid #f0f2f6;
}
body.app-shell-page #panel > .container-fluid > .card > .card-header h1,
body.app-shell-page #panel > .container-fluid > .card > .card-header h2,
body.app-shell-page #panel > .container-fluid > .card > .card-header h3,
body.app-shell-page #panel > .container-fluid > .card > .card-header h4,
body.app-shell-page #panel > .container-fluid > .card > .card-header h5,
body.app-shell-page #panel > .container-fluid > .card > .card-header h6 { margin: 0; color: var(--app-ink) !important; font: 700 14px 'Manrope', sans-serif; }
body.app-shell-page #panel .card-body { padding: 20px; font-family: 'DM Sans', sans-serif; }
body.app-shell-page #panel .card .card { border-radius: 11px; box-shadow: 0 4px 18px rgba(27, 48, 88, .035); }
body.app-shell-page #panel .form-control,
body.app-shell-page #panel select.form-control,
body.app-shell-page #panel .form-select { min-height: 40px; color: #44536b; background-color: #fff; border: 1px solid #dfe5ef; border-radius: 8px; box-shadow: none; }
body.app-shell-page #panel textarea.form-control { min-height: 88px; }
body.app-shell-page #panel .form-control:focus,
body.app-shell-page #panel .form-select:focus { border-color: #9aacfb; box-shadow: 0 0 0 3px rgba(67, 104, 232, .1); }
body.app-shell-page #panel .form-control-label,
body.app-shell-page #panel label { color: #586780; font-size: 11px; font-weight: 600; }
body.app-shell-page #panel .btn { min-height: 38px; padding: 9px 14px; border-radius: 8px; font-size: 12px; font-weight: 600; box-shadow: none; }
body.app-shell-page #panel .btn-primary,
body.app-shell-page #panel .bg-primary { color: #fff; background-color: var(--app-blue) !important; border-color: var(--app-blue) !important; }
body.app-shell-page #panel .btn-primary:hover { background: var(--app-blue-dark) !important; }
body.app-shell-page #panel .table { color: #52617a; }
body.app-shell-page #panel .table thead th { padding: 12px 10px; color: #8794a9; font-size: 10px; font-weight: 700; letter-spacing: .45px; border-bottom: 1px solid var(--app-line); }
body.app-shell-page #panel .table tbody td { padding: 12px 10px; vertical-align: middle; border-color: #f0f2f6; }
body.app-shell-page #panel .footer { padding: 17px 0 0; color: var(--app-muted); font-size: 11px; }
.app-scrim { display: none; }

@media (max-width: 900px) {
  :root { --app-sidebar-width: 230px; }
  .app-content { padding-right: 20px; padding-left: 20px; }
  .app-heading { padding-right: 20px; padding-left: 20px; }
  .app-topbar { padding-right: 20px; padding-left: 20px; }
}
@media (max-width: 700px) {
  .app-sidebar { z-index: 1200; width: 260px; transform: translateX(-102%); transition: transform .22s ease; box-shadow: none; }
  body.app-menu-open .app-sidebar { transform: translateX(0); box-shadow: 12px 0 35px rgba(27, 48, 88, .12); }
  .app-main { margin-left: 0; }
  .app-menu-toggle { display: block; }
  .app-topbar { justify-content: flex-start; gap: 12px; height: 58px; }
  .app-topbar-meta { margin-left: auto; }
  .app-breadcrumb { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .app-heading { padding-top: 23px; }
  .app-heading h1 { font-size: 22px; }
  .app-content { padding: 12px 14px 22px; }
  body.app-shell-page #panel .card-header,
  body.app-shell-page #panel .card-body { padding: 15px; }
  .app-scrim { position: fixed; z-index: 1150; inset: 0; background: rgba(22, 34, 55, .32); border: 0; }
  body.app-menu-open .app-scrim { display: block; }
}

.app-footer { max-width: 1480px; margin: 0 auto; padding: 7px clamp(20px, 3vw, 42px) 20px; color: var(--app-muted); font-size: 11px; }
@media (max-width: 700px) { .app-footer { padding-right: 14px; padding-left: 14px; } }

/* O título da página já aparece no cabeçalho do shell; oculta o título repetido do cartão principal. */
body.app-shell-page #panel > .container-fluid > .card > .card-header {
  display: none;
}

.notice-modal { overflow: hidden; border: 0; border-radius: 18px; box-shadow: 0 24px 70px rgba(24, 40, 75, .2); }
.notice-modal .modal-header { padding: 23px 26px 17px; border-bottom: 1px solid var(--app-line); }
.notice-modal .modal-title { margin-top: 4px; color: var(--app-ink); font: 700 21px 'Manrope', sans-serif; }
.notice-kicker { color: #8592a9; font-size: 10px; font-weight: 700; letter-spacing: 1.1px; }
.notice-modal .modal-body { display: grid; gap: 20px; padding: 22px 26px; }
.notice-section h3 { margin: 0; color: var(--app-ink); font: 700 16px 'Manrope', sans-serif; }
.notice-section-overdue h3 strong { color: #d44c55; }
.notice-help { margin: 6px 0 12px; color: var(--app-muted); font-size: 12px; }
.notice-list { display: grid; gap: 8px; }
.notice-item { padding: 12px 14px; background: #f8f9fc; border: 1px solid #edf0f5; border-radius: 10px; }
.notice-section-overdue .notice-item { background: #fffafa; border-color: #f5e5e5; }
.notice-item strong { display: block; color: var(--app-ink); font-size: 13px; }
.notice-item p { margin: 4px 0 2px; color: #68758b; font-size: 11px; }
.notice-item span { color: #8a96a9; font-size: 11px; }
.notice-item .notice-item-question { color: #b35b48; }
.notice-modal .modal-footer { padding: 15px 26px 22px; border-top: 1px solid var(--app-line); }
.personal-pendencies-intro { margin: 0 0 14px; color: var(--app-muted); }
.personal-pendencies-auth { max-width: 470px; }
.personal-pendencies-auth label { display: block; margin-bottom: 6px; color: #586780; font-size: 12px; font-weight: 600; }
.personal-pendencies-name { margin: 0 0 16px; color: var(--app-ink); font: 700 16px 'Manrope', sans-serif; }
.personal-pendencies-tabs { gap: 8px; border-bottom: 1px solid var(--app-line); }
.personal-pendencies-tabs .nav-link { color: #68758b; background: transparent; }
.personal-pendencies-tabs .nav-link.active { color: #fff; background: var(--app-blue); }
.personal-pendencies-tabs .nav-link span { display: inline-grid; min-width: 21px; height: 21px; margin-left: 5px; place-items: center; color: inherit; font-size: 11px; background: rgba(110, 125, 150, .13); border-radius: 12px; }
.personal-pendencies-tabs .nav-link.active span { background: rgba(255, 255, 255, .2); }
.personal-pendency-list { display: grid; gap: 10px; }
.personal-pendency-item { padding: 15px 17px; background: #fff; border: 1px solid var(--app-line); border-radius: 11px; box-shadow: 0 4px 16px rgba(27, 48, 88, .035); }
.personal-pendency-item-header { display: flex; justify-content: space-between; gap: 12px; color: #718098; font-size: 11px; text-transform: capitalize; }
.personal-pendency-item-header strong { color: var(--app-blue); }
.personal-pendency-item h3 { margin: 9px 0 4px; color: var(--app-ink); font: 700 14px 'Manrope', sans-serif; }
.personal-pendency-item p { margin: 3px 0; color: #78859a; font-size: 11px; }
.personal-pendency-item .personal-pendency-counterpart { color: #53627a; font-weight: 600; }
.personal-pendency-empty { padding: 25px; color: var(--app-muted); text-align: center; background: #f8f9fc; border-radius: 10px; }
@media (max-width: 575px) {
  .notice-modal .modal-header, .notice-modal .modal-body { padding-right: 18px; padding-left: 18px; }
  .notice-modal .modal-footer { display: grid; padding-right: 18px; padding-left: 18px; }
  .notice-modal .modal-footer .btn { width: 100%; }
  .personal-pendencies-tabs { flex-direction: column; }
  .personal-pendencies-tabs .nav-link { width: 100%; text-align: left; }
}

.notice-modal-dialog { max-width: 1080px; }
.notice-modal .modal-body { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 16px; }
.notice-section { min-width: 0; padding: 16px; background: #f8faff; border: 1px solid #dfe7fb; border-radius: 14px; }
.notice-section-overdue { background: #fff0ed; border: 2px solid #e45b4d; box-shadow: 0 6px 20px rgba(196, 55, 44, .12); }
.notice-section-overdue h3 { color: #9e2823; }
.notice-section-overdue h3 strong { display: inline-grid; min-width: 28px; height: 28px; margin: 0 2px; place-items: center; color: #fff; background: #c7362e; border-radius: 50%; }
.notice-section-overdue .notice-help { color: #9e4038; }
.notice-section-overdue .notice-item { background: #fff; border-color: #edb2aa; }
.notice-section-overdue .notice-item strong { color: #77241f; }
.notice-item { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.notice-item > div { min-width: 0; }
.notice-confirm-receipt { flex: 0 0 auto; color: #fff; background: #198754; border-color: #198754; }
.notice-confirm-receipt:hover { color: #fff; background: #146c43; border-color: #146c43; }
.notice-action-feedback { grid-column: 1 / -1; padding: 10px 13px; border-radius: 9px; font-size: 12px; }
.notice-action-feedback.is-success { color: #12613d; background: #e8f7ef; border: 1px solid #b8e5cb; }
.notice-action-feedback.is-error { color: #8e211a; background: #fff0ed; border: 1px solid #efb5ae; }
@media (max-width: 767px) {
  .notice-modal .modal-body { grid-template-columns: 1fr; }
  .notice-item { align-items: stretch; flex-direction: column; }
  .notice-confirm-receipt { width: 100%; }
}
.notice-list-more { padding: 12px; color: #586780; background: #fff; border: 1px dashed #c7d2e8; border-radius: 9px; font-size: 11px; }
.notice-confirm-receipt:disabled { opacity: .7; cursor: wait; }
.notice-section.is-full-width { grid-column: 1 / -1; }
.personal-pendencies-auth .input-group { align-items: stretch; }
.personal-pendencies-auth .input-group > .form-control,
.personal-pendencies-auth .input-group > .btn { height: 44px; min-height: 44px; }
.personal-pendencies-auth .input-group > .btn { display: inline-flex; align-items: center; justify-content: center; }
.personal-pendency-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 6px 18px; }
.personal-pendency-item > .personal-pendency-item-header,
.personal-pendency-item > .personal-pendency-product,
.personal-pendency-item > .personal-pendency-route,
.personal-pendency-item > .personal-pendency-date,
.personal-pendency-item > .personal-pendency-counterpart,
.personal-pendency-item > .personal-pendency-timing,
.personal-pendency-item > .personal-pendency-reason { grid-column: 1; }
.personal-pendency-item > .personal-pendency-actions { grid-column: 2; grid-row: 1 / span 7; display: flex; align-items: flex-end; flex-direction: column; gap: 8px; min-width: 170px; }
.personal-pendency-item.is-within { background: #fffbea; border-color: #efd77e; }
.personal-pendency-item.is-overdue { background: #fff0ed; border-color: #e45b4d; }
.personal-pendency-item.is-overdue .personal-pendency-status { color: #fff; background: #c7362e; }
.personal-pendency-item.is-within .personal-pendency-status { color: #71570a; background: #ffed9e; }
.personal-pendency-status { padding: 5px 9px; border-radius: 20px; font-size: 10px; font-weight: 700; }
.personal-pendency-item-header { align-items: center; }
.personal-pendency-actions .btn { min-width: 150px; }
.personal-pendency-actions .is-waiting { color: #738098; background: #f0f2f5; border-color: #dce1e8; }
.personal-pendency-timing { font-size: 10px !important; font-weight: 700; }
.personal-pendency-timing.overdue { color: #a92b23 !important; }
.personal-pendency-timing.within { color: #80650f !important; }
.personal-pendency-reason { display: flex; flex-wrap: wrap; gap: 4px; padding: 8px 10px; color: #725a0b; background: #fff3bd; border-radius: 8px; font-size: 11px; }
.personal-pendency-reason small { flex-basis: 100%; color: #8b7b4a; }
.personal-pendency-item.is-overdue .personal-pendency-reason { color: #8a382f; background: #ffe0db; }
.personal-action-modal { overflow: hidden; border: 0; border-radius: 16px; box-shadow: 0 20px 60px rgba(24, 40, 75, .2); }
.personal-action-modal .modal-header { border-bottom: 1px solid var(--app-line); }
.personal-action-modal .modal-title { margin-top: 4px; color: var(--app-ink); font: 700 20px 'Manrope', sans-serif; }
.resolve-transfer-summary { display: grid; gap: 5px; margin-bottom: 18px; padding: 13px 15px; background: #f7f9fd; border: 1px solid var(--app-line); border-radius: 10px; }
.resolve-transfer-summary strong { color: var(--app-ink); }
.resolve-transfer-summary span, .resolve-step-help { color: var(--app-muted); font-size: 12px; }
.notice-section-return { background: #fff6d9; border: 2px solid #e8bd45; box-shadow: 0 6px 20px rgba(169, 126, 10, .1); }
.notice-section-return h3 { color: #74550c; }
.notice-section-return h3 strong { color: #674a06; }
.notice-section-return .notice-help { color: #806518; }
.notice-section-return .notice-item { background: #fffdf6; border-color: #e8cd79; }
@media (max-width: 767px) {
  .personal-pendency-item { grid-template-columns: 1fr; }
  .personal-pendency-item > .personal-pendency-item-header,
  .personal-pendency-item > .personal-pendency-product,
  .personal-pendency-item > .personal-pendency-route,
  .personal-pendency-item > .personal-pendency-date,
  .personal-pendency-item > .personal-pendency-counterpart,
  .personal-pendency-item > .personal-pendency-timing,
  .personal-pendency-item > .personal-pendency-reason,
  .personal-pendency-item > .personal-pendency-actions { grid-column: 1; grid-row: auto; }
  .personal-pendency-item > .personal-pendency-actions { align-items: stretch; min-width: 0; }
}

/* Dashboard operacional compartilhada */
.operational-dashboard { display: grid; gap: 18px; }
.dashboard-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding: 6px 0 2px; }
.dashboard-eyebrow { color: #98a4b8; font-size: 10px; font-weight: 700; letter-spacing: 1px; }
.dashboard-toolbar p { margin: 5px 0 0; color: var(--app-muted); font-size: 12px; }
.dashboard-filters { display: flex; align-items: end; flex-wrap: wrap; gap: 10px; }
.dashboard-filters label { display: grid; gap: 5px; color: #64728a; font-size: 10px; font-weight: 700; }
.dashboard-filters .form-select, .dashboard-filters .form-control { min-width: 145px; min-height: 39px; border-color: #e0e6f0; border-radius: 8px; font-size: 12px; }
.dashboard-date-filter[hidden] { display: none; }
.dashboard-kpis { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.dashboard-kpi, .dashboard-panel { min-width: 0; padding: 17px 19px; background: #fff; border: 1px solid var(--app-line); border-radius: 13px; box-shadow: var(--app-shadow); }
.dashboard-kpi { display: grid; gap: 8px; }
.dashboard-kpi span { color: #7b879b; font-size: 11px; font-weight: 600; }
.dashboard-kpi strong { color: var(--app-ink); font: 800 27px 'Manrope', sans-serif; }
.dashboard-kpi small { color: #9aa5b7; font-size: 10px; }
.dashboard-kpi-alert { background: #fff7f5; border-color: #f2c8c2; }
.dashboard-kpi-alert strong { color: #c7362e; }
.dashboard-chart-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .85fr); gap: 16px; }
.dashboard-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 15px; }
.dashboard-panel-heading h2 { margin: 0; color: var(--app-ink); font: 700 15px 'Manrope', sans-serif; }
.dashboard-panel-heading p { margin: 5px 0 0; color: var(--app-muted); font-size: 11px; }
.dashboard-trend { min-height: 230px; display: grid; place-items: center; color: var(--app-muted); font-size: 12px; }
.dashboard-trend svg { display: block; width: 100%; height: 230px; overflow: visible; }
.dashboard-store-chart { display: flex; align-items: center; gap: 22px; min-height: 230px; }
.dashboard-donut { display: grid; flex: 0 0 174px; width: 174px; height: 174px; place-items: center; background: #edf0f6; border-radius: 50%; position: relative; }
.dashboard-donut::before { content: ''; position: absolute; inset: 24px; background: #fff; border-radius: 50%; }
.dashboard-donut span { z-index: 1; color: var(--app-ink); font: 800 24px 'Manrope', sans-serif; }
#dashboardStoreLegend { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
#dashboardStoreLegend li { display: grid; grid-template-columns: 9px minmax(75px, 1fr) auto; align-items: center; gap: 8px; color: #65728a; font-size: 11px; }
#dashboardStoreLegend i { width: 8px; height: 8px; border-radius: 50%; }
#dashboardStoreLegend strong { color: var(--app-ink); font-size: 11px; }
.dashboard-products { display: grid; gap: 12px; }
.dashboard-product-row { display: grid; grid-template-columns: 30px minmax(0, 1fr); align-items: center; gap: 10px; }
.dashboard-product-rank { color: #a0abc0; font: 700 12px 'Manrope', sans-serif; }
.dashboard-product-info { min-width: 0; }
.dashboard-product-heading { display: flex; justify-content: space-between; gap: 14px; margin-bottom: 6px; }
.dashboard-product-heading strong { overflow: hidden; color: #34435d; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-product-heading span { flex: 0 0 auto; color: #8894a8; font-size: 10px; }
.dashboard-product-track { height: 5px; overflow: hidden; background: #eef1f7; border-radius: 8px; }
.dashboard-product-track i { display: block; height: 100%; background: linear-gradient(90deg, #5474ed, #7d91f2); border-radius: inherit; }
.dashboard-overdue-panel { padding: 0; overflow: hidden; }
.dashboard-overdue-panel .dashboard-panel-heading { padding: 18px 20px 14px; margin: 0; }
.dashboard-overdue-total { padding: 6px 10px; color: #a52e26; background: #fff0ed; border: 1px solid #f2c1ba; border-radius: 20px; font-size: 10px; font-weight: 700; white-space: nowrap; }
.dashboard-table-wrap { overflow-x: auto; }
.dashboard-table { width: 100%; border-collapse: collapse; }
.dashboard-table th { padding: 10px 13px; color: #929db0; text-align: left; font-size: 9px; letter-spacing: .45px; text-transform: uppercase; border-top: 1px solid #f0f2f6; border-bottom: 1px solid #f0f2f6; }
.dashboard-table td { padding: 12px 13px; color: #59677e; font-size: 11px; border-bottom: 1px solid #f1f3f7; }
.dashboard-table tbody tr:last-child td { border-bottom: 0; }
.dashboard-table tbody tr:hover { background: #fff9f7; }
.dashboard-table td:first-child { color: #c13a32; font-weight: 700; }
.dashboard-product-cell strong, .dashboard-product-cell small, .dashboard-table td:last-child small { display: block; }
.dashboard-product-cell strong { color: #33415a; font-size: 11px; }
.dashboard-product-cell small, .dashboard-table td:last-child small { margin-top: 4px; color: #8c98ac; font-size: 10px; }
.dashboard-status-badge { display: inline-block; padding: 4px 7px; color: #a32e27; background: #fff0ed; border-radius: 20px; font-size: 9px; font-weight: 700; }
.dashboard-error { padding: 13px 15px; color: #982e27; background: #fff0ed; border: 1px solid #f0c0b9; border-radius: 9px; font-size: 12px; }
@media (max-width: 1100px) {
  .dashboard-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .dashboard-chart-grid { grid-template-columns: 1fr; }
  .dashboard-store-chart { justify-content: center; }
}
@media (max-width: 700px) {
  .dashboard-toolbar { align-items: stretch; flex-direction: column; }
  .dashboard-filters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-filters label { min-width: 0; }
  .dashboard-filters .form-select, .dashboard-filters .form-control { min-width: 0; width: 100%; }
  .dashboard-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-kpi { padding: 14px; }
  .dashboard-kpi strong { font-size: 23px; }
  .dashboard-store-chart { align-items: flex-start; flex-direction: column; }
  #dashboardStoreLegend { width: 100%; }
  .dashboard-product-heading { align-items: flex-start; flex-direction: column; gap: 3px; }
  .dashboard-overdue-panel .dashboard-panel-heading { align-items: flex-start; flex-direction: column; }
  .dashboard-table { min-width: 760px; }
}
.dashboard-kpi #dashboardComparison.is-positive { color: #13865e; }
.dashboard-kpi #dashboardComparison.is-negative { color: #bd5149; }
.dashboard-filters > #dashboardApply { display: inline-flex; align-items: center; justify-content: center; align-self: end; height: 39px; min-height: 39px; margin: 0; padding: 0 18px; line-height: 1; }
.dashboard-pagination { display: flex; align-items: center; justify-content: flex-end; gap: 6px; padding: 13px 16px; border-top: 1px solid #f0f2f6; }
.dashboard-page-button { display: inline-grid; min-width: 32px; height: 32px; place-items: center; padding: 0 8px; color: #60708b; background: #fff; border: 1px solid #e2e7f0; border-radius: 7px; font-size: 11px; cursor: pointer; }
.dashboard-page-button:hover:not(:disabled), .dashboard-page-button.is-active { color: #fff; background: var(--app-blue); border-color: var(--app-blue); }
.dashboard-page-button:disabled { color: #bdc5d2; background: #f8f9fb; cursor: default; }
.dashboard-pagination > span { margin-left: 7px; color: #8491a6; font-size: 10px; }
@media (max-width: 700px) { .dashboard-pagination { justify-content: center; flex-wrap: wrap; padding: 12px; } }
@media (max-width: 700px) { .dashboard-filters > #dashboardApply { grid-column: 1 / -1; width: 100%; } }
.dashboard-filters > #dashboardApply { transform: translateY(-8px); }
@media (max-width: 700px) { .dashboard-filters > #dashboardApply { transform: none; } }

/* Hierarquia visual dos filtros e resultados dos relatórios */
.reports-body { padding-top: 19px !important; }
.reports-section-heading, .reports-results-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.reports-section-heading { margin: 0 0 14px; }
.reports-section-heading > div { min-width: 0; }
.reports-section-heading > div > span, .reports-results-heading > div:first-child > span { display: block; margin-bottom: 4px; color: #98a4b8; font-size: 9px; font-weight: 700; letter-spacing: 1px; }
.reports-section-heading h2, .reports-results-heading h2 { margin: 0; color: var(--app-ink); font: 700 16px 'Manrope', sans-serif; }
.reports-section-heading p, .reports-results-heading p { margin: 4px 0 0; color: var(--app-muted); font-size: 11px; }
.reports-filter-form { padding: 17px; background: #f8faff; border: 1px solid #e8edf6; border-radius: 12px; }
.reports-filter-form .form-control-label { display: block; margin-bottom: 6px; }
.reports-filter-form .row + .row { margin-top: 3px !important; }
.reports-submit-column { display: flex; flex-direction: column; justify-content: flex-end; }
.reports-submit-spacer { display: block; height: 18px; margin-bottom: 6px; }
.reports-filter-form .reports-search-button { width: 100%; height: 40px; min-height: 40px; padding: 0 14px; }
.reports-results-heading { margin: 22px 0 12px; }
.reports-export-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.reports-table-card { margin: 0; }
@media (max-width: 700px) {
  .reports-filter-form { padding: 13px; }
  .reports-results-heading { align-items: flex-start; flex-direction: column; }
  .reports-export-actions { width: 100%; }
  .reports-export-actions .btn { flex: 1; }
  .reports-submit-spacer { display: none; }
  .reports-filter-form .reports-search-button { width: 100%; }
}

.products-import-panel { display: grid; gap: 18px; }
.products-import-instructions { padding: 18px 20px; background: #f7f9fd; border: 1px solid var(--app-line); border-radius: 11px; }
.products-import-instructions h3 { margin: 0 0 10px; color: var(--app-ink); font: 700 15px 'Manrope', sans-serif; }
.products-import-instructions ol { margin: 0 0 12px; padding-left: 22px; color: var(--app-ink); font-size: 13px; line-height: 1.8; }
.products-import-instructions p { margin: 0; color: var(--app-muted); font-size: 12px; line-height: 1.65; }
.products-import-form { display: grid; gap: 16px; max-width: 760px; }
.products-import-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.products-import-fields .form-control { min-height: 42px; }
.products-import-form .btn { justify-self: start; }
.products-import-result { padding: 12px 15px; border-radius: 9px; font-size: 13px; }
.products-import-result.is-success { color: #12613d; background: #e8f7ef; border: 1px solid #b8e5cb; }
.products-import-result.is-error { color: #8e211a; background: #fff0ed; border: 1px solid #efb5ae; }
@media (max-width: 640px) { .products-import-fields { grid-template-columns: 1fr; } }

.products-import-last { padding: 16px 18px; background: #f7f9fd; border: 1px solid var(--app-line); border-radius: 11px; }
.products-import-last h3 { margin: 0 0 9px; color: var(--app-ink); font: 700 14px 'Manrope', sans-serif; }
.products-import-result { padding: 10px 12px; border-radius: 8px; font-size: 12px; line-height: 1.55; }
.products-import-result.is-neutral, .products-import-result.is-running { color: #465c7b; background: #edf4ff; border: 1px solid #cbdcf4; }
.products-import-result.is-success { color: #12613d; background: #e8f7ef; border: 1px solid #b8e5cb; }
.products-import-result.is-error { color: #8e211a; background: #fff0ed; border: 1px solid #efb5ae; }

.products-manual-panel { display: grid; gap: 15px; padding: 18px 20px; background: #fff; border: 1px solid var(--app-line); border-radius: 12px; }
.products-manual-panel h2 { margin: 0; color: var(--app-ink); font: 700 16px 'Manrope', sans-serif; }
.products-manual-panel > div > p { margin: 5px 0 0; color: var(--app-muted); font-size: 12px; }
.products-manual-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.products-manual-panel .products-import-form { max-width: none; }
@media (max-width: 800px) { .products-manual-fields { grid-template-columns: 1fr; } }

#productsImportForm { padding-left: 20px; }
@media (max-width: 640px) { #productsImportForm { padding-left: 0; } }

.reconciliation-panel { display: grid; gap: 17px; min-width: 0; max-width: 100%; }
.reconciliation-message { padding: 10px 13px; color: #36527a; background: #edf4ff; border: 1px solid #cbdcf4; border-radius: 9px; font-size: 12px; }
.reconciliation-message.is-error { color: #8e211a; background: #fff0ed; border-color: #efb5ae; }
.reconciliation-mode-switch { display: flex; gap: 8px; padding: 5px; background: #f2f5fb; border-radius: 11px; }
.reconciliation-mode { flex: 1; min-height: 42px; padding: 8px 12px; color: #63718a; background: transparent; border: 0; border-radius: 8px; font-size: 12px; font-weight: 700; }
.reconciliation-mode.is-active { color: #3449cc; background: #fff; box-shadow: 0 2px 8px rgba(39, 56, 100, .1); }
.reconciliation-mode-help { margin: 0; color: var(--app-muted); font-size: 12px; }
.reconciliation-filters { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: end; gap: 12px; padding: 15px; background: #f8faff; border: 1px solid var(--app-line); border-radius: 11px; }
.reconciliation-filter-field { min-width: 0; }
.reconciliation-filter-field .form-control-label { display: block; margin-bottom: 5px; }
.reconciliation-filter-field .form-control { min-height: 40px; }
.reconciliation-search-wrap { display: grid; grid-template-rows: 17px 40px; gap: 5px; min-width: 0; align-self: end; }
.reconciliation-search-wrap > .form-control-label { display: block; height: 17px; margin: 0; visibility: hidden; }
.reconciliation-search { display: inline-flex; align-items: center; justify-content: center; width: 100%; height: 40px; min-height: 40px; margin: 0; padding: 0 12px; line-height: 1; white-space: nowrap; }
.reconciliation-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 11px; }
.reconciliation-kpi { display: grid; gap: 7px; min-width: 0; padding: 14px 16px; background: #fff; border: 1px solid var(--app-line); border-radius: 11px; box-shadow: var(--app-shadow); }
.reconciliation-kpi span { color: var(--app-muted); font-size: 11px; }
.reconciliation-kpi strong { color: var(--app-ink); font: 700 21px 'Manrope', sans-serif; }
.reconciliation-kpi.is-total-units { background: #eef2ff; border-color: #aebdff; }
.reconciliation-kpi.is-total-units span { color: #3449cc; font-weight: 700; }
.reconciliation-kpi.is-total-units strong { color: #3449cc; font-size: 26px; }
.reconciliation-table-wrap { width: 100%; min-width: 0; max-width: 100%; overflow: hidden; border: 1px solid var(--app-line); border-radius: 12px; background: #fff; }
.reconciliation-table-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 18px; }
.reconciliation-table-heading h3 { margin: 0; color: var(--app-ink); font: 700 15px 'Manrope', sans-serif; }
.reconciliation-table-heading p { margin: 4px 0 0; color: var(--app-muted); font-size: 11px; }
.reconciliation-table-wrap .table-responsive { width: 100%; max-width: 100%; min-width: 0; overflow-x: auto; overscroll-behavior-inline: contain; }
.reconciliation-table { width: max-content; min-width: 100%; margin: 0; font-size: 11px; white-space: nowrap; }
.reconciliation-table th { color: #65728a; background: #f7f9fd; font-size: 10px; text-transform: uppercase; }
.reconciliation-table td, .reconciliation-table th { padding: 10px 12px; vertical-align: middle; }
.reconciliation-table .reconciliation-number { text-align: center; }
.reconciliation-table th.reconciliation-total { color: #3449cc; background: #e9edff; }
.reconciliation-table td.reconciliation-total { color: #3449cc; background: #f2f4ff; font-weight: 700; }
.reconciliation-deadline { font-weight: 700; }
.reconciliation-deadline.em_prazo { color: #147346; }
.reconciliation-deadline.atrasada { color: #b82f31; }
.reconciliation-empty { padding: 18px; margin: 0; color: var(--app-muted); font-size: 12px; }
@media (max-width: 900px) { .reconciliation-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); } .reconciliation-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .reconciliation-mode-switch { align-items: stretch; flex-direction: column; } .reconciliation-filters { grid-template-columns: 1fr; } .reconciliation-table-heading { align-items: flex-start; flex-direction: column; } }
@page { size: landscape; margin: 8mm; }
@media print {
  body.app-shell-page, body.app-shell-page .app-main { background: #fff !important; }
  body.app-shell-page .app-sidebar, body.app-shell-page .app-topbar, body.app-shell-page .app-heading,
  body.app-shell-page .app-footer, body.app-shell-page .app-scrim,
  .reconciliation-message, .reconciliation-mode-switch,
  .reconciliation-mode-help, .reconciliation-filters, #reconciliationPrint { display: none !important; }
  body.app-shell-page .app-layout, body.app-shell-page .app-main { display: block !important; width: 100% !important; margin: 0 !important; }
  body.app-shell-page .app-content { max-width: none !important; padding: 0 !important; }
  .reconciliation-panel { padding: 0 !important; border: 0 !important; box-shadow: none !important; }
  .reconciliation-table-wrap { display: block !important; border: 0 !important; }
  .reconciliation-table-wrap .table-responsive { overflow: visible !important; }
  .reconciliation-table { font-size: 8px !important; white-space: normal !important; }
  .reconciliation-table td, .reconciliation-table th { padding: 4px !important; }
}
