.sponsored-banner { max-width: 970px; margin: 26px auto 36px; }
.sponsored-banner > div { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 8px; font-size: 10px; }
.sponsored-banner > div > span { color: #9bb5a5; letter-spacing: 2px; }
.sponsored-banner > div > a { display: inline-flex; gap: 7px; align-items: center; color: var(--teal); }
.sponsored-banner > a { display: block; border: 1px solid #6c714d; border-radius: 5px; overflow: hidden; background: #0b171c; }
.sponsored-banner img { display: block; width: 100%; height: auto; aspect-ratio: 728/90; object-fit: contain; }
.sponsored-banner .sponsored-server { display: flex; align-items: center; gap: 14px; padding: 14px 18px; margin-top: 6px; color: var(--text); }
.sponsored-banner .sponsored-server > img { width: 44px; height: 44px; aspect-ratio: 1; flex-shrink: 0; }
.sponsored-server > span:first-of-type { min-width: 0; }
.sponsored-server strong { display: block; color: var(--gold-light); font-size: 17px; overflow-wrap: anywhere; }
.sponsored-server > span > span { display: block; font-size: 12px; color: var(--muted); overflow-wrap: anywhere; }
.sponsored-server .sponsored-visit { margin-left: auto; display: flex; align-items: center; gap: 8px; white-space: nowrap; font-size: 12px; }
.sponsored-vacancy { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 24px auto; padding: 16px 20px; max-width: 970px; border: 1px solid var(--border); background: #ffffff03; }
.sponsored-vacancy strong { display: block; color: var(--gold-light); font-size: 14px; }
.sponsored-vacancy span { display: block; font-size: 12px; color: var(--muted); margin-top: 4px; }
.sponsored-vacancy a { flex-shrink: 0; font-size: 12px; }
.admin-promotion-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 24px; }
.admin-promotion-grid form { min-width: 0; padding: 20px; border: 1px solid var(--border); }
.admin-promotion-grid h3 { margin-bottom: 18px; }
@media(max-width:700px) { .admin-promotion-grid { grid-template-columns: minmax(0, 1fr); } }
@media(max-width:600px) { .sponsored-vacancy { align-items: flex-start; flex-direction: column; gap: 10px; } .sponsored-server .sponsored-visit { display: none; } }
.promotion-wallets { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 18px; margin-bottom: 30px; }
.promotion-wallets > .surface { padding: 24px; display: flex; flex-direction: column; gap: 12px; }
.promotion-wallets span, .promotion-wallets p { font-size: 12px; color: #b2c4b6; }
.promotion-wallets strong { font: 600 24px var(--heading); color: var(--gold-light); }
.reward-link svg { color: var(--gold); }
.promotion-panel { padding: 28px; margin-block: 25px; }
.promotion-panel h2 { font-size: 26px; margin-bottom: 16px; }
.promotion-panel p { font-size: 13px; line-height: 1.9; }
.promotion-panel input:not([type=checkbox]), .promotion-panel select, .promotion-panel textarea { width: 100%; min-width: 0; }
.promotion-panel .button { white-space: normal; }
.placement-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin: 24px 0; }
.placement-grid article, .placement-grid > form { padding: 20px; border: 1px solid #4a604b; border-radius: 5px; background: #182d2a; min-width: 0; }
.placement-grid h3 { font-size: 17px; margin-bottom: 14px; }
.placement-grid article strong { display: block; color: var(--gold-light); font-size: 17px; margin-bottom: 8px; }
.placement-grid article span { font-size: 11px; color: #a7bfae; }
.campaign-card { padding: 24px; margin: 20px 0; }
.campaign-card > img { width: 100%; max-height: 160px; object-fit: contain; background: #0a171c; border: 1px solid #3e5646; border-radius: 4px; margin-bottom: 20px; }
.campaign-card h2, .campaign-card h3 { margin: 0; font-size: 23px; overflow-wrap: anywhere; }
.campaign-card p { font-size: 12px; line-height: 1.8; overflow-wrap: anywhere; }
.promotion-status { color: var(--teal); font-size: 11px; }
.promotion-section { margin-top: 35px; }
.payment-history { display: flex; flex-direction: column; gap: 7px; padding: 13px 0; border-bottom: 1px solid #3c5144; font-size: 12px; }
.payment-history span { color: #acc0b1; font-size: 10px; }
.credit-entry { padding: 13px 0; border-bottom: 1px solid #3c5144; }
.credit-entry strong { color: var(--gold-light); font-size: 12px; }
.credit-entry p { margin: 7px 0 0; font-size: 11px; }
.promotion-actions { display: flex; gap: 15px; flex-wrap: wrap; align-items: center; }
.promotion-settings { padding: 25px; margin-bottom: 30px; }
.promotion-settings summary { cursor: pointer; color: var(--gold-light); }
.promotion-settings input:not([type=checkbox]), .promotion-settings select { width: 100%; }
.reward-settings { border-top: 1px solid #455d48; padding-top: 25px; }
.campaign-review { margin-top: 24px; padding-top: 24px; border-top: 1px solid #3d5445; }
.campaign-review select, .campaign-review input, .campaign-review textarea { width: 100%; }
.award-month-form { display: flex; gap: 16px; align-items: end; margin: 28px 0; }
.award-month-form .field { margin: 0; }
.winner-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; margin-block: 28px; }
.winner-card { position: relative; padding: 32px 24px; text-align: center; overflow: hidden; }
.winner-card > svg { color: var(--gold); margin: 10px auto 22px; }
.winner-card h2 { font-size: 25px; overflow-wrap: anywhere; }
.winner-card p { font-size: 13px; }
.winner-card > strong { display: block; color: var(--gold-light); font-size: 12px; margin: 20px 0; }
.winner-card .button { white-space: normal; font-size: 12px; margin-top: 20px; }
.winner-place { position: absolute; right: 12px; top: 8px; font: 55px var(--heading); color: #8b936c28; }
.place-1 { border-color: #bca56a; background: linear-gradient(145deg,#414030,#13272a); }
.vote-award-badge { display: inline-flex; gap: 6px; align-items: center; color: var(--gold-light); font-size: 10px; margin: 9px 0; }
.vote-award-badge svg { flex-shrink: 0; }
@media(max-width:1000px) { .placement-grid { grid-template-columns: minmax(0,1fr); } }
@media(max-width:700px) { .winner-grid { grid-template-columns: minmax(0,1fr); } .award-month-form { flex-wrap: wrap; } .promotion-panel, .promotion-settings, .campaign-card { padding: 20px; } .campaign-card .section-heading { flex-wrap: wrap; } }
