.blockchain-demo7-wrap {  max-width: 860px; margin: 0 auto; padding: 0 16px}
.blockchain-demo7-button-list {  display: flex; align-items: center; justify-content: space-around; gap: 10px; margin-bottom: 18px}
.blockchain-demo7-card {background: #fff; padding: 24px}
.blockchain-demo7-title-box {border-radius: 15px; background: #FFF0E8; padding: 20px}
.blockchain-demo7-title { margin: 0 0 8px; font-size: 25px; font-weight: 700; color: #111827}
.blockchain-demo7-desc {margin: 0 0 24px; color: #6b7280; line-height: 1.6; font-size: 13px}
.blockchain-demo7-section {border-radius: 10px; margin: 15px 0; box-shadow: 1px 1px 8px #00000027; padding: 20px}
.blockchain-demo7-section-title {margin: 0 0 16px; font-size: 18px; font-weight: 700; color: #000}
.blockchain-demo7-grid {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; align-items: center}
.blockchain-demo7-field {margin-bottom: 16px}
.blockchain-demo7-field label {display: block; margin-bottom: 8px; font-weight: 700}
.blockchain-demo7-field input, .blockchain-demo7-field textarea, .blockchain-demo7-field select {width: 100%; box-sizing: border-box; padding: 10px 14px; border: 1px solid #d1d5db; border-radius: 14px; font-size: 15px; background: #fff; text-align: center}
.blockchain-demo7-field.row {display: flex; align-items: center; gap: 10px}
.blockchain-demo7-field.row label {margin-bottom: 0; white-space: nowrap; flex-shrink: 0; font-size: 13px}
.blockchain-demo7-field.row select, .blockchain-demo7-field.row input {flex: 1; height: 44px}
@media (max-width:640px) {
  .blockchain-demo7-grid {
    gap: 6px
  }  .blockchain-demo7-field.row {
    gap: 5px; margin-bottom: 5px
  }  .blockchain-demo7-field.row label {
    width: 20%
  }  .blockchain-demo7-field.row select, .blockchain-demo7-field.row input {
    width: 80%
  }
}
  
.bd7-select {border-radius: 5px !important; border: 1.5px solid #FF7A59 !important; padding: 5px 12px !important}
.bd7-select[readonly], .bd7-select:disabled {background-color: #E5E7EB !important; border-color: #dddfe4 !important; color: #999fac !important; cursor: not-allowed !important}
.bd7-label {color: #FF7A59}
.blockchain-demo7-btn {display: inline-flex; align-items: center; justify-content: center; border: none; border-radius: 14px; padding: 12px 18px; font-size: 15px; font-weight: 700; cursor: pointer; background: #ff6b4a; color: #fff; margin-top: 20px}
.blockchain-demo7-btn:disabled {  opacity: 0.7; cursor: wait}
.blockchain-demo7-result {margin-top: 18px; padding: 16px; border-radius: 16px; background: #f9fafb; min-height: 60px; line-height: 1.65; word-break: break-word}
.blockchain-demo7-main-box1, .blockchain-demo7-main-box2, .blockchain-demo7-main-box3, .blockchain-demo7-main-box4 {display: none}
.blockchain-demo7-main-box1.active, .blockchain-demo7-main-box2.active, .blockchain-demo7-main-box3.active, .blockchain-demo7-main-box4.active {display: block}
.bd7-field {display: flex; align-items: center; gap: 10px}
.bd7-field label {white-space: nowrap; font-weight: 600; flex-shrink: 0}
.bd7-field input {flex: 1; height: 35px; border-radius: 4px}
.bd7-p-row-1 {margin-bottom: 12px}
.bd7-p-row-2, .bd7-p-row-4 .full {width: 100%}
.blockchain-demo7-info-box2 {display: flex; flex-direction: column; gap: 16px}
.bd7-field2 {display: flex; flex-direction: column; gap: 8px}
.bd7-field2 label {font-weight: 700; font-size: 14px}
.bd7-field2 textarea {width: 100%; border: none; border-radius: 10px; padding: 12px; background: #D2D2D2; resize: none; font-size: 13px; line-height: 1.5; box-sizing: border-box}
.bd7-f-row-1 textarea, .bd7-f-row-2 textarea {height: 100px; overflow-y: auto}
.bd7-f-row-2 {display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px}
.bd7-food-ingredients-table {width: 100%; background: transparent; border: none}
.bd7-food-ingredients-table thead {display: none}
.bd7-food-ingredients-table, .bd7-food-ingredients-table tbody {display: block}
.bd7-food-ingredients-table tr {display: grid; grid-template-columns: auto auto 1fr auto; grid-template-rows: auto auto; grid-template-areas: "name category . origin" "supplier supplier . origin"; column-gap: 8px; row-gap: 6px; align-items: center; text-align: left; background: #fff; border: 1px solid #e5e7eb; border-radius: 12px; padding: 14px 16px; margin-bottom: 10px}
.bd7-food-ingredients-table td {padding: 0; border: none; font-size: 13px}
.bd7-food-ingredients-table .bd7-cell-name {grid-area: name; font-weight: 700; font-size: 15px; color: #111827}
.bd7-food-ingredients-table .bd7-cell-category {grid-area: category; justify-self: start}
.bd7-food-ingredients-table .bd7-cell-supplier {grid-area: supplier; color: #6b7280}
.bd7-food-ingredients-table .bd7-cell-origin {grid-area: origin; text-align: right; align-self: center; font-size: 16px; font-weight: 700; color: #111827}
.bd7-food-ingredients-table tr.bd7-empty-row {display: block; text-align: center; padding: 16px}
.bd7-category-chip {display: inline-block; padding: 2px 8px; background: #F3F4F6; border-radius: 6px; font-size: 12px; color: #6B7280}
.safe {color: #047857; font-weight: 800}
.danger {color: #b91c1c; font-weight: 800}
.bd7-success {color: #047857; font-weight: 700; margin-bottom: 8px}
.bd7-error {color: #b91c1c; font-weight: 700; margin-bottom: 8px}
.bd7-warn {color: #b45309; font-weight: 700; margin-bottom: 8px}
.bd7-meta {margin-bottom: 6px}
.bd7-details {margin-top: 10px}
.bd7-pre {margin-top: 10px; white-space: pre-wrap; word-break: break-word; background: #111827; color: #f9fafb; padding: 12px; border-radius: 12px; font-size: 13px; max-height: 420px; overflow: auto}
.bd7-result-head {display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 12px 0 16px}
.bd7-result-tabs {display: flex; align-items: center; gap: 16px}
.bd7-tab-btn {appearance: none; border: none; background: transparent; color: #9ca3af; font-size: 16px; font-weight: 800; padding: 0 18px 8px; border-bottom: 3px solid #d1d5db; cursor: pointer}
.bd7-tab-btn.active {color: #111827; border-bottom-color: #111827}
.bd7-explorer-btn {display: inline-flex; align-items: center; justify-content: center; min-width: 88px; padding: 7px 14px; border: 1px solid #d1d5db; border-radius: 10px; background: #fff; color: #004AAB; font-size: 13px; font-weight: 700; text-decoration: none}
.bd7-tab-panel {display: none; background: #fff; border: 1px solid #e5e7eb; border-radius: 14px; padding: 14px; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04)}
.bd7-tab-panel.active {display: block}
.bd7-info-row {display: grid; grid-template-columns: 110px minmax(0, 1fr); align-items: center; gap: 12px; padding: 9px 12px; margin-bottom: 7px; border: 1px solid #e5e7eb; border-radius: 8px; background: #fff}
.bd7-info-row:last-child {margin-bottom: 0}
.bd7-info-label {color: #6b7280; font-size: 13px; font-weight: 700}
.bd7-info-value {color: #111827; font-size: 14px; font-weight: 700; word-break: break-word}
.bd7-json-area {margin-top: 18px; padding: 18px; border-radius: 14px; background: #f9fafb}
.bd7-json-area summary {cursor: pointer; font-weight: 700; color: #374151}
#bd7-result.bd7-empty .bd7-result-head, #bd7-result.bd7-empty .bd7-tab-panel, #bd7-result.bd7-empty .bd7-json-area {display: none}
.blockchain-demo7-info-box-img-box {display: flex; justify-content: center; align-items: center; min-height: 120px; border-radius: 10px; background-color: #F1F1F1; overflow: hidden}
.bd7-icon {width: 60px; height: auto}
.blockchain-demo7-info-box-img-box.has-image {height: 240px; padding: 0}
.blockchain-demo7-info-box-img-box.has-image img {width: 180px; height: auto; object-fit: cover}
.bd7-preview {width: 240px; height: auto}
.blockchain-demo7-menu-box {margin-top: 10px; display: flex; gap: 20px; align-items: stretch}
.blockchain-demo7-menu-box-left {flex: 1}
.blockchain-demo7-menu-box-left ul {padding-left: 18px; margin: 0}
.blockchain-demo7-menu-box-left li {margin-bottom: 6px; font-size: 14px}
.blockchain-demo7-menu-box-right {width: 300px; display: flex; flex-direction: column; gap: 12px}
.nutrition-information {display: flex; justify-content: space-around; align-items: center; background: #ffffff; border-radius: 15px; border: 1px solid #eeeeee; padding: 10px 10px; margin: 15px 0}
.nutrition-item {display: flex; flex-direction: column; align-items: center; flex: 1}
.nt-value {font-size: 16px; font-weight: 800; color: #333333; margin-bottom: 4px}
.nt-label {font-size: 11px; color: #999999; font-weight: 500}
.nt-sodium {color: #FF8800}
.nt-protein {color: #00A34D}
.nt-fat {color: #00A99D}
.caution-header {display: flex; align-items: center; gap: 8px; margin-bottom: 10px}
.caution-header img {width: 20px; height: auto}
.caution-header span {font-size: 15px; font-weight: 700}
.blockchain-demo7-disease {border: 1px solid #ff4d4d; background: #fff5f5; border-radius: 12px; padding: 16px 20px; margin-bottom: 12px}
.blockchain-demo7-disease .caution-header span {color: #ff4d4d}
.blockchain-demo7-disease p {margin: 0 0 0 28px; font-size: 13px; font-weight: 500; color: #333}
.blockchain-demo7-allergy {border: 1px solid #ff4d4d; background: #FFEBE9; border-radius: 12px; padding: 16px 20px}
.blockchain-demo7-allergy .caution-header span {color: #ff4d4d}
.blockchain-demo7-allergy p {margin: 0 0 0 28px; font-size: 13px; font-weight: 500; color: #333}
.bd7-modal-overlay {display: none; position: fixed; inset: 0; background: rgba(0, 0, 0, 0.45); z-index: 9999; align-items: center; justify-content: center}
.bd7-modal-overlay.open {display: flex}
.bd7-modal-box {background: #fff; border-radius: 16px; width: 620px; max-width: 95%; padding: 28px; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2)}
.bd7-modal-top {display: flex; justify-content: space-between; align-items: center}
.bd7-modal-title {font-size: 18px; font-weight: 700}
.bd7-btn-close {border: none; background: #f1f5f9; border-radius: 8px; width: 32px; height: 32px; cursor: pointer}
.bd7-modal-sub {font-size: 13px; color: #9ca3af; margin: 10px 0 20px}
.bd7-img-grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px}
.bd7-img-thumb {position: relative; border-radius: 10px; overflow: hidden; cursor: pointer; border: 2px solid transparent}
.bd7-img-thumb.selected {border-color: #FF7A59}
.bd7-img-thumb img {width: 100%; height: 100%; object-fit: cover}
.bd7-modal-footer {display: flex; justify-content: flex-end; gap: 10px; margin-top: 20px}
.bd7-btn-confirm {background: #FF7A59 !important; color: #fff; border: none; padding: 10px 20px; border-radius: 8px}
.bd7-btn-confirm:disabled {background: #bfdbfe}
.bd7-btn-cancel {background: #f1f5f9; border: none; padding: 10px 20px; border-radius: 8px}
#blockchain-demo7-section-result {display: none}
.bd7-tx-modal {position: fixed; inset: 0; z-index: 99999; display: none}
.bd7-tx-modal.active {display: block}
.bd7-tx-modal-backdrop {position: absolute; inset: 0; background: rgba(0, 0, 0, 0.45)}
.bd7-tx-modal-card {position: relative; width: min(760px, calc(100% - 32px)); max-height: calc(100vh - 80px); overflow: auto; margin: 40px auto; background: #fff; border-radius: 18px; padding: 20px; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25)}
.bd7-tx-modal-head {display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 16px}
.bd7-tx-modal-head h3 {margin: 0; font-size: 20px; font-weight: 800; color: #111827}
.bd7-tx-modal-close {border: none; background: #f3f4f6; color: #111827; width: 34px; height: 34px; border-radius: 50%; font-size: 22px; cursor: pointer}
.bd7-tx-modal-body {line-height: 1.6}
@media (max-width:640px) {
  .blockchain-demo7-grid, .bd7-p-row-2, .bd7-p-row-3, .bd7-f-row-2 {grid-template-columns: 1fr}
  .blockchain-demo7-button-list, .bd7-result-head, .blockchain-demo7-menu-box {flex-direction: column; align-items: stretch}
  .bd7-result-tabs {width: 100%}
  .bd7-tab-btn {flex: 1; padding-left: 8px; padding-right: 8px}
  .bd7-explorer-btn {width: 100%}
  .bd7-info-row {grid-template-columns: 84px minmax(0, 1fr)}
  .blockchain-demo7-menu-box-right {width: 100%}
  .bd7-tx-modal-card {margin: 20px auto; max-height: calc(100vh - 40px)}
}
.bd7-origin-wrap {  display: grid; grid-template-columns: 0.7fr 1.3fr; gap: 24px; margin-top: 24px; padding-top: 20px; border-top: 1px solid #e5e7eb}
.bd7-origin-wrap h4 {margin: 0 0 12px; font-size: 16px; font-weight: 800; color: #111827}
.bd7-origin-card {background: #f1f1f1; border-radius: 12px; padding: 16px 22px}
.bd7-origin-row {display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 6px 0; font-size: 14px}
.bd7-origin-row span {color: #374151}
.bd7-origin-row strong {color: #111827; font-weight: 700}
.bd7-origin-history-row {  display: grid; grid-template-columns: minmax(0, 1fr) 28px; align-items: center; gap: 10px; padding: 5px 0; font-size: 14px; color: #374151}
.bd7-origin-history-row span {  overflow: hidden; white-space: nowrap; text-overflow: ellipsis}
.bd7-origin-link-btn {width: 26px; height: 26px; border: none; border-radius: 6px; background: #9ca3af; color: #fff; cursor: pointer}
@media (max-width:640px) {
  .bd7-origin-wrap {  grid-template-columns: 1fr  }
}
#blockchain-demo7-history-section {  display: none !important}
.bd7-progress-bar {position: relative; height: 12px; background: #e5e7eb; border-radius: 999px; overflow: hidden; margin-bottom: 24px}
#bd7-progress-fill {position: absolute; left: 0; top: 0; width: 0%; height: 100%; background: linear-gradient(90deg, #2563eb, #22c55e); border-radius: 999px; transition: width 0.08s linear}
.bd7-complete #bd7-progress-fill {animation: none; left: 0; width: 100%; background: #22c55e}
.bd7-log-box {height: 220px; overflow-y: auto; background: #020617; padding: 12px; border-radius: 14px; font-family: monospace; font-size: 13px}
.bd7-log-line {color: #86efac; margin-bottom: 4px}
.bd7-banner-top-text {padding: 60px 0 0 50px; font-size: 26px; line-height: 1.4; color: #333; border-radius: 0}
.bd7-banner-top-text strong {font-weight: 80}
.bd7-banner-top-text img {  width: 200px}
.bd7-banner-button-area {display: flex; align-items: flex-end; background: transparent; margin-top: auto}
.bd7-main-action-btn {background-color: #FF531F; color: #fff; padding: 20px 30px; display: flex; flex-direction: column; justify-content: center; min-width: 250px; border-radius: 0; box-sizing: border-box}
.bd7-main-action-btn .main-label {font-size: 20px; font-weight: 700}
.bd7-main-action-btn .sub-label {font-size: 13px; opacity: 0.9; margin-top: 5px}
.bd7-step-buttons {display: flex; flex: 1; height: 75px; background: #fff; border-top: 1px solid #ccc; box-sizing: border-box}
.blockchain-demo7-button {flex: 1; display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 0 10px; cursor: pointer; background: #fff; border-right: 1px solid #ddd; border-radius: 0 !important; transition: background 0.2s; box-sizing: border-box}
.blockchain-demo7-button:last-child {border-right: none}
.blockchain-demo7-button .step-no {font-size: 11px; color: #888; margin-bottom: 3px}
.blockchain-demo7-button .step-name {font-size: 14px; font-weight: 600; color: #111; text-align: center}
.blockchain-demo7-button.active {background-color: #fff !important; position: relative; box-shadow: inset 0 -5px 0 #FF531F}
.blockchain-demo7-button.active .step-name, .blockchain-demo7-button.active .step-no {color: #FF531F}
.blockchain-demo7-wrap {padding: 0}
.bd7-loading-box {text-align: center; padding: 48px 20px; background: #fff; border-radius: 18px}
.bd7-spinner {width: 52px; height: 52px; margin: 0 auto 18px; border: 5px solid #e5e7eb; border-top: 5px solid #111827; border-radius: 50%; animation: bd7-spin 1s linear infinite}
.bd7-loading-box p {  margin: 0; font-weight: 800; color: #111827}
.bd7-loading-sub {  margin-top: 8px !important; font-size: 13px; font-weight: 500 !important; color: #6b7280 !important}
@keyframes bd7-spin {
  0% {
    transform: rotate(0deg)
  }
  100% {
    transform: rotate(360deg)
  }
}
.bd7-json-area {display: none !important}
.bd7-info-value a {color: inherit; text-decoration: none}
.bd7-info-value a:hover {color: inherit; text-decoration: none}
.bd7-menu-item {display: flex; justify-content: flex-start; align-items: center}
.bd7-menu-icons img {width: 18px; margin-left: 6px}
.bd7-icon-sm {width: 16px}
.bd7-menu-icons {display: flex; justify-content: center; align-items: center}
.bd7-zoomable-img {cursor: zoom-in}
.bd7-image-zoom-modal {position: fixed; inset: 0; z-index: 100000; display: none}
.bd7-image-zoom-modal.active {display: flex; align-items: center; justify-content: center}
.bd7-image-zoom-backdrop {position: absolute; inset: 0; background: rgba(0, 0, 0, 0.72)}
.bd7-image-zoom-card {position: relative; z-index: 1; width: min(920px, calc(100vw - 32px)); max-height: calc(100vh - 48px); background: #fff; border-radius: 18px; padding: 18px; box-shadow: 0 24px 80px rgba(0, 0, 0, 0.35)}
.bd7-image-zoom-card img {display: block; width: 100%; max-height: calc(100vh - 120px); object-fit: contain; border-radius: 12px}
.bd7-image-zoom-close {position: absolute; top: -14px; right: -14px; width: 38px; height: 38px; border: none; border-radius: 999px; background: #111827; color: #fff; font-size: 24px; line-height: 1; cursor: pointer}
.bd7-analysis-progress-bar {position: relative; height: 12px; background: #e5e7eb; border-radius: 999px; overflow: hidden; margin-bottom: 24px}
#bd7-analysis-progress-fill {position: absolute; left: 0; top: 0; width: 0%; height: 100%; background: linear-gradient(90deg, #FFD1A8, #E56A10); border-radius: 999px; transition: width 0.08s linear}
.bd7-banner-wrap {position: sticky; top: 0; z-index: 1000; width: 100%; max-width: 860px; margin: 0 auto 30px; min-height: 280px; background-color: #fff; background-image: url('https://safeean.club/wordpress/btp/kidsbutton2.png'); background-size: cover; background-position: center; background-repeat: no-repeat; display: flex; flex-direction: column; justify-content: space-between; box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08)}
.bd7-current-menu-box {margin: 20px 0 24px; padding: 22px; border-radius: 20px; background: linear-gradient(135deg, #fffaf7 0%, #fff0e8 100%); border: 1px solid #FF7A59}
.bd7-current-menu-head {display: flex; align-items: center; gap: 12px; margin-bottom: 16px}
.bd7-current-menu-head strong {font-size: 20px; font-weight: 800; color: #16325c}
.bd7-current-menu-badge {display: inline-flex; align-items: center; justify-content: center; height: 28px; padding: 0 12px; border-radius: 999px; background: #FF7A59; color: #fff; font-size: 12px; font-weight: 800; letter-spacing: .04em}
#bd7-current-menu-text {display: flex; flex-wrap: wrap; gap: 10px}
#bd7-current-menu-text .bd7-pill {padding: 10px 16px; border-radius: 999px; background: #fff; border: 1px solid #d9e7ff; color: #16325c; font-size: 14px; font-weight: 700; box-shadow: 0 4px 12px rgba(15, 92, 192, 0.08)}
.bd7-allergy-summary {margin: 18px 0; padding: 16px; border-radius: 18px; background: #fff; border: 1.5px solid #FFD9CC; display: flex; align-items: center; justify-content: space-between; gap: 12px}
.bd7-allergy-summary.bd7-summary-empty {  display: block; padding: 20px; background: #fff1e8; border: none; font-size: 15px; font-weight: 700; color: #3b1f12; text-align: center}
.bd7-summary-card {flex: 1; display: flex; align-items: center; gap: 10px; min-width: 0}
.bd7-summary-card+.bd7-summary-card {border-left: 1px dashed #f0d8cc; padding-left: 12px}
.bd7-summary-icon {flex-shrink: 0; width: 40px; height: 40px; border-radius: 999px; display: flex; align-items: center; justify-content: center}
.bd7-summary-icon svg {width: 22px; height: 22px}
.bd7-summary-icon.bd7-icon-total {background: #FFE3D3; color: #C0653A}
.bd7-summary-icon.bd7-icon-danger {  background: #FFE0DA; color: #E5484D}
.bd7-summary-icon.bd7-icon-safe {background: #D6F2DF; color: #1FAB5A}
.bd7-summary-text {display: flex; flex-direction: column; line-height: 1.2; min-width: 0}
.bd7-summary-num {font-size: 20px; font-weight: 800; color: #111827}
.bd7-summary-label {font-size: 12px; font-weight: 600; color: #6b7280; margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis}
.bd7-allergy-summary .danger-text {color: #E5484D}
.bd7-allergy-summary .safe-text {color: #1FAB5A}
@media (max-width:640px) {
  .bd7-allergy-summary {padding: 12px 10px; gap: 6px}
  .bd7-summary-card {gap: 8px}
  .bd7-summary-card+.bd7-summary-card {padding-left: 6px}
  .bd7-summary-icon {width: 34px; height: 34px}
  .bd7-summary-icon svg {width: 18px; height: 18px}
  .bd7-summary-num {font-size: 17px}
  .bd7-summary-label {font-size: 11px}
}
.bd7-allergy-table-wrap {overflow-x: auto; border-radius: 14px; background: #fff}
.bd7-allergy-table {width: 100%; border-collapse: collapse; min-width: 600px; background: #fff}
.bd7-allergy-table th {background: #fff1e8; color: #ff6b4a; font-weight: 800; padding: 14px 12px; text-align: center; border-bottom: 1px solid #f3d6ca}
.bd7-allergy-table td {padding: 14px 12px; text-align: center; border-bottom: 1px solid #f1e2dc; color: #172554; font-size: 15px; vertical-align: middle}
.bd7-allergy-table tr.has-conflict {background: #fff5f5; border-left: 5px solid #dc2626}
.bd7-person-cell {text-align: left !important; min-width: 160px}
.bd7-person-head {display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-bottom: 4px}
.bd7-person-name {font-size: 15px; font-weight: 800; color: #172554}
.bd7-person-meta {font-size: 12px; color: #6b7280; font-weight: 600}
.bd7-recommend-chip {display: inline-flex; align-items: center; padding: 3px 9px; border-radius: 999px; font-size: 11px; font-weight: 800; white-space: nowrap; line-height: 1.4}
.bd7-recommend-chip.danger {background: #fee2e2; color: #b91c1c; border: 1px solid #fecaca}
.bd7-recommend-chip.safe {background: #dcfce7; color: #15803d; border: 1px solid #bbf7d0}
@media (max-width:640px) {
  .bd7-allergy-table {min-width: 0}
  .bd7-allergy-table th, .bd7-allergy-table td {padding: 10px 8px; font-size: 13px}
  .bd7-person-name {font-size: 14px}
}
.bd7-banner-mobile {display: none}
@media (max-width:640px) {
  .bd7-banner-wrap {  display: none !important}
  .bd7-banner-mobile {display: flex; flex-direction: column; width: 100%; margin: 0 auto 24px; background-image: url('https://safeean.club/wordpress/btp/kidsbutton3.png'); background-size: cover; background-position: top center; background-repeat: no-repeat; border-radius: 18px 18px 0 0; overflow: hidden; box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08); position: sticky; top: 0; z-index: 1000; min-height: 260px}
  .bd7-banner-mobile-image {position: relative; flex: 1; background: transparent; min-height: 210px}
  .bd7-banner-mobile-logo {position: absolute; top: 50px; left: 18px; width: 160px; height: auto}
  .bd7-banner-mobile-title {position: absolute; bottom: 18px; left: 20px; color: #000000; font-size: 22px; font-weight: 800; line-height: 1.2; letter-spacing: -0.3px}
  .bd7-banner-mobile-steps {display: flex; align-items: stretch; background: #FF531F; height: 50px; border-radius: 16px 16px 0 0; padding: 0; position: relative}
  .bd7-mobile-step {flex: 1; display: flex; align-items: center; justify-content: center; gap: 4px; cursor: pointer; color: #fff; line-height: 1; user-select: none; position: relative; transition: none}
  .bd7-mobile-step>* {position: relative; z-index: 1}
  .bd7-mobile-step-num {font-size: 15px; font-weight: 700; letter-spacing: -0.3px; line-height: 1}
  .bd7-mobile-step-label {font-size: 13px; font-weight: 500; line-height: 1}
  .bd7-mobile-step.active::before {content: ''; position: absolute; top: 4px; right: 3px; bottom: 0; left: 3px; background: #fff; border-radius: 14px 14px 0 0; z-index: 0}
  .bd7-mobile-step.active .bd7-mobile-step-num {color: #FF531F; font-size: 20px; font-weight: 800}
  .bd7-mobile-step.active .bd7-mobile-step-label {color: #FF531F; font-size: 13px; font-weight: 600}
}
.bd7-pill {display: inline-flex; align-items: center; justify-content: center; padding: 5px 10px; margin: 2px; border-radius: 999px; font-size: 13px; font-weight: 800}
.bd7-pill.danger {background: #ffe1dc; color: #dc2626}
.bd7-none {color: #9ca3af; font-weight: 600}
.bd7-safe-text {color: #16a34a; font-weight: 800}
.bd7-ai-replace-box {border-radius: 16px; background: #fffaf7; border-radius: 15px; border: 1px solid #FF7A59}
.bd7-ai-replace-title {margin: 0 0 10px; font-size: 18px; color: white; padding: 5px 10px; background-color: #FF7A59; border-top-left-radius: 15px; border-top-right-radius: 15px}
.bd7-ai-replace-box p {  margin: 0 0 16px; color: #374151}
.bd7-ai-replace-box ul {margin: 0; padding-left: 20px}
.bd7-ai-replace-box li {margin-bottom: 8px; color: #064e3b; line-height: 1.6}
.bd7-button-container {display: flex; flex-direction: row-reverse}
#bd7-modal-print {background-color: #ff6b4a}
#bd7-modal-print:hover, #bd7-modal-print:active, #bd7-analyze-button:hover, #bd7-analyze-button:active, #bd7-submit:hover, #bd7-submit:active {background-color: #FFB199; color: #fff}
.bd7-simple-replace-list {margin: 15px; display: flex; flex-direction: column; gap: 10px}
.bd7-simple-replace-row {display: grid; grid-template-columns: 82px 1fr; align-items: center; gap: 14px; padding: 14px 18px; border-radius: 18px; background: #fff; border: 1px solid #e5e7eb; box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04)}
.bd7-simple-type {font-size: 18px; font-weight: 900; color: #FF7A59}
.bd7-simple-main {display: grid; grid-template-columns: 1fr 34px 1fr; align-items: center; gap: 10px}
.bd7-simple-block {display: flex; align-items: center; flex-wrap: wrap; gap: 7px; min-height: 44px}
.bd7-simple-label {font-size: 12px !important; font-weight: 900 !important; color: #6b7280 !important; background: transparent !important; border: none !important; padding: 0 !important; margin-right: 4px}
.bd7-simple-block span:not(.bd7-simple-label) {display: inline-flex; align-items: center; justify-content: center; padding: 7px 11px; border-radius: 999px; background: #f3f4f6; border: 1px solid #e5e7eb; font-size: 13px; font-weight: 800; color: #111827}
.bd7-simple-block.danger span:not(.bd7-simple-label) {background: #f3f3f3; border-color: #cacaca}
.bd7-simple-block.safe span:not(.bd7-simple-label) {background: #fff7f7; border-color: #fecaca}
.bd7-simple-arrow {text-align: center; font-size: 24px; font-weight: 900; color: #FF7A59}
@media(max-width:640px) {.bd7-simple-replace-row {grid-template-columns: 1fr; gap: 6px; padding: 14px 16px}
  .bd7-simple-type {  font-size: 16px; padding-bottom: 10px; border-bottom: 1px solid #f1f5f9; margin-bottom: 2px}
  .bd7-simple-main {grid-template-columns: 1fr; gap: 6px  }
  .bd7-simple-arrow {display: none}
  .bd7-simple-block {min-height: 0; padding: 4px 0; gap: 6px}
  .bd7-simple-block .bd7-simple-label {flex: 0 0 auto; min-width: 54px; font-size: 13px !important; font-weight: 800 !important; margin-right: 4px !important}
  .bd7-simple-block.danger .bd7-simple-label {color: #8b8b8b !important}
  .bd7-simple-block.safe .bd7-simple-label {color: #FF7A59 !important}
}
.blockchain-demo7-info-box-img-box, .blockchain-demo7-info-box-img {cursor: pointer}
.bd7-p-row-2, .bd7-p-row-3 {display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 12px 24px !important; margin-bottom: 12px !important}
.bd7-p-row-2 .bd7-field, .bd7-p-row-3 .bd7-field {display: grid !important; grid-template-columns: 48px minmax(0, 1fr) !important; align-items: center !important; justify-content: stretch !important; gap: 8px !important; min-width: 0 !important}
.bd7-p-row-2 .bd7-field label, .bd7-p-row-3 .bd7-field label {width: 48px !important; margin: 0 !important; font-size: 13px !important; font-weight: 800 !important; color: #111827 !important; white-space: nowrap !important; text-align: left !important}
.bd7-p-row-2 .bd7-field input, .bd7-p-row-3 .bd7-field input {width: 100% !important; min-width: 0 !important; max-width: 100% !important; height: 38px !important; box-sizing: border-box !important; border-radius: 6px !important; text-align: center !important}
@media (max-width:640px) {
  .bd7-p-row-2, .bd7-p-row-3 {grid-template-columns: 1fr !important; gap: 10px !important}
  .bd7-p-row-2 .bd7-field, .bd7-p-row-3 .bd7-field {  grid-template-columns: 72px minmax(0, 1fr) !important}
  .bd7-p-row-2 .bd7-field input, .bd7-p-row-3 .bd7-field input {  text-align: left !important; padding: 0 10px !important}
}
.bd7-origin-modal {position: fixed; inset: 0; z-index: 100001; display: none; align-items: flex-end; justify-content: center}
.bd7-origin-modal.active {display: flex}
.bd7-origin-modal-backdrop {position: absolute; inset: 0; background: rgba(30, 20, 16, .6)}
.bd7-origin-modal-body {position: relative; z-index: 1; width: 100%; max-width: 480px; max-height: 90vh; overflow-y: auto; background: #fff; border-radius: 24px 24px 0 0; padding-bottom: 32px; animation: bd7OriginSlideUp .28s ease}
@keyframes bd7OriginSlideUp {
  from {
    transform: translateY(80px); opacity: 0
  }
  to {
    transform: translateY(0); opacity: 1
  }
}
.bd7-origin-sheet-drag {width: 36px; height: 4px; background: #e0d8d4; border-radius: 99px; margin: 10px auto 0}
.bd7-origin-sheet-header {padding: 14px 16px 0; display: flex; align-items: center; justify-content: space-between}
.bd7-origin-sheet-title {font-size: 17px; font-weight: 900; color: #111827}
.bd7-origin-sheet-sub {margin-top: 4px; font-size: 12px; color: #9ca3af}
.bd7-origin-sheet-close {width: 34px; height: 34px; border: none; border-radius: 999px; background: #f0ebe8; color: #5a4f4a; font-size: 26px; font-weight: 800; line-height: 1; cursor: pointer}
.bd7-origin-ingredient-visual {position: relative; margin-top: 18px; display: flex; align-items: center; justify-content: space-between; padding: 0 34px}
.bd7-origin-circle-img {width: 210px; height: 210px; border-radius: 999px; overflow: hidden; background: #f5f0ec; margin: 0 auto}
.bd7-origin-circle-img img {width: 100%; height: 100%; object-fit: cover}
.bd7-origin-arrow {width: 34px; height: 34px; border: 1px solid #e0d8d4; border-radius: 999px; background: #fff; font-size: 28px; color: #5a4f4a; cursor: pointer; display: flex; justify-content: center; align-items: center}
.bd7-origin-ingredient-name {margin-top: 18px; text-align: center; font-size: 18px; font-weight: 900; color: #111827}
.bd7-origin-ingredient-desc {margin-top: 6px; text-align: center; font-size: 12px; color: #9ca3af}
.bd7-origin-dot {width: 7px; height: 7px; border-radius: 999px; background: #c05a3a; margin: 14px auto 0}
.bd7-origin-info-strip {margin: 16px 16px 0; padding: 14px 16px; border: 1px solid #e8e0dc; border-radius: 14px; background: #faf7f5; display: grid; grid-template-columns: 1fr 1fr}
.bd7-origin-info-col {display: flex; flex-direction: column; gap: 5px}
.bd7-origin-info-col+.bd7-origin-info-col {border-left: 1px solid #e8e0dc; padding-left: 16px}
.bd7-origin-info-col span {font-size: 11px; color: #a89990}
.bd7-origin-info-col strong {font-size: 15px; color: #111827}
.bd7-origin-mile-badge {display: inline-flex; width: fit-content; padding: 4px 8px; border-radius: 8px; background: #fdf0ec; color: #a84a2e !important; font-size: 12px !important}
.bd7-origin-info-col small {font-size: 10px; color: #a89990}
.bd7-origin-update {padding: 10px 16px 0; text-align: right; font-size: 10px; color: #c0b8b4}
.bd7-origin-stage {margin-top: 22px}
.bd7-origin-stage-title {padding: 0 16px 10px; font-size: 16px; font-weight: 900; color: #111827}
.bd7-origin-stage-img {  width: calc(100% - 32px); height: 160px; margin: 0 16px; border-radius: 14px; overflow: hidden; background: #f0ebe8; cursor: pointer}
.bd7-origin-stage-img img {width: 100%; height: 100%; object-fit: cover}
.bd7-origin-doc-row {display: flex; align-items: center; justify-content: flex-end; gap: 8px; padding: 10px 16px 0; font-size: 13px; color: #5a4f4a}
.bd7-origin-doc-toggle {width: 42px; height: 24px; border: none; border-radius: 999px; background: #d8d0cc; position: relative; cursor: pointer}
.bd7-origin-doc-toggle::after {content: ''; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 999px; background: #fff}
.bd7-origin-doc-toggle.on {background: #2f7d32}
.bd7-origin-doc-toggle.on::after {left: 21px}
.bd7-origin-doc-panel {display: none; margin: 18px 16px 0}
.bd7-origin-doc-panel.show {display: block}
.bd7-doc-slider {position: relative; width: 100%; padding: 14px 42px 28px !important; box-sizing: border-box}
.bd7-doc-track-wrap {width: 100%; overflow: hidden}
.bd7-doc-track {display: flex; transition: transform .25s ease}
.bd7-doc-slide {min-width: 100%; display: flex !important; align-items: center !important; justify-content: center !important; text-align: center}
.bd7-doc-slide img {display: block; width: auto !important; max-width: 86% !important; height: auto !important; max-height: 320px !important; object-fit: contain !important; margin: 0 auto !important; background: #fff}
.bd7-doc-arrow {position: absolute; top: 50%; transform: translateY(-50%); width: 34px; height: 34px; border: none; background: transparent; color: #111827; font-size: 44px; line-height: 1; cursor: pointer; z-index: 2}
.bd7-doc-arrow.left {left: 4px}
.bd7-doc-arrow.right {right: 4px}
.bd7-doc-dots {display: flex; justify-content: center; align-items: center; gap: 8px; margin-top: 14px}
.bd7-doc-dot {width: 9px; height: 9px; border-radius: 999px; border: 1px solid #111827; background: #fff}
.bd7-doc-dot.active {background: #111827}
.bd7-doc-empty {  text-align: center; padding: 20px; font-size: 13px; color: #9ca3af}
.blockchain-demo7-wrap, .bd7-banner-wrap, .bd7-banner-mobile {max-width: 1080px !important}
.bd7-parent-report {padding: 0 !important; overflow: hidden; border-radius: 18px; border: 1px solid #edf0f4; box-shadow: 0 12px 34px rgba(15, 23, 42, 0.06)}
.bd7-parent-report-head {display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 34px 42px; border-bottom: 1px solid #edf0f4; background: #fff}
.bd7-parent-report-head .blockchain-demo7-title {margin-bottom: 12px; font-size: 28px; font-weight: 900; letter-spacing: -0.04em; color: #111827}
.bd7-parent-report-head .blockchain-demo7-desc {margin: 0; max-width: 560px; font-size: 15px; font-weight: 600; line-height: 1.75; color: #6b7280}
.bd7-child-select-card {height: 58px; padding: 0 18px; border: 1px solid #e5e7eb; border-radius: 14px; background: #fff; box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04); display: inline-flex; align-items: center; justify-content: center; gap: 12px; flex: 0 0 auto}
.bd7-child-avatar {width: 34px; height: 34px; border-radius: 999px; background: #e0f2fe; display: inline-flex; align-items: center; justify-content: center; font-size: 20px}
.bd7-parent-report-name {display: inline-flex; align-items: center; min-width: 0; width: auto; font-size: 16px; font-weight: 900; line-height: 1; color: #111827; white-space: nowrap}
.bd7-report-summary-grid {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; padding: 30px 24px 18px; background: #fff}
.bd7-report-summary-card {min-height: 168px; padding: 26px 24px; border: 1px solid #edf0f4; border-radius: 20px; background: #fff; display: flex; align-items: center; gap: 24px; box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05); transition: transform .18s ease, box-shadow .18s ease}
.bd7-report-summary-card:hover {transform: translateY(-2px); box-shadow: 0 14px 32px rgba(15, 23, 42, 0.08)}
.bd7-report-icon {width: 54px; height: 54px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto}
.bd7-report-icon svg {width: 28px; height: 28px}
.bd7-report-summary-card.safe .bd7-report-icon {background: #e0f2fe; color: #2563eb}
.bd7-report-summary-card.origin .bd7-report-icon {background: #eaf7ef; color: #16a34a}
.bd7-report-summary-card.warn .bd7-report-icon {  background: #fff1e8; color: #ff7a2e}
.bd7-report-summary-card.favorite .bd7-report-icon {background: #ffecef; color: #ff5a2f}
.bd7-report-summary-card span {display: block; margin-bottom: 10px; font-size: 14px; font-weight: 900; color: #111827}
.bd7-report-summary-card strong {  display: block; margin-bottom: 10px; font-size: 36px; line-height: 1; font-weight: 900; letter-spacing: -0.04em; color: #111827}
.bd7-report-summary-card.warn strong, .bd7-report-summary-card.favorite strong {color: #ff5a2f}
.bd7-report-summary-card.origin strong {color: #16a34a}
.bd7-report-summary-card p {margin: 0; font-size: 13px; font-weight: 700; color: #6b7280}
.bd7-week-meal-section {margin: 18px 24px; padding: 24px; border: 1px solid #edf0f4; border-radius: 16px; background: #fff; box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04)}
.bd7-week-meal-head {margin-bottom: 18px}
.bd7-week-meal-head h3 {margin: 0 0 8px; font-size: 20px; font-weight: 900; color: #111827; letter-spacing: -0.04em}
.bd7-week-meal-head p {margin: 0; font-size: 13px; font-weight: 600; color: #6b7280}
.bd7-week-meal-grid {display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px}
.bd7-week-meal-card {min-width: 0; padding: 14px; border: 1px solid #edf0f4; border-radius: 12px; background: #fff; box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04)}
.bd7-week-meal-card.has-allergy {border-color: #fed7aa !important; background: #fffaf4 !important}
.bd7-week-meal-card strong {display: block; margin-bottom: 8px; font-size: 13px; font-weight: 900; color: #111827}
.bd7-week-meal-card span {display: block; margin-bottom: 10px; font-size: 13px; font-weight: 900; color: #111827; min-height: 20p}
.bd7-week-meal-card img {  display: block; width: 100%; height: 92px; object-fit: cover; border-radius: 10px; background: #f3f4f6}
.bd7-week-tags {display: flex; flex-wrap: wrap; gap: 5px; margin-top: 10px}
.bd7-week-tags em {display: inline-flex; align-items: center; justify-content: center; min-height: 22px; padding: 0 8px; border-radius: 6px; font-style: normal; font-size: 11px; font-weight: 900}
.bd7-week-tags em.safe, .bd7-week-tags em.ai {background: #eaf7ef; color: #15803d; border: 1px solid #ccebd8}
.bd7-week-tags em.warn {background: #fff7e6; color: #d97706; border: 1px solid #fed7aa}
.bd7-report-main-grid {display: grid; grid-template-columns: 0.85fr 1.25fr; gap: 22px; padding: 18px 24px; background: #fff}
.bd7-report-bottom-grid {display: grid; grid-template-columns: 1fr 0.92fr 0.98fr; gap: 22px; padding: 4px 24px 30px; background: #fff}
.bd7-report-panel {min-width: 0; padding: 24px; border: 1px solid #edf0f4; border-radius: 16px; background: #fff; box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04)}
.bd7-report-panel h3 {margin: 0 0 10px; font-size: 20px; font-weight: 900; letter-spacing: -0.04em; color: #111827}
.bd7-report-panel>p {  margin: 0 0 22px; font-size: 13px; font-weight: 600; line-height: 1.7; color: #6b7280}
.bd7-report-safe-box {min-height: 118px; padding: 22px; border: 1px solid #ccebd8; border-radius: 14px; background: linear-gradient(135deg, #f3fff8 0%, #ffffff 100%); display: flex; align-items: flex-start; gap: 18px; transition: all .2s ease}
.bd7-report-safe-box.warn {border-color: #fed7aa; background: linear-gradient(135deg, #fff8f1 0%, #ffffff 100%)}
.bd7-allergy-main-icon {  width: 74px; height: 74px; border-radius: 999px; background: #e8f7ed; color: #15803d; display: flex; align-items: center; justify-content: center; flex: 0 0 auto}
.bd7-allergy-main-icon svg {  width: 36px; height: 36px}
.bd7-allergy-main-icon.warn {background: #ffe9d8; color: #ea580c}
.bd7-allergy-info-area {flex: 1; min-width: 0}
.bd7-allergy-title-row {display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 12px}
.bd7-allergy-title-row strong {  font-size: 20px !important; font-weight: 900 !important; color: #15803d !important}
.bd7-report-safe-box.warn .bd7-allergy-title-row strong {color: #c2410c !important}
.bd7-allergy-status {display: inline-flex; align-items: center; justify-content: center; height: 28px; padding: 0 12px; border-radius: 999px; font-size: 12px; font-weight: 900}
.bd7-allergy-status.safe {background: #dcfce7; color: #15803d}
.bd7-allergy-status.warn {background: #fee2e2; color: #dc2626}
.bd7-allergy-chip-list {display: flex; flex-wrap: wrap; gap: 10px}
.bd7-allergy-chip {  display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 0 14px; border-radius: 999px; background: #fff; border: 1px solid #e5e7eb; box-shadow: 0 3px 10px rgba(0, 0, 0, 0.04)}
.bd7-allergy-chip-icon {font-size: 18px}
.bd7-allergy-chip-text {font-size: 13px; font-weight: 900; color: #111827}
.bd7-allergy-chip.warn {background: #fff5f5; border-color: #fecaca}
.bd7-allergy-chip.warn .bd7-allergy-chip-text {color: #b91c1c}
.bd7-report-notice-box {margin-top: 28px; padding: 20px; border-radius: 14px; background: #fafafa; display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 14px}
.bd7-report-light {width: 34px; height: 34px; border-radius: 999px; background: #fff6d8; display: inline-flex; align-items: center; justify-content: center}
.bd7-report-notice-box strong {display: block; margin-bottom: 8px; font-size: 15px; font-weight: 900; color: #15803d}
.bd7-report-notice-box span {display: block; font-size: 13px; font-weight: 600; line-height: 1.6; color: #374151}
.bd7-report-small-btn {height: 34px; padding: 0 14px; border: 1px solid #f1cdbf; border-radius: 8px; background: #fff; color: #92400e; font-size: 12px; font-weight: 900; cursor: pointer; white-space: nowrap}
.bd7-home-guide-grid {display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; gap: 16px}
.bd7-home-guide-card {border-radius: 14px; padding: 20px; border: 1px solid #edf0f4; min-height: 126px}
.bd7-home-guide-card h4 {margin: 0 0 14px; font-size: 15px; font-weight: 900; color: #111827}
.bd7-home-guide-card p {margin: 0; font-size: 13px; line-height: 1.65; font-weight: 700; color: #4b5563}
.bd7-home-guide-card.meal {grid-row: span 2; background: #fffaf2; border-color: #f3e0c5}
.bd7-home-guide-card.tip {  background: #f2fbf4; border-color: #d9efdd}
.bd7-home-guide-card.fresh {background: #f2f8ff; border-color: #d7e8ff}
.bd7-guide-menu-row {display: grid; grid-template-columns: 38px minmax(0, 1fr) 74px; align-items: center; gap: 10px; padding: 10px 0; border-top: 1px solid #f1e4d2}
.bd7-guide-menu-row:first-of-type {border-top: none}
.bd7-guide-menu-row span {width: 36px; height: 36px; border-radius: 10px; background: #fff; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08)}
.bd7-guide-menu-row strong {font-size: 13px; font-weight: 900; color: #111827; word-break: keep-all}
.bd7-guide-menu-row em {font-style: normal; font-size: 11px; font-weight: 800; color: #6b7280; white-space: nowrap}
.bd7-tip-emoji {  margin-top: 12px; text-align: right; font-size: 42px}
.bd7-nutrition-bars {display: flex; flex-direction: column; gap: 16px; margin-top: 22px}
.bd7-nutrition-row {display: grid; grid-template-columns: 76px minmax(0, 1fr) 48px; align-items: center; gap: 12px}
.bd7-nutrition-row span {font-size: 13px; font-weight: 900; color: #111827}
.bd7-nutrition-row strong {font-size: 13px; font-weight: 900; text-align: right; color: #16a34a}
.bd7-bar {position: relative; height: 12px; overflow: hidden; border-radius: 999px; background: #edf0f4}
.bd7-bar i {display: block; height: 100%; border-radius: inherit; background: #50b96b}
.bd7-bar.yellow i {background: #f5b52e}
.bd7-bar.orange i {background: #ff6b2f}
.bd7-bar.blue i {background: #55aee8}
.bd7-nutrition-row:nth-child(4) strong {color: #ef4444 !important}
.bd7-nutrition-row:nth-child(4) .bd7-bar i {background: #ef4444 !important}
.bd7-diversity-panel {min-height: 260px; overflow: hidden}
.bd7-diversity-wrap {display: flex !important; flex-direction: column !important; align-items: center !important; gap: 18px !important; margin-top: 18px !important}
.bd7-diversity-donut {width: 148px; height: 148px; border-radius: 999px; background: conic-gradient(#58c878 0deg 259deg, #ffe08a 259deg 360deg); position: relative; display: flex; align-items: center; justify-content: center}
.bd7-diversity-donut::after {content: ''; position: absolute; width: 92px; height: 92px; border-radius: 999px; background: #fff}
.bd7-diversity-center {position: relative; z-index: 1; text-align: center}
.bd7-diversity-center strong {display: block; font-size: 32px; font-weight: 900; line-height: 1; color: #111827}
.bd7-diversity-center span {display: block; margin-top: 8px; font-size: 12px; font-weight: 900; color: #111827}
.bd7-diversity-legend {width: 100%; display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px 14px !important}
.bd7-diversity-legend-row {display: grid !important; grid-template-columns: 10px minmax(0, 1fr) !important; gap: 7px !important; align-items: center !important; font-size: 13px}
.bd7-diversity-legend-row i {  width: 9px; height: 9px; border-radius: 999px}
.bd7-diversity-legend-row i.very-good {background: #58c878}
.bd7-diversity-legend-row i.good {background: #9be6a7}
.bd7-diversity-legend-row i.normal {background: #ffe08a}
.bd7-diversity-legend-row i.low {background: #ff7b7b}
.bd7-diversity-legend-row span {font-size: 12px; font-weight: 800; line-height: 1.2; color: #374151; word-break: keep-all}
.bd7-diversity-legend-row strong {grid-column: 2 / 3 !important; font-size: 11px; font-weight: 800; color: #9ca3af; white-space: nowrap}
.bd7-ai-summary-panel {display: flex; flex-direction: column}
.bd7-ai-summary-content {flex: 1; display: flex; align-items: center; gap: 22px}
.bd7-ai-check-circle {width: 104px; height: 104px; border-radius: 999px; border: 8px solid #50b96b; color: #50b96b; display: inline-flex; align-items: center; justify-content: center; font-size: 62px; font-weight: 900; flex: 0 0 auto}
.bd7-ai-summary-content strong {display: block; font-size: 18px; font-weight: 900; line-height: 1.55; color: #16a34a}
.bd7-ai-summary-content p {margin: 16px 0 0; font-size: 14px; font-weight: 800; line-height: 1.6; color: #111827}
.bd7-report-footnote {margin: 0; padding: 14px 24px 28px; font-size: 12px; font-weight: 600; color: #9ca3af; background: #fff}
@media (max-width:900px) {
  .blockchain-demo7-wrap, .bd7-banner-wrap, .bd7-banner-mobile {  max-width: 100% !important}
  .bd7-parent-report-head {flex-direction: column; align-items: stretch; padding: 28px 22px}
  .bd7-report-summary-grid, .bd7-week-meal-grid {grid-template-columns: repeat(2, minmax(0, 1fr))}
  .bd7-report-main-grid, .bd7-report-bottom-grid, .bd7-home-guide-grid {grid-template-columns: 1fr !important}
  .bd7-home-guide-card.meal {grid-row: auto}
}
@media (max-width:640px) {
  .bd7-parent-report {    border-radius: 14px}
  .bd7-parent-report-head {padding: 24px 18px}
  .bd7-parent-report-head .blockchain-demo7-title {font-size: 23px}
  .bd7-report-summary-grid, .bd7-week-meal-grid {grid-template-columns: 1fr}
  .bd7-week-meal-card img {height: 140px}
  .bd7-report-main-grid, .bd7-report-bottom-grid {padding-left: 18px; padding-right: 18px}
  .bd7-report-panel {padding: 20px 18px}
  .bd7-report-notice-box {grid-template-columns: 34px minmax(0, 1fr)}
  .bd7-report-small-btn {grid-column: 1 / -1; width: 100%}
  .bd7-ai-summary-content {flex-direction: column; text-align: center}
  .bd7-ai-check-circle {width: 92px; height: 92px; font-size: 54px}
}
/*20260501 내용*/

.bd7-bar {overflow: hidden}
.bd7-bar i {  display: block; width: 100%; height: 100%; transform-origin: left center; transform: scaleX(0)}
.bd7-bar.green i {  background: #50b96b}
.bd7-bar.yellow i {  background: #f5b52e}
.bd7-bar.orange i {  background: #ff6b2f}
.bd7-bar.blue i {  background: #55aee8}
.bd7-diversity-donut {--score-deg: 0deg; background: conic-gradient(#58c878 0deg var(--score-deg), #edf0f4 var(--score-deg) 360deg) !important}
.bd7-week-meal-card img {cursor: zoom-in}
.bd7-allergy-status {display: none !important}
/* 정렬 탭 */

.bd7-sort-tabs {display: flex; align-items: center; flex-wrap: wrap; gap: 0; margin: 0 0 14px; padding: 0 0 10px; border-bottom: 1px solid #e5e7eb}
.bd7-sort-tab {border: 0; background: transparent; padding: 0 12px; font-size: 13px; font-weight: 700; color: #9ca3af; cursor: pointer; line-height: 1; border-right: 1px solid #ddd}
.bd7-sort-tab:first-child {padding-left: 0}
.bd7-sort-tab:last-child {border-right: 0}
.bd7-sort-tab.active {color: #111827; font-weight: 900}
/* 식자재 검색 */

.bd7-food-search-section {margin-top: 24px; padding: 28px 32px !important; border-radius: 18px !important; background: #fff !important}
.bd7-food-search-head {margin-bottom: 20px}
.bd7-food-search-head .blockchain-demo7-section-title {margin-bottom: 8px; font-size: 24px}
.bd7-food-search-head .blockchain-demo7-desc {margin-bottom: 0}
.bd7-food-filter-box {  display: grid; grid-template-columns: 1fr; gap: 18px; padding: 22px; margin-bottom: 18px; border-radius: 16px; background: #fff0e8}
.bd7-food-filter-box .blockchain-demo7-field {  margin-bottom: 0}
.bd7-food-filter-box .blockchain-demo7-field.row {  gap: 10px; max-width: 620px}
.bd7-food-filter-box .blockchain-demo7-field.row label {width: auto; min-width: 66px; color: #ff6b4a; font-weight: 900}
.bd7-food-filter-box .bd7-select {height: 46px !important; border-radius: 6px !important; background: #fff !important; text-align: left !important}
/* 2단계 달력 + 이미지 */

.bd7-meal-calendar-preview {display: grid; grid-template-columns: .9fr 1.5fr; gap: 18px; margin: 18px 0}
.bd7-calendar-box, .bd7-meal-image-box {background: #fff; border: 1.5px solid #ffd6ca; border-radius: 18px; padding: 22px}
.bd7-calendar-head {display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px}
.bd7-calendar-head button {border: 0; background: #fff; font-size: 28px; font-weight: 900; cursor: pointer; color: #111827}
.bd7-calendar-head strong {font-size: 18px; font-weight: 900; color: #111827}
.bd7-calendar-week, .bd7-calendar-days {display: grid; grid-template-columns: repeat(7, 1fr); gap: 8px; text-align: center}
.bd7-calendar-week span {font-size: 13px; font-weight: 900; color: #6b7280}
.bd7-cal-day {height: 38px; border: 0; border-radius: 999px; background: transparent; font-size: 14px; font-weight: 700; color: #374151; cursor: pointer}
.bd7-cal-day.other {color: #c4c4c4}
.bd7-cal-day.has-meal {color: #111827}
.bd7-cal-day.active {background: #ff5a2f; color: #fff; font-weight: 900}
.bd7-meal-image-box {display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; gap: 18px}
.bd7-selected-date-label {align-self: flex-start}
#bd7-selected-date-text {width: 100%; text-align: center; margin-bottom: 20px}
.bd7-selected-meal-image {width: 100% !important; max-width: 620px !important; height: 320px !important; border-radius: 18px !important; overflow: hidden !important; background: #f3f4f6 !important; display: flex !important; align-items: center !important; justify-content: center !important}
.bd7-selected-meal-image img {  width: 100% !important; height: 100% !important; object-fit: contain !important; object-position: center center !important; display: block !important; background: #f3f4f6 !important}
#bd7-holiday-box {width: 100%; height: 100%; border-radius: 18px; background: #f8fafc; border: 2px dashed #d1d5db; display: flex; align-items: center; justify-content: center; text-align: center; box-sizing: border-box}
.bd7-holiday-inner {display: flex; flex-direction: column; align-items: center; gap: 10px}
.bd7-holiday-icon {font-size: 52px}
.bd7-holiday-title {font-size: 28px; font-weight: 900; color: #111827}
.bd7-holiday-desc {font-size: 15px; font-weight: 700; color: #6b7280}
/* 모바일 상단 메뉴 */

@media (max-width:640px) {
  .bd7-banner-mobile-steps {position: sticky; top: 0; z-index: 9999; width: 100%; background: #ff531f; border-radius: 0 !important; overflow: hidden}
  .bd7-mobile-step {background: #ff531f}
  .bd7-mobile-step.active::before {  top: 0 !important; bottom: 0 !important; border-radius: 14px 14px 0 0}
}
/* 반응형 */

@media(max-width:768px) {
  .bd7-food-search-section {padding: 22px 18px !important}
  .bd7-food-filter-box {padding: 18px}
  .bd7-meal-calendar-preview {grid-template-columns: 1fr}
  .bd7-selected-meal-image {height: 220px !important}
}
/* 1단계 식자재 정보 - 한줄 레이아웃 */
.bd7-food-search-section {max-width: none !important; width: 100% !important; padding: 40px 38px !important; border-radius: 18px !important; background: #fff !important}
.bd7-food-search-section .blockchain-demo7-section-title {font-size: 28px !important; font-weight: 900 !important; margin-bottom: 24px !important; color: #000 !important}
.bd7-food-filter-box {margin-bottom: 30px !important}
/* 카드 */
.bd7-food-ingredients-table tr {display: grid !important; grid-template-columns: minmax(220px, 1fr) auto auto auto !important; align-items: center !important; gap: 18px !important; min-height: 84px !important; padding: 0 28px !important; margin-bottom: 14px !important; border: 1px solid #e5e7eb !important; border-radius: 16px !important; background: #fff !important}
.bd7-food-ingredients-table td {padding: 0 !important; border: none !important; margin: 0 !important}
/* 왼쪽 품명 영역 */
.bd7-food-left {display: flex; align-items: center; gap: 12px; min-width: 0}
.bd7-food-title-row {display: flex !important; align-items: center !important; gap: 12px !important}
.bd7-food-title-row strong {font-size: 24px !important; font-weight: 900 !important; color: #111827 !important; white-space: nowrap}
.bd7-food-ingredients-table .bd7-cell-name {font-size: 18px !important; font-weight: 900 !important; color: #111827 !important; white-space: nowrap}
/* 카테고리 */
.bd7-category-chip {display: inline-flex !important; align-items: center !important; justify-content: center !important; padding: 4px 10px !important; border-radius: 8px !important; background: #f3f4f6 !important; color: #9ca3af !important; font-size: 12px !important; font-weight: 800 !important; line-height: 1}
.bd7-food-sub {display: none !important}
/* 오른쪽 정보 */
.bd7-food-right {display: flex; align-items: center; gap: 18px; font-size: 15px; font-weight: 700; color: #111827}
/* 지역 */
.bd7-food-ingredients-table .bd7-cell-origin {display: block !important; text-align: right !important; font-size: 15px !important; font-weight: 900 !important; color: #111827 !important; white-space: nowrap !important}
/* 공급사 */
.bd7-food-ingredients-table .bd7-cell-supplier {  display: block !important; text-align: right !important; font-size: 15px !important; font-weight: 700 !important; color: #6b7280 !important; white-space: nowrap !important}
/* 가격 */
.bd7-food-ingredients-table .bd7-cell-price {display: block !important; text-align: right !important; font-size: 15px !important; font-weight: 900 !important; color: #111827 !important; white-space: nowrap !important}
/* 모바일 */
@media(max-width:640px) {
  .bd7-food-search-section {  padding: 24px 18px !important}
  .bd7-food-ingredients-table tr {grid-template-columns: 1fr !important; gap: 8px !important; padding: 20px !important}
  .bd7-food-right {flex-wrap: wrap; gap: 10px}
  .bd7-food-ingredients-table .bd7-cell-origin, .bd7-food-ingredients-table .bd7-cell-supplier, .bd7-food-ingredients-table .bd7-cell-price {  text-align: left !important}
  .bd7-food-title-row strong {font-size: 20px !important}
}
/* 1단계 식자재 카드 정렬 최종 */
.bd7-food-ingredients-table tr {  display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 24px !important; min-height: 84px !important; padding: 0 28px !important}
/* 왼쪽 */
.bd7-food-title-row {display: flex !important; align-items: center !important; gap: 12px !important; flex: 1 !important; min-height: 84px !important}
/* 품명 세로 중앙 */

.bd7-food-title-row strong, .bd7-food-ingredients-table .bd7-cell-name {display: flex !important; align-items: center !important; height: 84px !important; margin: 0 !important}
/* 오른쪽 */

.bd7-food-right {display: flex !important; align-items: center !important; justify-content: flex-end !important; gap: 10px !important; white-space: nowrap !important; flex-shrink: 0 !important}
/* 구분자 자동 */

.bd7-food-right>* {display: flex !important; align-items: center !important}
.bd7-food-right>*:not(:last-child)::after {content: "|"; margin-left: 10px; color: #d1d5db; font-weight: 400}
/* supplier margin 제거 */

.bd7-food-ingredients-table .bd7-cell-supplier {margin-top: 0 !important}
/* 가격 */
.bd7-food-ingredients-table .bd7-cell-price {display: block !important}
/* 모바일 식자재 카드 - 세로형 */
@media(max-width:640px) {
  .bd7-food-ingredients-table tr.bd7-food-row {display: grid !important; grid-template-columns: 1fr auto !important; grid-template-areas: "left origin" "supplier origin" !important; align-items: center !important; gap: 8px 14px !important; min-height: 120px !important; padding: 22px 24px !important; border-radius: 16px !important}
  .bd7-food-left {grid-area: left !important; align-items: flex-start !important}
  .bd7-food-title-row {height: auto !important; align-items: center !important; gap: 10px !important}
  .bd7-food-title-row strong {font-size: 24px !important; line-height: 1.1 !important}
  .bd7-category-chip {font-size: 12px !important; padding: 5px 10px !important}
  .bd7-food-right {display: contents !important}
  .bd7-cell-origin {  grid-area: origin !important; align-self: center !important; justify-self: end !important; font-size: 28px !important; font-weight: 900 !important; color: #111827 !important}
  .bd7-cell-supplier {grid-area: supplier !important; justify-self: start !important; font-size: 20px !important; font-weight: 700 !important; color: #8b95a1 !important}
  .bd7-cell-price {display: none !important}
  .bd7-food-right span::after {content: none !important}
}
.bd7-upload-date-badge {  display: inline-flex; align-items: center; gap: 8px; margin: 0 0 18px; padding: 8px 14px; border-radius: 999px; background: #fff0e8; color: #ff5a2f; font-size: 13px; font-weight: 800}
.bd7-upload-date-badge strong {color: #111827; font-size: 14px}
/* 1단계: 설명 박스와 검색 영역 분리 */
.blockchain-demo7-main-box1 .blockchain-demo7-title-box {margin-bottom: 18px !important}
/* 흰색 검색 박스 */
.bd7-food-search-white-box {margin: 0 0 18px !important; padding: 22px 26px !important; background: #fff !important; border: 1px solid #f1f1f1 !important; border-radius: 18px !important; box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04) !important}
.bd7-food-search-white-box .blockchain-demo7-field {margin-bottom: 0 !important; max-width: 520px !important}
.bd7-food-search-white-box label {color: #ff5a2f !important; font-weight: 900 !important}
.bd7-food-search-white-box input {height: 46px !important; background: #fff !important; text-align: left !important; border: 1.5px solid #ff7a59 !important; border-radius: 7px !important}
/* 기존 주황 검색 박스 영향 제거 */
.blockchain-demo7-title-box .bd7-food-filter-box {display: none !important}
/* 2단계: 설명 박스와 선택 영역 분리 */
.blockchain-demo7-main-box2 .blockchain-demo7-title-box {margin-bottom: 18px !important}
.bd7-step2-search-white-box {margin: 0 0 18px !important; padding: 22px 26px !important; background: #fff !important; border: 1px solid #f1f1f1 !important; border-radius: 18px !important; box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04) !important}
.bd7-step2-search-white-box .blockchain-demo7-grid {grid-template-columns: repeat(3, 1fr) !important; gap: 18px !important}
.bd7-step2-search-white-box .blockchain-demo7-field {margin-bottom: 0 !important}
.bd7-step2-search-white-box label {  color: #ff5a2f !important; font-weight: 900 !important}
.bd7-step2-search-white-box select, .bd7-step2-search-white-box input {height: 46px !important; background: #fff !important; text-align: center !important; border: 1.5px solid #ff7a59 !important; border-radius: 7px !important}
@media(max-width:640px) {
  .bd7-step2-search-white-box {padding: 18px !important}
  .bd7-step2-search-white-box .blockchain-demo7-grid {grid-template-columns: 1fr !important; gap: 12px !important}
}
/*아래쪽 식단명 숨기기*/
.bd7-current-menu-box {display: none !important}
/* 2단계 달력 | 이미지 | 식단내용 3분할 */
.bd7-meal-calendar-preview {display: grid !important; grid-template-columns: 1fr 1.35fr .9fr !important; gap: 18px !important; align-items: stretch !important}
.bd7-calendar-box, .bd7-meal-image-box, .bd7-meal-menu-side-box {background: #fff !important; border: 1.5px solid #ffd6ca !important; border-radius: 18px !important; padding: 22px !important; box-sizing: border-box !important}
.bd7-meal-image-box {display: flex !important; flex-direction: column !important; justify-content: center !important}
.bd7-selected-meal-image {height: 320px !important; max-width: 100% !important}
.bd7-selected-meal-image img {width: 100% !important; height: 100% !important; object-fit: contain !important}
.bd7-meal-menu-side-box h3 {margin: 0 0 24px !important; text-align: center !important; font-size: 22px !important; font-weight: 900 !important; color: #111827 !important}
.bd7-meal-menu-date {display: inline-flex !important; align-items: center !important; justify-content: center !important; margin-bottom: 22px !important; padding: 8px 14px !important; border-radius: 999px !important; background: #ff5a2f !important; color: #fff !important; font-size: 14px !important; font-weight: 900 !important}
#bd7-side-menu-list {display: flex !important; flex-direction: column !important; gap: 18px !important}
.bd7-side-menu-item {position: relative; padding-left: 18px; font-size: 17px; font-weight: 800; color: #111827}
.bd7-side-menu-item::before {content: ""; position: absolute; left: 0; top: 10px; width: 6px; height: 6px; border-radius: 50%; background: #ff5a2f}
@media(max-width:900px) {
  .bd7-meal-calendar-preview {grid-template-columns: 1fr !important}
  .bd7-selected-meal-image {height: 240px !important}
}
/* 3단계: 설명 / 선택영역 분리 */
.blockchain-demo7-main-box3 .blockchain-demo7-title-box {margin-bottom: 18px !important}
/* 흰색 선택 박스 */
.bd7-step3-search-white-box {margin: 0 0 22px !important; padding: 22px 26px !important; background: #fff !important; border: 1px solid #f1f1f1 !important; border-radius: 18px !important; box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04) !important}
.bd7-step3-search-white-box .blockchain-demo7-grid {grid-template-columns: repeat(3, 1fr) !important; gap: 18px !important}
.bd7-step3-search-white-box .blockchain-demo7-field {margin-bottom: 0 !important}
.bd7-step3-search-white-box label {color: #ff5a2f !important; font-weight: 900 !important}
.bd7-step3-search-white-box input, .bd7-step3-search-white-box select {height: 46px !important; border-radius: 7px !important; border: 1.5px solid #ff7a59 !important; background: #fff !important; text-align: center !important}
.bd7-step3-search-white-box input[readonly] {background: #f3f4f6 !important; border-color: #e5e7eb !important; color: #6b7280 !important}
/* 모바일 */
@media(max-width:768px) {
  .bd7-step3-search-white-box {padding: 18px !important}
  .bd7-step3-search-white-box .blockchain-demo7-grid {  grid-template-columns: 1fr !important; gap: 12px !important}
}
/* 3단계 급식 이미지 등록 좌우 2분할 */

.bd7-image-compare-wrap {  display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items: stretch}
.bd7-image-compare-card {border: 1px solid #e5e7eb; border-radius: 16px; background: #fff; padding: 14px}
.bd7-image-compare-title {margin: 0 0 12px; font-size: 15px; font-weight: 900; color: #111827}
.bd7-image-compare-box {min-height: 220px; border-radius: 12px; background: #f1f1f1; display: flex; align-items: center; justify-content: center; overflow: hidden}
.bd7-image-compare-box img {width: 100%; height: 100%; max-height: 260px; object-fit: contain; display: block}
.bd7-ai-placeholder {display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; color: #8b8b8b; font-size: 14px; font-weight: 800; text-align: center}
.bd7-ai-placeholder .icon {font-size: 38px}
@media(max-width:768px) {
  .bd7-image-compare-wrap {grid-template-columns: 1fr  }
  .bd7-image-compare-box {  min-height: 190px}
}
.bd7-image-compare-wrap {display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 18px !important; align-items: stretch !important}
.bd7-image-compare-card {background: #fff !important; border: 1px solid #e5e7eb !important; border-radius: 18px !important; padding: 18px !important; box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04) !important}
.bd7-image-compare-title {margin: 0 0 14px !important; font-size: 17px !important; font-weight: 900 !important; color: #111827 !important}
.bd7-image-compare-box {width: 100% !important; height: 260px !important; border-radius: 14px !important; background: #f1f1f1 !important; display: flex !important; align-items: center !important; justify-content: center !important; overflow: hidden !important}
.bd7-image-compare-box img {width: 100% !important; height: 100% !important; object-fit: contain !important; object-position: center center !important; display: block !important}
.bd7-ai-placeholder {display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; gap: 10px !important; color: #8b8b8b !important; font-size: 14px !important; font-weight: 800 !important; text-align: center !important; line-height: 1.5 !important}
.bd7-ai-placeholder .icon {font-size: 42px !important}
.bd7-ai-loading-inside {width: 100% !important; padding: 32px 24px !important; box-sizing: border-box !important; background: transparent !important; box-shadow: none !important}
@media(max-width:768px) {
  .bd7-image-compare-wrap {grid-template-columns: 1fr !important}
  .bd7-image-compare-box {  height: 220px !important}
}
.bd7-ai-result-card {  background: #fff !important; border: 1px solid #e5e7eb !important; border-radius: 18px !important; padding: 28px !important; box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04) !important}
.bd7-ai-result-head {margin-bottom: 26px !important}
.bd7-ai-result-head h3 {margin: 0 0 10px !important; font-size: 24px !important; font-weight: 900 !important; color: #111827 !important}
.bd7-ai-result-head p {margin: 0 !important; font-size: 14px !important; color: #6b7280 !important; font-weight: 600 !important}
.bd7-ai-result-grid {display: grid !important; grid-template-columns: 1fr 1.1fr 0.9fr !important; gap: 32px !important; align-items: center !important}
.bd7-ai-result-menu {border-right: 1px solid #d1d5db !important; padding-right: 28px !important}
.bd7-ai-result-menu h4, .bd7-ai-result-nutrition h4 {margin: 0 0 18px !important; font-size: 17px !important; font-weight: 900 !important; color: #111827 !important}
.bd7-ai-result-menu ul {margin: 0 !important; padding-left: 20px !important}
.bd7-ai-result-menu li {margin-bottom: 10px !important; font-size: 15px !important; font-weight: 700 !important; color: #111827 !important}
.bd7-ai-result-nutrition .nutrition-information {border: none !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important}
.bd7-ai-result-allergy .blockchain-demo7-allergy {margin: 0 !important; min-height: 110px !important; display: flex !important; flex-direction: column !important; justify-content: center !important}
@media(max-width:900px) {
  .bd7-ai-result-grid {grid-template-columns: 1fr !important; gap: 24px !important}
  .bd7-ai-result-menu {  border-right: none !important; border-bottom: 1px solid #e5e7eb !important; padding-right: 0 !important; padding-bottom: 22px !important}
}
.bd7-week-empty-box {  height: 92px; border-radius: 10px; background: #f8fafc; border: 1.5px dashed #d1d5db; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; margin-top: 10px; color: #9ca3af; text-align: center}
.bd7-week-empty-icon {  font-size: 24px; line-height: 1}
.bd7-week-empty-title {font-size: 12px; font-weight: 900; color: #6b7280}
.bd7-week-tags em.empty {background: #f3f4f6; color: #6b7280; border: 1px solid #e5e7eb}
.bd7-week-meal-card.bd7-no-meal-card {background: #fbfbfc !important; border-style: dashed !important}
@media(max-width:640px) {
  .bd7-week-empty-box {height: 140px}
}
.bd7-food-row {cursor: pointer; transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease}
.bd7-food-row:hover {transform: translateY(-2px); border-color: #ff7a59 !important; box-shadow: 0 10px 24px rgba(255, 122, 89, .14)}
.bd7-food-row {cursor: pointer}
.bd7-food-row:hover {border-color: #ff7a59 !important; box-shadow: 0 10px 24px rgba(255, 122, 89, .14)}
.blockchain-demo7-info-box-img-box .bd7-icon {width: 90px !important; max-width: 90px !important; height: auto !important}
.bd7-origin-list {display: flex; flex-direction: column; gap: 0; padding: 0 !important; overflow: hidden; background: #fff !important; border: 1px solid #e5e7eb}
.bd7-origin-item-row {display: flex !important; align-items: center !important; justify-content: space-between !important; grid-template-columns: none !important; gap: 14px !important; padding: 14px 18px !important; border-bottom: 1px solid #eef0f3}
.bd7-origin-item-row:last-child {border-bottom: none}
.bd7-origin-item-left {display: flex; align-items: center; gap: 12px; min-width: 0}
.bd7-origin-emoji {  width: 34px; height: 34px; border-radius: 999px; background: #fff3ec; display: inline-flex; align-items: center; justify-content: center; font-size: 20px; flex-shrink: 0}
.bd7-origin-item-left strong {font-size: 15px; font-weight: 900; color: #111827; white-space: nowrap}
.bd7-origin-place {font-size: 14px; font-weight: 800; color: #111827; white-space: nowrap}
.bd7-origin-empty {padding: 22px; text-align: center; color: #9ca3af; font-size: 13px; font-weight: 700}
.bd7-origin-history-list {display: flex; flex-direction: column; gap: 0; padding: 0 !important; overflow: hidden; background: #fff !important; border: 1px solid #e5e7eb}
.bd7-origin-history-item {display: grid !important; grid-template-columns: minmax(0, 1fr) auto !important; align-items: center !important; gap: 12px !important; padding: 14px 16px !important; border-bottom: 1px solid #eef0f3}
.bd7-origin-history-item:last-child {border-bottom: none}
.bd7-origin-history-item span {font-size: 14px; font-weight: 700; color: #111827; white-space: nowrap; overflow: hidden; text-overflow: ellipsis}
.bd7-origin-link-btn {width: auto !important; min-width: 52px; height: 30px !important; padding: 0 12px !important; border-radius: 999px !important; background: #fff0e8 !important; color: #ff5a2f !important; border: 1px solid #ffd0bf !important; font-size: 12px !important; font-weight: 900 !important}
.bd7-origin-link-btn:hover {background: #ff5a2f !important; color: #fff !important}
/* AI 분석 결과 - 원산지 / 원산지 이력 2열 배치 */

.bd7-origin-wrap {display: grid !important; grid-template-columns: 0.85fr 1.15fr !important; gap: 24px !important; align-items: start !important; margin-top: 24px !important; padding-top: 22px !important; border-top: 1px solid #e5e7eb !important}
.bd7-origin-left, .bd7-origin-right {min-width: 0 !important}
.bd7-origin-left h4, .bd7-origin-right h4 {margin: 0 0 14px !important; font-size: 18px !important; font-weight: 900 !important; color: #111827 !important}
/* 왼쪽 원산지 카드 */

.bd7-origin-list {min-height: 118px}
/* 오른쪽 이력 카드 */

.bd7-origin-history-list {min-height: 118px}
/* 모바일에서는 세로 배치 */

@media (max-width: 768px) {
  .bd7-origin-wrap {grid-template-columns: 1fr !important; gap: 18px !important}
}
.bd7-origin-wrap {  display: grid !important; grid-template-columns: 0.9fr 1.4fr !important; gap: 24px !important; align-items: start !important}
.bd7-origin-left, .bd7-origin-right {min-width: 0 !important}
@media (max-width: 768px) {
  .bd7-origin-wrap {grid-template-columns: 1fr !important}
}
.bd7-week-origin-grid {  display: grid; grid-template-columns: .85fr 1.35fr; gap: 22px; padding: 18px 24px 30px; background: #fff}
.bd7-week-origin-panel {  min-width: 0; padding: 24px; border: 1px solid #edf0f4; border-radius: 18px; background: #fff; box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04)}
.bd7-week-origin-panel h3 {margin: 0 0 16px; font-size: 22px; font-weight: 900; color: #111827; letter-spacing: -0.04em}
.bd7-week-origin-list, .bd7-week-origin-history-list {border: 1px solid #e5e7eb; border-radius: 14px; overflow: hidden; background: #fff}
.bd7-week-origin-row {display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 17px 18px; border-bottom: 1px solid #edf0f4}
.bd7-week-origin-row:last-child {border-bottom: none}
.bd7-week-origin-name {display: flex; align-items: center; gap: 12px; min-width: 0}
.bd7-week-origin-name span {width: 38px; height: 38px; border-radius: 999px; background: #fff0e8; display: inline-flex; align-items: center; justify-content: center; font-size: 20px; flex: 0 0 auto}
.bd7-week-origin-name strong {font-size: 16px; font-weight: 900; color: #111827}
.bd7-week-origin-place {font-size: 15px; font-weight: 900; color: #111827; white-space: nowrap}
.bd7-week-origin-history-row {display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 17px 18px; border-bottom: 1px solid #edf0f4}
.bd7-week-origin-history-row:last-child {border-bottom: none}
.bd7-week-origin-history-text {display: flex; align-items: center; gap: 12px; min-width: 0}
.bd7-week-origin-history-text span {width: 38px; height: 38px; border-radius: 999px; background: #fff0e8; display: inline-flex; align-items: center; justify-content: center; font-size: 20px; flex: 0 0 auto}
.bd7-week-origin-history-text strong {display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 15px; font-weight: 900; color: #111827}
.bd7-week-origin-view-btn {width: auto !important; height: 36px !important; padding: 0 16px !important; border-radius: 999px !important; background: #fff7f2 !important; border: 1px solid #ffb199 !important; color: #ff5a2f !important; font-size: 13px !important; font-weight: 900 !important}
.bd7-week-origin-empty {padding: 28px 18px; text-align: center; color: #9ca3af; font-size: 14px; font-weight: 700}
@media(max-width:900px) {
  .bd7-week-origin-grid {grid-template-columns: 1fr}
}
@media(max-width:640px) {
  .bd7-week-origin-grid {  padding: 18px}
  .bd7-week-origin-panel {  padding: 20px 16px}
  .bd7-week-origin-row, .bd7-week-origin-history-row {padding: 15px 14px}
  .bd7-week-origin-place {  font-size: 13px}
  .bd7-week-origin-history-text strong {font-size: 13px}
}
.bd7-week-origin-history-text span {width: 44px; height: 44px; border-radius: 999px; background: #fff4ef; display: inline-flex; align-items: center; justify-content: center; font-size: 24px; line-height: 1; flex: 0 0 auto; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7), 0 2px 6px rgba(0, 0, 0, 0.04)}
.bd7-cell-brand {display: inline-flex !important; align-items: center !important; gap: 8px !important; white-space: nowrap !important}
.bd7-cell-brand img {display: block !important; max-width: 86px !important; max-height: 26px !important; object-fit: contain !important}
.bd7-cell-brand span {font-size: 15px !important; font-weight: 700 !important; color: #6b7280 !important}
/* 기존 supplier 텍스트 숨김용 아님. 새 구조에서는 brand 사용 */

.bd7-food-right>.bd7-cell-brand:not(:last-child)::after {content: "|"; margin-left: 10px; color: #d1d5db; font-weight: 400}
@media(max-width:640px) {
  .bd7-cell-brand {grid-area: supplier !important; justify-self: start !important}
  .bd7-cell-brand img {max-width: 92px !important; max-height: 24px !important}
  .bd7-cell-brand span {  font-size: 16px !important}
}
.bd7-home-care-box {width: 100%; padding: 18px; border-radius: 18px; background: #fff; border: 1px solid #edf0f4; box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04); box-sizing: border-box}
.bd7-home-care-head {margin-bottom: 16px}
.bd7-home-care-head h4 {margin: 0 0 6px; font-size: 17px; font-weight: 900; color: #111827}
.bd7-home-care-head p {margin: 0; font-size: 12px; font-weight: 700; color: #9ca3af}
.bd7-home-care-list {display: flex; flex-direction: column; gap: 10px}
.bd7-home-care-item {display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 12px; align-items: center; padding: 14px; border-radius: 15px; border: 1px solid #edf0f4; background: #fff}
.bd7-home-care-item.green {background: #f4fff8; border-color: #d7f3df}
.bd7-home-care-item.orange {background: #fffaf2; border-color: #ffe3bd}
.bd7-home-care-item.blue {background: #f5f9ff; border-color: #d9e8ff}
.bd7-home-care-icon {width: 42px; height: 42px; border-radius: 999px; display: flex; align-items: center; justify-content: center; font-size: 24px; background: #fff; box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06)}
.bd7-home-care-text strong {display: block; margin-bottom: 5px; font-size: 14px; font-weight: 900; color: #111827}
.bd7-home-care-text p {margin: 0; font-size: 12px; font-weight: 700; line-height: 1.55; color: #4b5563}
@media(max-width:640px) {
  .bd7-home-care-box {  padding: 16px}
  .bd7-home-care-item {  grid-template-columns: 42px minmax(0, 1fr); padding: 13px}
  .bd7-home-care-icon {width: 38px; height: 38px; font-size: 22px}
}
/* AI 한줄 리포트 - 아이디어 4 */

.bd7-ai-summary-panel {position: relative; overflow: hidden}
.bd7-ai-report-v4 {position: relative; min-height: 230px; padding: 30px 24px; border-radius: 22px; background: radial-gradient(circle at 12% 20%, rgba(83, 174, 232, .12), transparent 28%), radial-gradient(circle at 88% 18%, rgba(255, 214, 120, .18), transparent 24%), linear-gradient(135deg, #ffffff 0%, #f8fcff 100%); border: 1px solid #dbeafe; display: grid; grid-template-columns: 150px minmax(0, 1fr); align-items: center; gap: 28px}
.bd7-ai-report-v4::before, .bd7-ai-report-v4::after {content: ""; position: absolute; width: 7px; height: 7px; border-radius: 2px; transform: rotate(45deg); opacity: .75}
.bd7-ai-report-v4::before {right: 58px; top: 34px; background: #93c5fd}
.bd7-ai-report-v4::after {right: 104px; bottom: 58px; background: #facc15}
.bd7-ai-face-wrap {position: relative; width: 130px; height: 130px; display: flex; align-items: center; justify-content: center}
.bd7-ai-face {position: relative; width: 118px; height: 118px; border-radius: 999px; background: #fff; border: 4px solid #16a34a; box-shadow: 0 12px 28px rgba(22, 163, 74, .16)}
.bd7-ai-face .eye {position: absolute; top: 42px; width: 12px; height: 12px; border: 4px solid #16a34a; border-bottom: 0; border-left: 0; border-radius: 999px; transform: rotate(-45deg)}
.bd7-ai-face .eye.left {left: 34px}
.bd7-ai-face .eye.right {right: 34px}
.bd7-ai-face .smile {position: absolute; left: 50%; bottom: 32px; width: 42px; height: 24px; border: 4px solid #16a34a; border-top: 0; border-radius: 0 0 999px 999px; transform: translateX(-50%)}
.bd7-ai-heart {position: absolute; right: 0; bottom: 4px; width: 46px; height: 46px; border-radius: 999px; background: #16a34a; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 24px; font-weight: 900; box-shadow: 0 10px 22px rgba(22, 163, 74, .28)}
.bd7-ai-report-text strong {display: block; margin-bottom: 8px; font-size: 26px; font-weight: 900; color: #16a34a; line-height: 1.35}
.bd7-ai-report-text p {margin: 0; font-size: 24px; font-weight: 900; line-height: 1.55; color: #111827}
.bd7-ai-report-tags {display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px}
.bd7-ai-report-tags span {display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 900; color: #166534}
@media(max-width:640px) {
  .bd7-ai-report-v4 {grid-template-columns: 1fr; text-align: center; justify-items: center; padding: 28px 18px}
  .bd7-ai-report-text strong {  font-size: 23px}
  .bd7-ai-report-text p {font-size: 21px}
  .bd7-ai-report-tags {justify-content: center}
}
/* AI 한줄 리포트 - 폭 좁을 때 깨짐 방지 최종 */

.bd7-ai-summary-panel {  min-width: 0 !important}
.bd7-ai-report-v4 {  min-height: 230px !important; padding: 26px 22px !important; display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; text-align: center !important; gap: 22px !important}
.bd7-ai-face-wrap {width: 118px !important; height: 118px !important; flex: 0 0 auto !important}
.bd7-ai-face {width: 104px !important; height: 104px !important}
.bd7-ai-face .eye {top: 36px !important}
.bd7-ai-face .eye.left {left: 30px !important}
.bd7-ai-face .eye.right {right: 30px !important}
.bd7-ai-face .smile {bottom: 28px !important; width: 36px !important; height: 22px !important}
.bd7-ai-heart {width: 40px !important; height: 40px !important; font-size: 21px !important; right: 2px !important; bottom: 0 !important}
.bd7-ai-report-text {width: 100% !important; max-width: 260px !important}
.bd7-ai-report-text strong {display: block !important; margin-bottom: 8px !important; font-size: 22px !important; line-height: 1.35 !important; word-break: keep-all !important; white-space: normal !important}
.bd7-ai-report-text p {margin: 0 !important; font-size: 22px !important; font-weight: 900 !important; line-height: 1.45 !important; color: #111827 !important; word-break: keep-all !important; white-space: normal !important}
.bd7-ai-report-tags {justify-content: center !important; gap: 8px !important; margin-top: 18px !important}
.bd7-ai-report-tags span {font-size: 12px !important; white-space: nowrap !important}
.bd7-nutrition-stack {margin-top: 14px; padding: 18px 20px; border: 1px solid #edf0f4; border-radius: 18px; background: #fff}
.bd7-nutrition-top {display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 14px}
.bd7-nutrition-top strong {font-size: 28px; font-weight: 900; color: #111827; letter-spacing: -0.04em}
.bd7-nutrition-top span {  margin-left: 4px; font-size: 13px; font-weight: 800; color: #6b7280}
.bd7-nutrition-top em {font-style: normal; font-size: 12px; font-weight: 800; color: #9ca3af}
.bd7-stack-bar {display: flex; width: 100%; height: 34px; overflow: hidden; border-radius: 10px; background: #f3f4f6}
.bd7-stack-bar i {display: flex; align-items: center; justify-content: center; height: 100%; font-style: normal; font-size: 13px; font-weight: 900; color: #fff}
.bd7-stack-bar .carb {  background: #ff8a1f}
.bd7-stack-bar .protein {background: #53b847}
.bd7-stack-bar .fat {background: #30aeb3}
.bd7-stack-legend {display: flex; flex-wrap: wrap; gap: 10px 16px; margin-top: 14px}
.bd7-stack-legend span {display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 800; color: #374151}
.bd7-stack-legend b {width: 10px; height: 10px; border-radius: 999px; display: inline-block}
.bd7-stack-legend b.carb {background: #ff8a1f}
.bd7-stack-legend b.protein {background: #53b847}
.bd7-stack-legend b.fat {background: #30aeb3}
@media(max-width:640px) {
  .bd7-nutrition-stack {padding: 16px}
  .bd7-stack-bar {  height: 30px}
  .bd7-stack-bar i {font-size: 12px}
  .bd7-stack-legend {flex-direction: column; gap: 8px}
}
/* 알레르기 카드 - 2번 스타일 */
.bd7-ai-result-allergy .blockchain-demo7-allergy {position: relative; min-height: 126px; padding: 22px 24px 22px 34px !important; border: 1px solid #fecaca !important; border-radius: 18px !important; background: linear-gradient(135deg, #fffafa 0%, #fff4f2 100%) !important; box-shadow: 0 10px 24px rgba(239, 68, 68, 0.08) !important; overflow: hidden}
.bd7-ai-result-allergy .blockchain-demo7-allergy::before {  content: ""; position: absolute; left: 14px; top: 24px; bottom: 24px; width: 3px; border-radius: 999px; background: #ff4d4d}
.bd7-ai-result-allergy .caution-header {  display: flex; align-items: center; gap: 14px; margin-bottom: 12px !important}
.bd7-ai-result-allergy .caution-header img {  width: 40px !important; height: 40px !important; padding: 9px; border-radius: 999px; background: #ffe7e4; box-sizing: border-box}
.bd7-ai-result-allergy .caution-header span {  font-size: 18px !important; font-weight: 900 !important; color: #ef4444 !important; letter-spacing: -0.04em; line-height: 1.2}
.bd7-ai-result-allergy .blockchain-demo7-allergy p {margin: 0 0 0 60px !important; padding-top: 10px; border-top: 1px dashed #fecaca; font-size: 16px !important; font-weight: 800 !important; color: #111827 !important}
@media(max-width:640px) {
  .bd7-ai-result-allergy .blockchain-demo7-allergy {    padding: 20px 18px 20px 30px !important}
  .bd7-ai-result-allergy .caution-header img {    width: 40px !important; height: 40px !important  }
  .bd7-ai-result-allergy .caution-header span {    font-size: 18px !important  }
  .bd7-ai-result-allergy .blockchain-demo7-allergy p {    margin-left: 54px !important; font-size: 14px !important  }
}