.ruyaProgramPreview{margin:18px 0 6px;padding:16px;border:1px solid #e7e9ef;border-radius:20px;background:#fff}
.ruyaProgramPreviewHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.ruyaProgramPreviewHead strong{display:block;font-size:16px;color:#182033}
.ruyaProgramPreviewHead small{display:block;margin-top:3px;color:#7c8496;font-size:12px}
.ruyaProgramPreviewCheck{font-size:11px;font-weight:700;padding:6px 9px;border-radius:999px;background:#eef8f1;color:#348455}
.ruyaProgramPreviewWarning{margin-bottom:12px;padding:10px 12px;border-radius:12px;background:#fff8e8;color:#8b6823;font-size:12px}
.ruyaProgramDayTabs{display:flex;gap:7px;overflow-x:auto;padding:1px 1px 8px}
.ruyaProgramDayTabs button{min-width:88px;border:1px solid #e5e7ed;background:#fafbfc;border-radius:13px;padding:9px 10px;color:#596174}
.ruyaProgramDayTabs button.active{background:#17243f;color:#fff;border-color:#17243f}
.ruyaProgramDayTabs b,.ruyaProgramDayTabs small{display:block}
.ruyaProgramDayTabs b{font-size:12px}
.ruyaProgramDayTabs small{font-size:10px;margin-top:2px;opacity:.72}
.ruyaProgramDayEditor{margin-top:8px}
.ruyaProgramDayEditorTitle{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.ruyaProgramDayEditorTitle strong{font-size:15px;color:#1d2638}
.ruyaProgramDayEditorTitle span{font-size:11px;color:#8a91a1}
.ruyaProgramEditRow{display:grid;grid-template-columns:25px 76px minmax(0,1fr) 82px;gap:7px;align-items:center;margin-bottom:8px}
.ruyaProgramOrder{font-size:11px;font-weight:700;color:#9aa1ae;text-align:center}
.ruyaProgramTime,.ruyaProgramTitle{width:100%;min-width:0;height:38px;border:1px solid #e2e5eb;border-radius:10px;background:#fff;padding:0 9px;font-size:12px;color:#242c3b}
.ruyaProgramTitle{font-size:13px}
.ruyaProgramRowActions{display:flex;gap:4px}
.ruyaProgramRowActions button{width:24px;height:30px;padding:0;border:1px solid #e3e5ea;border-radius:8px;background:#f7f8fa;color:#4b5363}
.ruyaProgramAddRow{width:100%;margin-top:6px;border:1px dashed #ccd1db;border-radius:12px;padding:10px;background:#fafbfc;color:#475269;font-weight:600}
@media(max-width:600px){.ruyaProgramPreview{padding:13px;margin-top:14px}.ruyaProgramEditRow{grid-template-columns:22px 68px minmax(0,1fr) 60px;gap:5px}.ruyaProgramRowActions button{width:18px}.ruyaProgramTime{padding:0 4px;font-size:11px}}

.ruyaProgramEditRow{grid-template-columns:25px 92px minmax(0,1fr) 82px}
.ruyaProgramTime{min-width:92px;padding:0 7px}
@media(max-width:600px){
 .ruyaProgramEditRow{grid-template-columns:22px 86px minmax(0,1fr) 60px}
 .ruyaProgramTime{min-width:86px}
}

.ruyaProgramModal{
 max-height:calc(100dvh - 24px)!important;
 display:flex!important;
 flex-direction:column!important;
 overflow:hidden!important;
}

.ruyaProgramModal .uploadModalHeader{
 flex:0 0 auto;
}

.ruyaProgramModal .ruyaProgramPreview{
 flex:1 1 auto;
 min-height:0;
 max-height:58vh;
 overflow-y:auto;
 overscroll-behavior:contain;
}

.ruyaProgramModal .uploadModalFooter{
 flex:0 0 auto;
 position:relative;
 z-index:20;
 background:#fff;
 border-top:1px solid #e8ebf1;
 box-shadow:0 -8px 24px rgba(28,39,60,.06);
}

@media(max-width:600px){
 .ruyaProgramModal .ruyaProgramPreview{
  max-height:55vh;
 }
}
