.upl-container { font-family: inherit; width: 100%; }
.upl-filters { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 1rem; }
.upl-filters input[type="text"], .upl-filters select { flex: 1; min-width: 160px; padding: 8px 12px; font-size: 14px; border: 1px solid #ddd; border-radius: 6px; background: #fff; color: #333; outline: none; }
.upl-count { font-size: 13px; color: #888; margin-bottom: 1rem; }
.upl-empty { color: #888; font-style: italic; }
.upl-program-card { background: #fff; border: 1px solid #e8e8e8; border-radius: 12px; padding: 1rem 1.25rem; margin-bottom: 12px; width: 100%; transition: box-shadow 0.15s; }
.upl-program-card:hover { box-shadow: 0 2px 12px rgba(0,0,0,0.07); }
.program-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 4px; }
.program-title { font-size: 16px; font-weight: 500; color: #111; margin: 0; padding: 0; line-height: 1.3; border: none; background: none; }
.program-university { font-size: 13px; color: #888; margin: 0; }
.program-apply-btn { flex-shrink: 0; background: transparent; border: 1px solid #ccc; border-radius: 6px; padding: 7px 16px; font-size: 13px; color: #333; cursor: pointer; white-space: nowrap; transition: background 0.15s; }
.program-apply-btn:hover { background: #f5f5f5; border-color: #aaa; }
.program-city { display: flex; align-items: center; gap: 5px; font-size: 13px; color: #888; margin: 6px 0 10px; }
.program-badges { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.program-badge { font-size: 12px; padding: 3px 10px; border-radius: 999px; border: 1px solid #e8e8e8; color: #666; background: #f7f7f7; }
.program-badge--bachelor { background: #E6F1FB; color: #0C447C; border-color: #B5D4F4; }
.program-badge--associate { background: #EAF3DE; color: #27500A; border-color: #C0DD97; }
.program-badge--master, .program-badge--master_no_thesis { background: #EEEDFE; color: #3C3489; border-color: #CECBF6; }
.program-badge--phd, .program-badge--integrated_phd { background: #FAECE7; color: #993C1D; border-color: #F5C4B3; }
.program-badge--prep { background: #FAEEDA; color: #854F0B; border-color: #FAC775; }
.program-meta { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 8px; border-top: 1px solid #f0f0f0; padding-top: 12px; margin-bottom: 12px; }
.program-meta__item { display: flex; flex-direction: column; gap: 2px; }
.program-meta__label { font-size: 11px; color: #aaa; text-transform: uppercase; letter-spacing: 0.03em; }
.program-meta__value { font-size: 13px; font-weight: 500; color: #222; }
.program-footer { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; border-top: 1px solid #f0f0f0; padding-top: 10px; }
.program-tuition { display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; }
.program-tuition__label { font-size: 11px; color: #aaa; text-transform: uppercase; letter-spacing: 0.03em; margin-right: 2px; }
.program-tuition__original { font-size: 13px; color: #bbb; text-decoration: line-through; }
.program-tuition__discounted { font-size: 16px; font-weight: 500; color: #111; }
.program-tuition__price { font-size: 16px; font-weight: 500; color: #111; }
.program-deadline { display: flex; align-items: center; gap: 5px; font-size: 12px; color: #888; background: #f7f7f7; border-radius: 6px; padding: 4px 10px; }
.upl-pagination { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-top: 1.5rem; justify-content: center; }
.upl-page-btn { min-width: 36px; height: 36px; padding: 0 10px; background: #fff; border: 1px solid #ddd; border-radius: 6px; font-size: 14px; color: #333; cursor: pointer; }
.upl-page-btn:hover:not(:disabled) { background: #f5f5f5; border-color: #aaa; }
.upl-page-btn--active { background: #111; color: #fff; border-color: #111; }
.upl-page-btn:disabled { opacity: 0.35; cursor: not-allowed; }
.upl-page-ellipsis { font-size: 14px; color: #aaa; padding: 0 4px; }
@media (max-width: 600px) { .program-header { flex-direction: column; align-items: stretch; } .program-apply-btn { width: 100%; text-align: center; } }
