/* Resumen de operaciones: contenido principal y columna de pendientes. */
.dashboard-page main {
  padding: 36px 36px 0;
}
.dashboard-page .page-heading {
  min-height: 46px;
  margin: 0 0 25px;
  padding: 0;
  background: transparent;
}
.page-heading .account-menu .avatar {
  background: #5b3527;
  color: #fff8ed;
  border: 1px solid #45281d;
  font-family: 'Segoe UI', Arial, sans-serif;
  font-weight: 650;
}
.page-heading .account-menu summary {
  color: #4b3023;
}
.dashboard-page .heading-actions {
  display: none;
}
.dashboard-page .page-controls {
  margin-left: auto;
}
.overview-rail-action {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-height: 72px;
}
.overview-rail-action .btn {
  min-height: 52px;
  padding: 15px 22px;
  font-size: 13px;
}
.dashboard-page .overview-layout .panel-head {
  min-height: 68px;
  background: #fffdf9;
  border-bottom-color: #e0d5c8;
  color: #4d3124;
}
.dashboard-page .overview-layout .panel-head h2 {
  color: #4d3124;
}
.dashboard-page .overview-layout .panel-head p,
.dashboard-page .overview-layout .panel-head .text-link,
.dashboard-page .overview-layout .panel-head .icon-btn {
  color: #684a36;
}
.dashboard-page .overview-orders .panel-head p {
  display: none;
}
.dashboard-page .welcome-panel {
  background: #713b2d url('/assets/caff.svg') center / cover;
}
.page-title,
.page-controls {
  display: flex;
  align-items: center;
  gap: 18px;
}
.page-title {
  min-width: 0;
}
.page-heading {
  margin-bottom: 25px;
  flex-direction: row;
  align-items: center;
}
.page-heading .top-right {
  gap: 16px;
}
.page-heading .date-chip {
  display: none;
}
.page-heading .account-name {
  max-width: 110px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.overview-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.9fr) minmax(280px, 1fr);
  gap: 22px;
  align-items: start;
}
.overview-main,
.overview-rail {
  display: grid;
  gap: 22px;
  min-width: 0;
}
.overview-lead {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(185px, 1fr);
  gap: 18px;
}
.overview-welcome {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-height: 326px;
  padding: 28px;
  border-radius: 20px;
  background: #713b2d url('/assets/caff.svg') center / cover;
  color: #fff8ed;
}
.overview-kicker {
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 1.6px;
  color: #e7c6a8;
}
.overview-welcome h2 {
  color: #fff8ed;
  position: relative;
  z-index: 1;
  font:
    400 32px/1.2 Georgia,
    serif;
  margin: 12px 0 8px;
}
.overview-welcome p {
  font-size: 12px;
  color: #eed7c1;
  line-height: 1.6;
}
.overview-welcome .btn {
  position: relative;
  margin-top: auto;
  z-index: 1;
  font-size: 11px;
}
.overview-illustration {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 145px;
  width: 100%;
  position: relative;
  margin: 10px 0;
}
.overview-illustration img {
  position: relative;
  width: 150px;
  height: 130px;
  object-fit: contain;
}
.coffee-orbit {
  position: absolute;
  width: 180px;
  height: 180px;
  border: 1px solid #edc4a522;
  border-radius: 50%;
  box-shadow:
    0 0 0 22px #e6c4a508,
    0 0 0 45px #e6c4a505;
}
.overview-metrics {
  display: grid;
  grid-template-rows: 1fr 1fr;
  gap: 18px;
}
.overview-metric {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 20px;
  border: 1px solid #d5d8cc;
  border-radius: 18px;
  color: #304c3f;
  background: #eaf2ec;
  text-decoration: none;
  overflow: hidden;
}
.overview-metric > span {
  font-size: 11px;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 8px;
}
.overview-metric strong {
  font:
    650 clamp(24px, 2.2vw, 31px)/1.3 'Segoe UI',
    Arial,
    sans-serif;
  letter-spacing: -0.8px;
  font-variant-numeric: tabular-nums;
  margin: 12px 0 5px;
}
.overview-metric small {
  font-size: 10px;
  color: #536856;
  line-height: 1.6;
}
.metric-line {
  height: 18px;
  margin-top: auto;
  border-bottom: 2px solid #89ad99;
  transform: skewY(-3deg);
}
.metric-health {
  background: #f9f2e8;
  color: #694d32;
  border-color: #e0d2c1;
}
.metric-health small {
  color: #78644f;
}
.health-value {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.health-ring {
  display: grid;
  place-items: center;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  background: conic-gradient(#94734d var(--coverage), #e6dbcb 0);
  position: relative;
}
.health-ring::before {
  content: '';
  position: absolute;
  inset: 5px;
  background: #f9f2e8;
  border-radius: 50%;
}
.health-ring i {
  position: relative;
  font-size: 20px;
}
.overview-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid #dcd0c2;
  border-radius: 17px;
  background: white;
  overflow: hidden;
}
.overview-summary > a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 18px 14px;
  color: #5c4230;
  text-decoration: none;
  border-right: 1px solid #ece3d8;
}
.overview-summary > a:last-child {
  border: 0;
}
.overview-summary > a > span {
  font-size: 20px;
}
.overview-summary > a > i {
  margin-left: auto;
  font-size: 10px;
}
.overview-summary strong {
  display: block;
  font:
    650 23px/1.2 'Segoe UI',
    Arial,
    sans-serif;
  font-variant-numeric: tabular-nums;
}
.overview-summary small {
  display: block;
  font-size: 10px;
  line-height: 1.4;
  margin-top: 5px;
}
.overview-summary .summary-warning {
  background: #fff6df;
  color: #865913;
}
.overview-summary .summary-danger {
  background: #fcece7;
  color: #983e2d;
}
.overview-layout .panel {
  margin: 0;
  border-radius: 18px;
  overflow: hidden;
}
.overview-layout .panel-head {
  padding: 19px 20px;
  gap: 10px;
}
.overview-layout .panel-head h2 {
  font:
    600 14px/1.4 'Segoe UI',
    Arial,
    sans-serif;
}
.overview-layout .panel-head p {
  font-size: 10px;
  margin-top: 5px;
}
.overview-layout .text-link {
  font-size: 11px;
  white-space: nowrap;
}
.overview-stock-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 15px 20px;
  text-decoration: none;
  color: #3e3027;
  border-bottom: 1px solid #efe7de;
}
.overview-stock-row:last-child {
  border: 0;
}
.overview-thumb {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 10px;
  object-fit: cover;
  background: #f2e9dc;
  color: #a17b4e;
  font-size: 20px;
}
.overview-stock-row > div {
  flex: 1;
  min-width: 0;
}
.overview-stock-row strong,
.overview-lot strong,
.overview-order strong,
.overview-movement strong {
  display: block;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
}
.overview-stock-row small,
.overview-lot small,
.overview-movement small {
  display: block;
  margin-top: 3px;
  font-size: 10px;
  color: #7c6958;
  line-height: 1.5;
}
.stock-amount {
  white-space: nowrap;
  font-size: 12px;
  font-weight: 650;
  color: #9a671f;
}
.stock-amount.zero {
  color: #a14230;
}
.overview-stock-row > i {
  color: #a18d7c;
  font-size: 10px;
}
.overview-order {
  display: flex;
  gap: 11px;
  align-items: flex-start;
  padding: 18px;
  color: #3b3029;
  text-decoration: none;
  border-bottom: 1px solid #eee6db;
}
.overview-order:last-child {
  border: 0;
}
.order-symbol {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: #eee5d8;
  color: #97744e;
  flex: 0 0 34px;
}
.overview-order > div {
  flex: 1;
  min-width: 0;
}
.overview-order > div > span {
  display: block;
  font-size: 11px;
  line-height: 1.5;
  color: #6a584a;
  margin: 3px 0;
}
.overview-order small {
  font-size: 10px;
  color: #8b7765;
}
.order-pending {
  padding: 4px 7px;
  border-radius: 12px;
  font-size: 9px;
  background: #f9ebc9;
  color: #7c5517;
}
.overview-notice {
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1px solid #ceb9a2;
  background: #e8d8c6;
  color: #573d2c;
  padding: 18px;
  border-radius: 16px;
  text-align: left;
  cursor: pointer;
}
.overview-notice > span {
  font-size: 22px;
}
.overview-notice > div {
  flex: 1;
}
.overview-notice strong {
  display: block;
  font-size: 12px;
}
.overview-notice small {
  display: block;
  font-size: 10px;
  margin-top: 5px;
}
.overview-lot,
.overview-movement {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 15px 18px;
  color: #483a30;
  text-decoration: none;
  border-bottom: 1px solid #eee5da;
}
.overview-lot:last-child,
.overview-movement:last-child {
  border: 0;
}
.overview-lot > span,
.overview-movement > span {
  color: #a37b52;
}
.overview-lot > div,
.overview-movement > div {
  flex: 1;
  min-width: 0;
}
.overview-lot b {
  background: #f8e9c8;
  color: #80561d;
  padding: 5px 7px;
  font-size: 10px;
  border-radius: 8px;
  white-space: nowrap;
}
.overview-lot b.expired {
  color: #8d3729;
  background: #f8dcd5;
}
.overview-movement b {
  font:
    650 13px 'Segoe UI',
    Arial,
    sans-serif;
  white-space: nowrap;
}
.overview-empty {
  padding: 24px 20px;
  color: #7b6959;
  font-size: 12px;
  line-height: 1.7;
}
.overview-layout a:hover {
  filter: brightness(0.98);
}
.pending-focus {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 18px;
  background: #f4e5ce;
  border: 1px solid #dcc2a3;
  border-radius: 12px;
  margin-bottom: 18px;
  color: #65482e;
  font-size: 12px;
}
.pending-focus a {
  margin-left: auto;
  white-space: nowrap;
}
.notifications-panel {
  position: fixed;
  z-index: 120;
  top: 90px;
  right: 30px;
  width: min(420px, calc(100vw - 32px));
  max-height: calc(100dvh - 115px);
  border: 1px solid #ccb7a2;
  border-radius: 18px;
  background: #fffdf9;
  box-shadow: 0 24px 80px #39291e40;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.notifications-panel[hidden] {
  display: none;
}
.notification-head {
  padding: 21px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  border-bottom: 1px solid #e6dacd;
}
.notification-head h2 {
  font-size: 18px;
  font-weight: 650;
  color: #402f24;
}
.notification-head p {
  margin-top: 5px;
  font-size: 12px;
  color: #7c6654;
}
.notification-list {
  overflow-y: auto;
  overscroll-behavior: contain;
}
.notice-item {
  display: flex;
  align-items: center;
  gap: 13px;
  text-decoration: none;
  color: #443428;
  padding: 17px 21px;
  border-bottom: 1px solid #eee4d9;
}
.notice-item:hover {
  background: #f6efe5;
}
.notice-icon {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 11px;
  background: #ece1d2;
  color: #7c5836;
  font-size: 19px;
}
.notice-item.warning .notice-icon {
  background: #f8e8bc;
  color: #8a5b0c;
}
.notice-item.danger .notice-icon {
  background: #f5d8cf;
  color: #9b3e2d;
}
.notice-item > span:nth-child(2) {
  flex: 1;
  min-width: 0;
}
.notice-item small {
  display: block;
  color: #8b603e;
  font-size: 10px;
  margin-bottom: 4px;
  font-weight: 600;
}
.notice-item strong {
  display: block;
  font-size: 13px;
  line-height: 1.4;
}
.notice-item > span > span {
  display: block;
  font-size: 11px;
  line-height: 1.5;
  margin-top: 4px;
  color: #806b59;
}
.notice-item > i {
  font-size: 11px;
  color: #a18b78;
}
.notification-foot {
  padding: 12px 21px;
  font-size: 10px;
  color: #8b7663;
  background: #f7f0e7;
}
.notification-empty {
  padding: 40px 25px;
  text-align: center;
  color: #6d5a48;
}
.notification-empty > i {
  display: block;
  font-size: 32px;
  color: #47705a;
  margin-bottom: 15px;
}
.notification-empty strong {
  display: block;
  font-size: 16px;
}
.notification-empty p {
  margin-top: 9px;
  font-size: 12px;
  line-height: 1.7;
}
@media (max-width: 1250px) {
  .overview-layout {
    grid-template-columns: minmax(0, 1.65fr) minmax(250px, 1fr);
    gap: 16px;
  }
  .overview-main,
  .overview-rail {
    gap: 16px;
  }
  .overview-lead {
    grid-template-columns: minmax(0, 1.2fr) minmax(155px, 1fr);
    gap: 13px;
  }
  .overview-welcome {
    padding: 23px;
  }
  .overview-welcome h2 {
    font-size: 28px;
  }
  .overview-metric {
    padding: 17px 14px;
  }
  .overview-metric strong {
    font-size: 25px;
  }
  .overview-summary > a {
    padding: 16px 11px;
    gap: 8px;
  }
  .overview-summary > a > i {
    display: none;
  }
  .overview-summary > a > span {
    font-size: 16px;
  }
  .overview-order {
    flex-wrap: wrap;
  }
  .overview-order > div {
    flex: 1 1 calc(100% - 50px);
  }
  .order-pending {
    margin-left: 45px;
  }
}
@media (min-width: 901px) and (max-width: 1080px) {
  .overview-layout {
    grid-template-columns: minmax(0, 1.8fr) minmax(210px, 1fr);
  }
  .overview-lead {
    grid-template-columns: minmax(0, 1.2fr) minmax(150px, 1fr);
  }
  .overview-welcome {
    padding: 18px;
  }
  .overview-welcome h2 {
    font-size: 26px;
  }
  .overview-welcome .btn {
    font-size: 10px;
    padding: 10px 12px;
  }
  .overview-metric strong {
    font-size: 22px;
  }
  .overview-layout .panel-head {
    padding: 16px;
  }
  .overview-layout .panel-head h2 {
    font-size: 12px;
  }
  .page-heading h1 {
    font-size: 31px;
  }
  .page-controls {
    gap: 12px;
  }
  .page-heading .account-name {
    display: none;
  }
}
@media (max-width: 900px) {
  .overview-layout {
    grid-template-columns: 1fr;
  }
  .overview-lead {
    grid-template-columns: minmax(0, 1.5fr) minmax(180px, 1fr);
  }
  .overview-rail {
    grid-template-columns: 1fr 1fr;
    align-items: start;
  }
  .overview-orders {
    grid-row: span 2;
  }
  .overview-rail-action {
    grid-column: 1 / -1;
    min-height: 52px;
  }
  .overview-activity {
    grid-column: 1 / -1;
  }
  .page-heading {
    flex-wrap: wrap;
  }
  .page-controls {
    margin-left: auto;
  }
}
@media (max-width: 650px) {
  .dashboard-page main {
    padding: 27px 17px 0;
  }
  .dashboard-page .page-heading {
    margin: 0 0 24px;
    padding: 0;
    min-height: 46px;
  }
  .dashboard-page .page-title {
    min-width: 36px;
  }
  .overview-rail-action {
    justify-content: stretch;
  }
  .overview-rail-action .btn {
    width: 100%;
  }
  .app-body main {
    padding-top: 22px;
  }
  .page-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px 8px;
  }
  .page-title {
    gap: 7px;
    grid-row: 1;
    grid-column: 1;
  }
  .page-title h1 {
    font-size: 28px;
  }
  .page-controls {
    display: contents;
  }
  .page-heading .top-right {
    grid-row: 1;
    grid-column: 2;
    gap: 9px;
  }
  .page-heading .demo-label,
  .page-heading .account-name {
    display: none;
  }
  .page-heading .heading-actions {
    grid-row: 2;
    grid-column: 1/-1;
    margin: 0;
  }
  .page-heading .account-menu summary {
    padding: 0;
    gap: 5px;
  }
  .overview-lead {
    grid-template-columns: minmax(0, 1fr);
  }
  .overview-welcome {
    min-height: 285px;
  }
  .overview-metrics {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    gap: 12px;
  }
  .overview-metric {
    min-height: 145px;
    padding: 15px 12px;
  }
  .overview-metric strong {
    font-size: 25px;
    letter-spacing: -1px;
  }
  .overview-metric > span {
    font-size: 10px;
  }
  .overview-summary {
    grid-template-columns: 1fr;
  }
  .overview-summary > a {
    border-right: 0;
    border-bottom: 1px solid #ece3d8;
    gap: 14px;
    padding: 13px 17px;
  }
  .overview-summary > a > i {
    display: block;
  }
  .overview-summary > a > div {
    display: flex;
    align-items: center;
    gap: 12px;
  }
  .overview-summary small {
    margin: 0;
    font-size: 11px;
  }
  .overview-rail {
    grid-template-columns: 1fr;
  }
  .overview-orders {
    grid-row: auto;
  }
  .overview-activity {
    grid-column: auto;
  }
  .overview-layout .panel-head {
    padding: 17px;
  }
  .overview-stock-row {
    padding: 14px 16px;
    gap: 9px;
  }
  .overview-stock-row strong {
    font-size: 11px;
  }
  .stock-amount {
    font-size: 11px;
  }
  .overview-order {
    flex-wrap: nowrap;
  }
  .overview-order > div {
    flex: 1;
  }
  .order-pending {
    margin-left: 0;
  }
  .notifications-panel {
    top: 78px;
    right: 16px;
    max-height: calc(100dvh - 95px);
  }
  .pending-focus {
    flex-wrap: wrap;
    font-size: 11px;
  }
}

/* Tarjetas con forma ondulada, fondo café claro y texto de alto contraste. */
.dashboard-page .overview-summary {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  justify-items: center;
  gap: 14px;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}
.dashboard-page .overview-summary > a {
  flex-direction: column;
  justify-content: center;
  width: 100%;
  max-width: 180px;
  aspect-ratio: 1;
  padding: 19%;
  gap: 3px;
  border: 0;
  color: #3e291e;
  background: transparent url('/assets/tarjeta-cafe.svg') center / 100% 100% no-repeat;
  text-align: center;
}
.dashboard-page .overview-summary > a > span,
.dashboard-page .overview-summary > a > i {
  display: none;
}
.dashboard-page .overview-summary > a > div {
  display: block;
}
.dashboard-page .overview-summary strong {
  color: #3e291e;
  font-size: clamp(25px, 2.4vw, 34px);
  font-weight: 700;
  line-height: 1.15;
}
.dashboard-page .overview-summary small {
  color: #3e291e;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.35;
  margin-top: 5px;
}
.dashboard-page .overview-summary > a:focus-visible {
  outline: 3px solid #713b2d;
  outline-offset: 2px;
  border-radius: 50%;
}
.dashboard-page .overview-welcome p,
.dashboard-page .overview-kicker {
  color: #fff0df;
}
@media (max-width: 650px) {
  .dashboard-page .overview-summary {
    gap: 8px;
  }
  .dashboard-page .overview-summary strong {
    font-size: 25px;
  }
  .dashboard-page .overview-summary small {
    font-size: 10px;
  }
}
