    /* ★ 탭 UI 스타일 */
    .tab-menu { display: flex; gap: 32px; border-bottom: 2px solid #e2e8f0; margin-bottom: 24px; padding: 0 8px; overflow-x: auto; white-space: nowrap; }
    .tab-btn { background: none; border: none; font-size: 16px; font-weight: 700; color: #64748b; padding: 12px 4px; cursor: pointer; position: relative; }

    
    .tab-content { display: none; background:none;padding:0px;border:none;}
    .tab-content.active { display: block; animation: fadeIn 0.3s ease; }
    @keyframes fadeIn { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }

/* ──────────────────────────────────────────────────────────
       ★ 1. 기본 정보 그리드
    ────────────────────────────────────────────────────────── */
    .info-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border-top: 1px solid #e5e7eb; border-left: 1px solid #e5e7eb; }
	.info-grid6{ grid-template-columns:
        260px /* 행사코드 */
		265px  /* 행사기간 */
		280px  /* 채널 */
        2fr     /* 행사명 */
       170px    /* 목표수량 */
       150px;  /* 담당자 */ margin-bottom:10px;    overflow-x: auto;}



    .info-cell { display: flex; border-right: 1px solid #e5e7eb; border-bottom: 1px solid #cbd5e1;  }
    .info-label { width: 140px; background: #f1f5f9; padding: 12px 14px; font-size: 13px; font-weight: 700; color: #555; display: flex; align-items: center; border-right: 1px solid #e5e7eb; flex-shrink: 0; }
    .info-label.required::after { content: "*"; color: var(--color_point); margin-left: 4px; }
    .info-value { flex: 1; padding: 10px 14px; display: flex; align-items: center; gap: 8px; background: #fff; font-size: 14px; }
    .info-cell.full-row { grid-column: span 4; }
    .info-cell.half-row { grid-column: span 2; }
    .exception-wrap { display: flex; align-items: center; gap: 8px; }
    .exception-label { display: flex; align-items: center; gap: 4px; font-size: 13px; font-weight: 700; color: #dc2626; cursor: pointer; }
.info-grid6 .info-label{width:74px;justify-content: center;}
.br_top2{ border-top: 2px solid #cbd5e1;}
    /* ──────────────────────────────────────────────────────────
       ★ 2. 옵션 및 영업이익 입력 테이블 (15열 와이드 엑셀 형태)
    ────────────────────────────────────────────────────────── */
	
    .table-wrap {
      width: 100%;
      overflow-x: auto; /* 가로 스크롤 활성화 */
      padding-bottom:0px;
    }

    .excel-table {
      width: 100%; 
 /* 15개 열이 찌그러지지 않도록 최소 너비 강제 적용 */
      border-collapse: collapse;
      font-size: 13px;
    }

	.excel-table th, .excel-table td {table-layout:fixed; }

    .table-wrap .scroll_table{ min-width: 1950px;}

    .excel-table th {
      background: #f1f5f9;
      color: #475569;
      font-weight: 700;
      padding: 10px 5px;
      border: 1px solid #cbd5e1;
      text-align: center;
      white-space: nowrap;
    }

    .excel-table td {
      padding: 6px 5px;
      border: 1px solid #e2e8f0;
      vertical-align: middle;
    }
   /* .excel-table tbody tr:hover { background: #f8fafc; }*/

    /* 테이블 내 폼 요소 축소 */
    .form-control.sm { height: 32px; padding: 0 8px; font-size: 13px; }
    .form-control.right { text-align: right; }
    .form-control.center { text-align: center; }

    /* 자동계산 결과값 텍스트 스타일 */
    .calc-val {
      text-align: right;
      color: #475569;
      font-weight: 600;
      background: #f8fafc;
      padding: 0 10px;
      white-space: nowrap;
    }
    .calc-val.minus { color: #dc2626; }
    .calc-val.primary { color: #1d4ed8; font-weight: 700; }
    .calc-val.profit { color: #1d4ed8; font-weight: 800; background: #eff6ff; }
    .calc-val.margin { color: var(--color_point); font-weight: 800; background: #fef2f2; }

    /* 상품 검색 버튼 랩 */
    .search-input-wrap-sm { display: flex; gap: 4px; }
    .search-input-wrap-sm input { cursor: pointer; }


    /* ──────────────────────────────────────────────────────────
       ★ 옵션 1행 = N개 상품 구성 영역
    ────────────────────────────────────────────────────────── */
    .option-name-wrap { display: flex; flex-direction: column; gap: 6px; }
    .option-help { font-size: 11px; color: #94a3b8; line-height: 1.35; }
    .bundle-products { display: flex; flex-direction: column; gap: 8px; min-width: 560px; }
    .product-line {
      display: grid;
      grid-template-columns: minmax(220px, 1fr) 74px 92px 102px 34px;
      gap: 6px;
      align-items: center;
      background: #f8fafc;
      border: 1px solid #e2e8f0;
      border-radius: 8px;
      padding: 8px;
    }
    .product-line-head {
	margin-top:4px;
      display: grid;
      grid-template-columns: minmax(220px, 1fr) 74px 92px 102px 34px;
      gap: 6px;
      padding: 0 8px;
      color: #64748b;
      font-size: 13px;
      font-weight: 600;
    }
    .product-actions { display: flex; align-items: center; gap: 8px; justify-content: space-between; }
    .product-summary { color: #475569; font-size: 12px; font-weight: 700; }
    .product-summary strong { color: var(--color_point); }
    .btn.icon-only { width: 30px; padding: 0; }
    .btn.danger-light { background:#fff; border:1px solid #fecaca; color:#dc2626; }
    .btn.danger-light:hover { background:#fef2f2; }
    .line-cost, .unit-cost {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      height: 32px;
      padding: 0 8px;
      border-radius: 6px;
      background: #fff;
      border: 1px solid #e2e8f0;
      color: #334155;
      font-weight: 700;
      white-space: nowrap;
    }
    .qty-total-badge {
      display: inline-flex;
      min-width: 44px;
      height: 28px;
      align-items: center;
      justify-content: center;
      border-radius: 999px;
      background: #eff6ff;
      color: #1d4ed8;
      font-weight: 800;
      font-size: 12px;
    }


	 /* ──────────────────────────────────────────────────────────
       ★ 3. 과거 유사행사 조회 패널 & 모달
    ────────────────────────────────────────────────────────── */
    .history-table th { background: #fdfdfd; }
    .history-table td { border-bottom: 1px solid #eef0f3; padding: 12px; text-align: center; font-size: 13px; }

    .bottom-action-bar {
      position: fixed; bottom: 0; left: 260px; right: 0; background: #fff; border-top: 1px solid #e2e8f0; padding: 16px 32px; display: flex; justify-content: flex-end; gap: 12px; box-shadow: 0 -4px 12px rgba(0,0,0,0.05); z-index: 100;
    }

    .modal-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.5); z-index: 9999; display: none; align-items: center; justify-content: center; backdrop-filter: blur(2px); }
    .modal-overlay.open { display: flex; }
    .modal-box { background: #fff; width: 100%; border-radius: 12px; box-shadow: 0 10px 30px rgba(0,0,0,0.1); display: flex; flex-direction: column; max-height: 90vh; overflow: hidden; }
    .modal-box.lg { max-width: 1000px; }
    .modal-header { padding: 20px 24px; border-bottom: 1px solid #e2e8f0; display: flex; align-items: center; justify-content: space-between; background: #f8fafc; }
    .modal-title { font-size: 18px; font-weight: 800; color: #1e293b; }
    .modal-close-btn { background: transparent; border: none; font-size: 24px; color: #64748b; cursor: pointer; }
    .modal-body { padding: 24px; overflow-y: auto; flex: 1; }
    
    .modal-search-area { display: flex; gap: 8px; margin-bottom: 20px; background: #f1f5f9; padding: 16px; border-radius: 8px; }
    .modal-search-area select, .modal-search-area input { height: 40px; border: 1px solid #cbd5e1; border-radius: 6px; padding: 0 12px; font-size: 14px; }
    .modal-search-area input { flex: 1; }

    .modal-table { width: 100%; border-collapse: collapse; font-size: 13px; }
    .modal-table th { background: #f1f5f9; color: #475569; padding: 10px; border-top: 1px solid #cbd5e1; border-bottom: 1px solid #cbd5e1; }
    .modal-table td { padding: 10px; border-bottom: 1px solid #e2e8f0; text-align: center; vertical-align: middle; }
    .modal-table tbody tr:hover { background: #f8fafc; }

    .status-badge { display: inline-block; padding: 4px 8px; border-radius: 4px; font-size: 11px; font-weight: 700; }
    .status-badge.active { background: #eef2ff; color: #4f46e5; }
    .status-badge.inactive { background: #f1f5f9; color: #64748b; }


	/*추가css*/
	.option-name-wrap{color:#111;font-weight:600;}
	.total_tr td{background: #fff5ef; color: var(--color_point);font-size:15px;padding:12px 5px ! important;font-weight: 800;border: 1px solid #cbd5e1;border-top:2px solid var(--color_point);}
	.past_stable .line-cost, .past_stable .unit-cost { background: none;border:none;height:18px;}
	.past_stable .product-line-head{grid-template-columns: minmax(150px, 1fr) 74px 92px 92px;padding:0px;margin-top:8px;}
	.past_stable .product-line{grid-template-columns: minmax(150px, 1fr) 74px 92px 92px;}
