.kiw-program-preview *, .kiw-program-preview *::before, .kiw-program-preview *::after { box-sizing: border-box; margin: 0; padding: 0; }
.kiw-program-preview {
  --bg: #eef1f8; --surface: #ffffff; --surface-2: #f4f6fb;
  --border: #dde3f0; --border-2: #c8d2e8;
  --text: #12172e; --text-2: #3a4060; --text-3: #7a84a8;
  --navy: #12244e; --navy-2: #1e3a8a; --navy-light: #e8edf8;
  --coral: #e04a35;
  --track-a: #1e6fd4; --track-b: #7c3aed;
  --track-a-bg: #eef4fd; --track-b-bg: #f3effe;
  --track-a-border: #bfd5f5; --track-b-border: #d8c5f8;
}
.kiw-program-preview { font-family: 'Noto Sans KR', sans-serif; background: var(--bg); color: var(--text); -webkit-font-smoothing: antialiased; }
.kiw-program-preview .program-section { padding: 52px 0 80px; }
.kiw-program-preview .inner { max-width: 1080px; margin: 0 auto; padding: 0 32px; }
.kiw-program-preview .section-heading { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; }
.kiw-program-preview .section-heading-bar { width: 4px; height: 22px; background: var(--coral); border-radius: 2px; flex-shrink: 0; }
.kiw-program-preview .section-heading-text { font-size: 20px; font-weight: 700; color: var(--navy); letter-spacing: -0.02em; }
.kiw-program-preview .notice-bar { background: #e8edf8; border: 1px solid #c8d2e8; border-radius: 8px; padding: 12px 18px; font-size: 12.5px; color: var(--text-2); margin-bottom: 26px; line-height: 1.7; }
.kiw-program-preview .notice-bar strong { color: var(--navy); }
.kiw-program-preview .controls-row { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 20px; flex-wrap: wrap; gap: 12px; }
.kiw-program-preview .tab-band { background: var(--surface); border-top: 1px solid var(--border-2); border-bottom: 2px solid var(--border-2); margin: 0 0 20px; border-radius: 12px; overflow: hidden; }
.kiw-program-preview .tab-row { display: flex; width: 100%; max-width: none; margin: 0 auto; overflow-x: auto; scrollbar-width: none; }
.kiw-program-preview .tab-row::-webkit-scrollbar { display: none; }
.kiw-program-preview .day-tab { flex: 1; min-width: 0; cursor: pointer; padding: 20px 20px 18px; text-align: center; border: none; outline: none; border-bottom: 3px solid transparent; margin-bottom: -2px; background: none !important; -webkit-appearance: none; appearance: none; transition: border-color 0.18s; display: flex; flex-direction: column; align-items: center; gap: 5px; }
.kiw-program-preview .day-tab:hover { background: none; }
.kiw-program-preview .day-tab:hover .day-tab-date { color: var(--navy-2); }
.kiw-program-preview .day-tab.active { border-bottom-color: var(--coral); }
.kiw-program-preview .day-tab-top { font-family: 'DM Mono', monospace; font-size: 10px; letter-spacing: 0.15em; text-transform: uppercase; color: var(--text-3); line-height: 1; }
.kiw-program-preview .day-tab.active .day-tab-top { color: var(--coral); }
.kiw-program-preview .day-tab-bottom { display: flex; flex-direction: column; align-items: center; gap: 3px; }
.kiw-program-preview .day-tab-date { font-size: 20px; font-weight: 700; color: var(--text); letter-spacing: -0.02em; transition: color 0.18s; line-height: 1.1; white-space: nowrap; }
.kiw-program-preview .day-tab.active .day-tab-date { color: var(--navy); }
.kiw-program-preview .day-tab-dow { font-size: 12px; color: var(--text-3); line-height: 1; }
.kiw-program-preview .day-tab.active .day-tab-dow { color: var(--navy-2); }
.kiw-program-preview .lang-toggle { display: flex; border: 1.5px solid var(--border-2); border-radius: 8px; overflow: hidden; flex-shrink: 0; }
.kiw-program-preview .lang-btn { padding: 9px 18px; font-size: 12px; font-weight: 600; cursor: pointer; background: var(--surface); color: var(--text-3); border: none; transition: all 0.15s; font-family: 'Noto Sans KR', sans-serif; }
.kiw-program-preview .lang-btn:first-child { border-right: 1.5px solid var(--border-2); }
.kiw-program-preview .lang-btn.active { background: var(--navy); color: #fff; }
.kiw-program-preview .day-panel { display: none; }
.kiw-program-preview .day-panel.active { display: block; animation: fadeUp 0.2s ease; }
@keyframes fadeUp { from{opacity:0;transform:translateY(6px)} to{opacity:1;transform:translateY(0)} }
.kiw-program-preview .prog-table { border: 1.5px solid var(--border-2); border-radius: 12px; overflow: hidden; box-shadow: 0 2px 20px rgba(18,36,78,0.07); }
.kiw-program-preview .track-header-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 10px; }
.kiw-program-preview .track-label-card { display: flex; align-items: center; gap: 10px; padding: 12px 20px; border-radius: 8px; border: 1.5px solid; }
.kiw-program-preview .track-label-card.tka { background: var(--track-a-bg); border-color: var(--track-a-border); }
.kiw-program-preview .track-label-card.tkb { background: var(--track-b-bg); border-color: var(--track-b-border); }
.kiw-program-preview .track-pip { width: 8px; height: 8px; border-radius: 2px; flex-shrink: 0; }
.kiw-program-preview .pip-a { background: var(--track-a); } .kiw-program-preview .pip-b { background: var(--track-b); }
.kiw-program-preview .track-lname { font-family: 'DM Mono', monospace; font-size: 13px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.kiw-program-preview .tka .track-lname { color: var(--track-a); } .kiw-program-preview .tkb .track-lname { color: var(--track-b); }
.kiw-program-preview .track-lvenue { font-size: 12px; color: var(--text-3); margin-left: 2px; }
.kiw-program-preview .slot-row-wrap { display: grid; grid-template-columns: 1fr 1fr; column-gap: 8px; row-gap: 8px; margin-bottom: 16px; align-items: stretch; }
.kiw-program-preview .sessions-full + .slot-row-wrap { margin-top: 16px; }
.kiw-program-preview .slot-row-wrap .session-card { margin-bottom: 0; height: 100%; }
.kiw-program-preview .sessions-full { display: flex; flex-direction: column; gap: 16px; }
.kiw-program-preview .session-card { background: var(--surface); border: 1.5px solid var(--border); border-radius: 10px; padding: 18px 20px; transition: all 0.16s; }
.kiw-program-preview .session-card:hover { border-color: var(--border-2); box-shadow: 0 2px 12px rgba(18,36,78,0.07); }
.kiw-program-preview .session-card.is-break { background: var(--surface-2); border-style: dashed; padding: 12px 20px; }
.kiw-program-preview .session-card.is-break:hover { background: var(--surface-2); box-shadow: none; }
.kiw-program-preview .session-card.empty { background: transparent; border: 1.5px dashed var(--border); border-top: var(--empty-border-top, 3px solid var(--border-2)) !important; box-shadow: none; }
.kiw-program-preview:not(.is-editor) .session-card.empty { background: transparent; border: 0; border-top: 0 !important; padding: 0; box-shadow: none; }
.kiw-program-preview .session-card.empty:hover { background: transparent; box-shadow: none; }
.kiw-program-preview .card-top { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; flex-wrap: wrap; }
.kiw-program-preview .card-time { font-family: 'DM Mono', monospace; font-size: 11.5px; color: var(--text-3); flex-shrink: 0; }
.kiw-program-preview .badge { display: inline-flex; font-family: 'Noto Sans KR', sans-serif; font-size: 10px; font-weight: 600; letter-spacing: 0.03em; padding: 3px 9px; border-radius: 20px; flex-shrink: 0; }
.kiw-program-preview .badge-global, .kiw-program-preview .badge-ipo, .kiw-program-preview .badge-pbs { font-family: 'DM Mono', monospace; font-size: 9.5px; font-weight: 500; letter-spacing: 0.07em; text-transform: uppercase; }
.kiw-program-preview .badge-keynote { background: #e4ecfb; color: #1a3a8a; border: 1px solid #bdd0f5; }
.kiw-program-preview .badge-opening { background: #ede8fb; color: #4a1a90; border: 1px solid #c8b5f0; }
.kiw-program-preview .badge-global  { background: #e4f5ee; color: #145c36; border: 1px solid #a8dfc4; }
.kiw-program-preview .badge-panel   { background: #fef0e4; color: #8a3010; border: 1px solid #f5c8a8; }
.kiw-program-preview .badge-ipo     { background: #fef0e4; color: #8a3010; border: 1px solid #f5c8a8; }
.kiw-program-preview .badge-pbs     { background: #e4f0f8; color: #1a4868; border: 1px solid #a8d0e8; }
.kiw-program-preview .badge-break   { background: #edf0f8; color: var(--text-3); border: 1px solid var(--border-2); }
.kiw-program-preview .s-title { font-size: 14px; font-weight: 600; color: var(--text); line-height: 1.58; }
.kiw-program-preview .s-title.en { font-size: 13px; font-weight: 600; color: var(--text); }
.kiw-program-preview .spks { margin-top: 8px; display: flex; flex-direction: column; gap: 3px; }
.kiw-program-preview .spk { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 6px; line-height: 1.65; }
.kiw-program-preview .spk-n { font-size: 13px; font-weight: 700; color: var(--text); }
.kiw-program-preview .spk-e { font-size: 11.5px; color: var(--text-3); }
.kiw-program-preview .spk-o { font-size: 12px; color: var(--text-2); }
.kiw-program-preview .spk-r { font-size: 11px; color: var(--text-3); }
.kiw-program-preview .break-inner { display: flex; align-items: center; gap: 10px; color: var(--text-3); font-size: 13px; font-weight: 500; }
.kiw-program-preview .sec-div { display: flex; align-items: center; gap: 14px; padding: 18px 0 10px; }
.kiw-program-preview .sec-div-text { font-family: 'DM Mono', monospace; font-size: 9px; font-weight: 500; letter-spacing: 0.15em; text-transform: uppercase; color: var(--text-3); white-space: nowrap; }
.kiw-program-preview .sec-div-line { flex: 1; height: 1px; background: var(--border-2); }
.kiw-program-preview .ko-content { display: block; } .kiw-program-preview .en-content { display: none; }
.kiw-program-preview.is-lang-en .ko-content { display: none; } .kiw-program-preview.is-lang-en .en-content { display: block; }
.kiw-program-preview span.ko-content { display: inline; } .kiw-program-preview span.en-content { display: none; }
.kiw-program-preview.is-lang-en span.ko-content { display: none; } .kiw-program-preview.is-lang-en span.en-content { display: inline; }
.kiw-program-preview .opening-card { background: linear-gradient(135deg, #12244e 0%, #1e3a8a 100%) !important; border-color: #1e3a8a !important; border-top: 3px solid #6aadff !important; padding: 24px 28px !important; }
.kiw-program-preview .opening-inner { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.kiw-program-preview .opening-left { display: flex; align-items: center; gap: 10px; flex-shrink: 0; border-right: 1px solid rgba(255,255,255,0.12); padding-right: 24px; flex-wrap: wrap; }
.kiw-program-preview .opening-left .badge-opening { background: rgba(255,255,255,0.12); color: rgba(255,255,255,0.85); border-color: rgba(255,255,255,0.2); }
.kiw-program-preview .opening-time { font-family: 'DM Mono', monospace; font-size: 11px; color: rgba(255,255,255,0.4); }
.kiw-program-preview .opening-right { display: flex; flex-direction: column; justify-content: center; gap: 4px; }
.kiw-program-preview .opening-title { font-size: 18px; font-weight: 700; color: #fff; letter-spacing: -0.02em; line-height: 1.3; word-break: keep-all; }
.kiw-program-preview .opening-sub { font-size: 13px; color: rgba(255,255,255,0.5); font-weight: 400; line-height: 1.5; word-break: keep-all; }
.kiw-program-preview .keynote-card { border-top: 3px solid var(--track-a-border) !important; padding: 20px 24px !important; }
.kiw-program-preview .keynote-time-badge { display: flex; align-items: center; gap: 8px; margin-bottom: 14px; }
.kiw-program-preview .keynote-name { font-size: 20px; font-weight: 700; color: var(--navy); letter-spacing: -0.02em; margin-bottom: 5px; line-height: 1.2; }
.kiw-program-preview .keynote-org { font-size: 13px; color: var(--text-2); line-height: 1.6; }
@media (max-width: 720px) {
  .kiw-program-preview .inner { padding: 0 16px; }
  .kiw-program-preview .track-header-row { grid-template-columns: 1fr; }
  .kiw-program-preview .slot-row-wrap { grid-template-columns: 1fr; }
  .kiw-program-preview .controls-row { flex-direction: column; align-items: flex-start; }
  .kiw-program-preview .day-tab { min-width: 0; padding: 16px 0 14px; }
  .kiw-program-preview .day-tab-date { font-size: 15px; }
  .kiw-program-preview .day-tab-top { font-size: 9px; }
  .kiw-program-preview .day-tab-dow { font-size: 11px; }
}

.kiw-program-preview [data-program-hidden="true"] { display: none !important; }
