/* Pestaña Booking Jumbo del Forecast (Rodrigo 05-11). Usa las clases del forecast; aquí solo lo propio. */
#panel-booking .kpi-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; margin-bottom: 14px; }
#panel-booking .toolbar { margin-bottom: 14px; }
#panel-booking .toolbar select, #panel-booking .toolbar input { min-width: 170px; }
.bk-status { margin: 0 0 12px; padding: 10px 14px; border-radius: 10px; background: #eef4ff; color: #173b6b; font-weight: 700; font-size: 13px; }
.bk-status.error { background: #fdecee; color: #a3122a; }
.bk-status[hidden], #bkContent[hidden] { display: none !important; }

/* Resumen por marca y sus ítems */
.bk-table td.num, .bk-sub td.num { text-align: right; white-space: nowrap; }
.bk-table tr.bk-brand { cursor: pointer; }
.bk-table tr.bk-brand:hover td { background: #f3f7fd; }
.bk-table tr.bk-brand.open td { background: #eaf1fb; border-bottom-color: transparent; }
.bk-table td.bk-brand-name { text-align: left; white-space: nowrap; }
.bk-caret { display: inline-block; width: 18px; color: #075be8; font-weight: 900; }
.bk-table tr.bk-items-head > td { padding: 0 0 10px 18px; background: #eaf1fb; }
.bk-sub { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid #d6e2ef; border-radius: 10px; overflow: hidden; font-size: 12.5px; }
.bk-sub th { padding: 7px 8px; background: #f4f7fb; color: #62748d; font-size: 10.5px; text-transform: uppercase; letter-spacing: .04em; text-align: right; }
.bk-sub th:nth-child(2) { text-align: left; }
.bk-sub td { padding: 7px 8px; border-top: 1px solid #e8eef6; vertical-align: middle; }
.bk-sub tr.bk-item { cursor: pointer; }
.bk-sub tr.bk-item:hover td { background: #fff8e6; }
/* Descripción en varias líneas: nunca se monta sobre la columna siguiente. */
.bk-item-name { text-align: left; white-space: normal !important; min-width: 260px; max-width: 460px; overflow-wrap: anywhere; line-height: 1.3; }
.bk-item-name b { display: block; }
.bk-item-name small, .bk-brand-name small { display: block; color: #62748d; font-size: 11px; font-weight: 600; }
.bk-photo-cell { width: 56px; }
.bk-photo { display: block; width: 46px; height: 46px; object-fit: contain; border-radius: 6px; background: #fff; }
.bk-nophoto { display: flex; align-items: center; justify-content: center; color: #9aa9bd; font-size: 9px; background: #f4f7fb; }
.bk-warn { color: #a3122a !important; font-weight: 800 !important; }
.bk-adj { color: #0b7a50 !important; font-weight: 800 !important; }

/* Ficha del ítem */
.bk-item-dialog { width: min(760px, calc(100vw - 24px)); max-height: calc(100vh - 24px); border: 0; border-radius: 18px; padding: 22px 26px; }
.bk-item-dialog::backdrop { background: rgba(10, 25, 45, .55); }
.bk-item-photo { display: flex; justify-content: center; align-items: center; height: 300px; margin: 0 0 14px; border: 1px solid #e3eaf3; border-radius: 14px; background: #fff; }
.bk-item-img { max-width: 100%; max-height: 280px; object-fit: contain; }
.bk-item-photo .bk-nophoto { width: 100%; height: 100%; border-radius: 14px; font-size: 13px; }
.bk-item-dialog h2 { margin: 2px 0 4px; font-size: 20px; line-height: 1.25; }
.bk-item-dialog h3 { margin: 16px 0 8px; font-size: 14px; text-transform: uppercase; letter-spacing: .06em; color: #62748d; }
.bk-item-codes { margin: 0 0 12px; color: #62748d; font-size: 13px; }
.bk-item-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.bk-item-cards div { padding: 10px 12px; border: 1px solid #e3eaf3; border-radius: 12px; background: #f8fafd; }
.bk-item-cards span { display: block; color: #62748d; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.bk-item-cards strong { display: block; margin-top: 2px; font-size: 22px; color: #0b1f3a; }
.bk-item-cards small { color: #62748d; font-size: 11.5px; }
.bk-item-edit { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.bk-item-edit label { display: grid; gap: 4px; color: #62748d; font-size: 12px; font-weight: 800; }
.bk-item-edit input { height: 38px; padding: 0 10px; border: 1px solid #c9d5e4; border-radius: 8px; font: inherit; font-size: 15px; color: #0b1f3a; background: #fff; }
.bk-item-edit input.adjusted { background: #eaf6ef; border-color: #9fd3b4; }
.bk-item-edit input:disabled { background: #f4f7fb; color: #3d4f68; }
.bk-item-edit small { color: #62748d; font-weight: 600; }
@media (max-width: 640px) { .bk-item-cards, .bk-item-edit { grid-template-columns: repeat(2, 1fr); } }
#bkUploadDialog { max-width: 520px; border: 0; border-radius: 16px; padding: 22px; }
.bk-item-edit input { width: 100%; min-width: 0; box-sizing: border-box; }
.bk-item-dialog, .bk-item-dialog * { box-sizing: border-box; }
/* Página propia con logo Jumbo (Rodrigo 05-11). */
.bk-hero { display: flex; align-items: center; gap: 22px; }
.bk-hero-logo { width: 92px; height: 92px; flex: 0 0 auto; border-radius: 50%; background: #fff; box-shadow: 0 6px 18px rgba(20, 40, 70, .12); }
.booking-page main { max-width: 1500px; margin: 0 auto; }
.hero.bk-hero { display: flex !important; grid-template-columns: none; justify-content: flex-start; text-align: left; }
.hero.bk-hero > div { flex: 1; }
