/* Acabamento dos painéis operacionais e modais exclusivos da Cabine PC. */
.cabin-pc-page {
    --pc-overlay: rgba(8, 10, 15, .84);
    --pc-dialog: var(--kp-surface, #17111F);
    --pc-dialog-raised: var(--kp-surface-raised, #21172B);
    --pc-dialog-line: var(--kp-border, rgba(236, 238, 245, .11));
    --pc-dialog-text: var(--kp-text, #F5F4FA);
    --pc-dialog-muted: var(--kp-muted, #A49BAD);
    --pc-dialog-yellow: var(--kp-yellow, #FF7A00);
}

.cabin-pc-page #djStatsCard { display: flex; gap: 8px; margin-bottom: 12px; }
.cabin-pc-page #djStatsCard .stat-bubble { display: flex; width: 100%; align-items: center; justify-content: center; gap: 7px; padding: 7px 11px; border: 1px solid var(--pc-dialog-line); border-radius: 10px; color: var(--pc-dialog-muted); background: rgba(255,255,255,.025); font-size: .7rem; }
.cabin-pc-page #djStatsCard .stat-bubble > i,
.cabin-pc-page #djStatGenre { color: var(--kp-lilac, #8A3FFC); }

.cabin-pc-page .modal-overlay { box-sizing: border-box; padding: 24px; background: var(--pc-overlay); backdrop-filter: blur(18px) saturate(.8); -webkit-backdrop-filter: blur(18px) saturate(.8); }
.cabin-pc-page .modal-content { box-sizing: border-box; width: min(520px, calc(100vw - 48px)); max-height: calc(100dvh - 48px); overflow: hidden; padding: 28px; border: 1px solid var(--pc-dialog-line); border-radius: 22px; color: var(--pc-dialog-text); background: linear-gradient(150deg, rgba(24,30,47,.99), rgba(10,13,22,.99)); box-shadow: 0 30px 90px rgba(0,0,0,.58), inset 0 1px rgba(255,255,255,.035); text-align: left; }
.cabin-pc-page .modal-content h2 { margin: 0; color: var(--pc-dialog-text); font: 800 1.35rem/1.2 'Montserrat', sans-serif; letter-spacing: -.025em; }
.cabin-pc-page .pc-modal-eyebrow { display: block; margin-bottom: 7px; color: var(--kp-lilac, #8A3FFC); font: 800 .62rem/1.2 'Montserrat', sans-serif; letter-spacing: .15em; }
.cabin-pc-page .modal-footer { position: relative; z-index: 2; flex: 0 0 auto; justify-content: flex-end; gap: 9px; margin-top: 12px; padding-top: 14px; border-top: 1px solid var(--pc-dialog-line); background: transparent; }
.cabin-pc-page .btn-modal { min-height: 42px; padding: 0 18px; border: 1px solid var(--pc-dialog-line); border-radius: 10px; font: 800 .7rem/1 'Inter', sans-serif; letter-spacing: .03em; }
.cabin-pc-page .btn-modal.primary { border-color: var(--pc-dialog-yellow); color: #101116; background: var(--pc-dialog-yellow); box-shadow: none; }
.cabin-pc-page .btn-modal.secondary { color: var(--pc-dialog-muted); background: rgba(255,255,255,.035); }
.cabin-pc-page .btn-modal:hover { transform: none; filter: brightness(1.08); box-shadow: none; }

.cabin-pc-page #settingsModal { position: fixed !important; inset: 0 !important; width: 100vw !important; height: 100dvh !important; margin: 0 !important; padding: 18px !important; align-items: center !important; justify-content: center !important; transform: none !important; zoom: 1 !important; }
.cabin-pc-page .settings-content { position: relative !important; display: grid !important; grid-template-rows: auto auto auto minmax(0,1fr) auto; width: min(920px, calc(100vw - 36px)) !important; height: min(820px, calc(100dvh - 36px)) !important; max-width: calc(100vw - 36px) !important; max-height: calc(100dvh - 36px) !important; min-width: 0 !important; min-height: 0 !important; margin: auto !important; padding-bottom: 20px; transform: none !important; zoom: 1 !important; }
.cabin-pc-page .settings-intro { margin: 7px 0 0; color: var(--pc-dialog-muted); font-size: .82rem; }
.cabin-pc-page .settings-body { display: grid; flex: 1 1 auto; grid-template-columns: 1fr 1fr; align-items: start; gap: 13px; min-height: 0; max-height: none !important; margin-top: 20px; padding: 0 8px 4px 0 !important; overflow-x: hidden !important; overflow-y: auto !important; }
.cabin-pc-page .settings-group { min-width: 0; padding: 16px; border: 1px solid var(--pc-dialog-line); border-radius: 16px; background: rgba(255,255,255,.022); }
.cabin-pc-page .settings-group > h3 { margin: 0 0 13px; color: var(--pc-dialog-text); font: 750 .85rem/1.2 'Montserrat', sans-serif; }
.cabin-pc-page .setting-item { margin: 0 0 9px !important; padding: 12px !important; border: 1px solid var(--pc-dialog-line) !important; border-radius: 12px; color: var(--pc-dialog-text); background: rgba(255,255,255,.025) !important; }
.cabin-pc-page .setting-item:last-child { margin-bottom: 0 !important; }
.cabin-pc-page .setting-item-featured { border-color: rgba(255, 122, 0,.23) !important; background: rgba(255, 122, 0,.035) !important; }
.cabin-pc-page .setting-item label { color: #D8D2E2; font-size: .75rem; }
.cabin-pc-page .setting-item > label > i { width: 16px; color: var(--kp-lilac, #8A3FFC); text-align: center; }
.cabin-pc-page .setting-stack { display: flex; flex-direction: column; gap: 9px; margin-top: 10px; }
.cabin-pc-page .setting-help,
.cabin-pc-page .setting-item small { margin: 6px 0 0; color: var(--pc-dialog-muted); font-size: .65rem; line-height: 1.45; }
.cabin-pc-page .setting-item input.full-width,
.cabin-pc-page .setting-item select.full-width { box-sizing: border-box; width: 100%; min-height: 40px; margin-top: 9px; padding: 0 11px; border: 1px solid var(--pc-dialog-line); border-radius: 9px; color: var(--pc-dialog-text); background: #090c14; outline: none; }
.cabin-pc-page .setting-item input.full-width:focus,
.cabin-pc-page .setting-item select.full-width:focus { border-color: var(--kp-blue, #9C5BFF); box-shadow: var(--kp-focus, 0 0 0 3px rgba(138, 63, 252,.2)); }
.cabin-pc-page .photo-input-btn { justify-content: center; min-height: 39px; padding: 0 12px !important; border: 1px solid var(--pc-dialog-line); border-radius: 9px; color: #101116 !important; background: var(--pc-dialog-yellow) !important; font-size: .68rem !important; }
.cabin-pc-page .setting-subtitle { margin-bottom: 9px; color: #D8D2E2; font-size: .72rem; font-weight: 700; }
.cabin-pc-page .difficulty-section { margin-top: 10px; padding: 12px; border-color: var(--pc-dialog-line); border-radius: 12px; background: rgba(0,0,0,.12); }
.cabin-pc-page .score-weights-section { margin-top: 10px; padding: 12px; border: 1px solid var(--pc-dialog-line); border-radius: 12px; background: rgba(0,0,0,.12); }
.cabin-pc-page .score-weights-section[hidden] { display: none; }
.cabin-pc-page .score-weights-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.cabin-pc-page .score-weights-grid label { display: grid; gap: 6px; color: #D8D2E2; font-size: .7rem; font-weight: 700; }
.cabin-pc-page .score-weights-grid label span { display: flex; align-items: center; gap: 5px; }
.cabin-pc-page .score-weights-grid input { width: 100%; min-height: 38px; }
.cabin-pc-page .score-weight-total { margin: 10px 0 5px; color: var(--color-state-success,#56db91); font-size: .72rem; font-weight: 800; }
.cabin-pc-page .score-weight-total.is-invalid { color: var(--color-state-danger,#ff6685); }
@media (max-width: 620px) { .cabin-pc-page .score-weights-grid { grid-template-columns: 1fr; } }
.cabin-pc-page .interaction-ad-control .interaction-chip-icon { border-radius: 7px; color: #ffb83d !important; background: rgba(255,122,0,.1); }
.cabin-pc-page .interaction-ad-details { display: grid; gap: 8px; }
.cabin-pc-page .interaction-ad-details[hidden] { display: none; }
.cabin-pc-page .interaction-ad-details > label { display: grid; gap: 4px; color: #aeb2bf; font: 700 .6rem/1.2 'Inter',sans-serif; }
.cabin-pc-page .interaction-ad-details select { margin: 0; }
.cabin-pc-page .interaction-ad-switch { grid-template-columns: auto 1fr !important; align-items: center; }
.cabin-pc-page .interaction-ad-switch input { accent-color: #ff7a00; }
.cabin-pc-page .interaction-ad-skip { width: 100%; color: #16100a !important; background: #ffb83d !important; }
.cabin-pc-page .interaction-ad-skip[hidden] { display: none !important; }
.cabin-pc-page .difficulty-radios { gap: 5px; }
.cabin-pc-page .diff-btn span { border-color: var(--pc-dialog-line); background: rgba(255,255,255,.035); font-size: .62rem; }
.cabin-pc-page .diff-btn input:checked + span { border-color: var(--pc-dialog-yellow); color: #101116; background: var(--pc-dialog-yellow); }
.cabin-pc-page .calib-container { margin-top: 12px; padding: 12px; border-color: var(--pc-dialog-line); background: rgba(0,0,0,.13); }
.cabin-pc-page #testMicButton { width: 100%; margin-bottom: 10px; }

.cabin-pc-page .account-action { display: grid; grid-template-columns: 22px 1fr auto; align-items: center; width: 100%; gap: 8px; color: #D8D2E2 !important; text-align: left; text-decoration: none; cursor: pointer; font: 700 .72rem/1.2 'Inter', sans-serif; }
.cabin-pc-page .account-action > i:first-child { color: var(--kp-lilac, #8A3FFC); }
.cabin-pc-page .account-action > i:last-child { color: #697183; font-size: .62rem; }
.cabin-pc-page .account-action-danger > i:first-child { color: #ff7b86; }
.cabin-pc-page .account-action:hover { border-color: rgba(255,255,255,.18) !important; background: rgba(255,255,255,.055) !important; }

.cabin-pc-page .subscription-content { width: min(440px, calc(100vw - 48px)); text-align: left !important; }
.cabin-pc-page .subscription-body { margin: 18px 0 0; padding: 0; }
.cabin-pc-page .subscription-help { margin-top: 16px; padding: 14px; border: 1px solid var(--pc-dialog-line); border-radius: 11px; color: var(--pc-dialog-muted); background: rgba(255,255,255,.025); font-size: .74rem; line-height: 1.55; }
.cabin-pc-page .support-link { display: inline-flex; align-items: center; justify-content: center; gap: 7px; text-decoration: none; }

.cabin-pc-page .trial-expired-content { width: min(450px, calc(100vw - 48px)); padding: 32px; text-align: center; }
.cabin-pc-page .trial-expired-icon { display: grid; width: 68px; height: 68px; margin: 0 auto 18px; place-items: center; border-radius: 20px; color: var(--pc-dialog-yellow); background: rgba(255, 122, 0,.09); font-size: 1.8rem; }
.cabin-pc-page .trial-expired-content p { margin: 12px 0 22px; color: var(--pc-dialog-muted); font-size: .82rem; line-height: 1.6; }
.cabin-pc-page .trial-plan-link { display: flex; min-height: 48px; align-items: center; justify-content: center; gap: 9px; border-radius: 11px; color: #101116; background: var(--pc-dialog-yellow); font-size: .8rem; font-weight: 800; text-decoration: none; }
.cabin-pc-page .trial-logout { margin-top: 18px; }
.cabin-pc-page .trial-logout button { border: 0; color: var(--pc-dialog-muted); background: none; font-size: .72rem; cursor: pointer; }

.cabin-pc-page #trialTimerBanner,
.cabin-pc-page #premiumTimerBanner { right: 14px !important; bottom: 14px !important; padding: 9px 13px !important; border: 1px solid var(--pc-dialog-line) !important; border-radius: 10px !important; background: rgba(10,13,22,.94) !important; box-shadow: 0 12px 34px rgba(0,0,0,.36) !important; }
.cabin-pc-page #trialTimerBanner > div { background: var(--pc-dialog-yellow) !important; }
.cabin-pc-page #premiumTimerBanner > div { background: #72e6ad !important; }
.cabin-pc-page #trialTimerBanner span,
.cabin-pc-page #premiumTimerBanner span { color: #D8D2E2 !important; font-size: .65rem !important; letter-spacing: .05em !important; }
.cabin-pc-page #premiumTimerBanner button { color: var(--pc-dialog-yellow) !important; }

.cabin-pc-page .hotkey-legend { width: min(370px, calc(100vw - 40px)); padding: 20px; border: 1px solid var(--pc-dialog-line); border-radius: 16px; color: var(--pc-dialog-muted); background: rgba(12,16,27,.98); box-shadow: 0 20px 60px rgba(0,0,0,.48); }
.cabin-pc-page .hotkey-legend h3 { color: var(--pc-dialog-text); }
.cabin-pc-page .hotkey-legend strong { color: var(--kp-blue, #9C5BFF); }

/* Estados consistentes para janelas e ações secundárias da cabine. */
.cabin-pc-page .modal-content :is(button, a, input, select, textarea):focus-visible,
.cabin-pc-page .host-action-details :is(button, select):focus-visible { outline: 3px solid rgba(156,91,255,.3); outline-offset: 2px; }
.cabin-pc-page .modal-content :is(button, input, select, textarea):disabled,
.cabin-pc-page .host-action-details :is(button, select):disabled { cursor: not-allowed; opacity: .5; }
.cabin-pc-page #customModal #modalBody { margin-top: 14px; color: var(--pc-dialog-muted); font-size: .82rem; line-height: 1.55; }
.cabin-pc-page #customModal #modalBody :is(input, select, textarea) {
    box-sizing: border-box; width: 100%; min-height: 42px; padding: 9px 11px;
    border: 1px solid var(--pc-dialog-line); border-radius: 10px; color: var(--pc-dialog-text); background: #090c14;
}
.cabin-pc-page .host-action-details { scrollbar-width: thin; scrollbar-color: rgba(156,91,255,.35) transparent; }
.cabin-pc-page .catalog-header-actions { display: flex; gap: 6px; }
.cabin-pc-page #btnDjYoutube { color: #ff6b6b; }
.cabin-pc-page .song-search-requests { margin: 9px 0; padding: 10px; border: 1px solid rgba(255,122,0,.25); border-radius: 12px; background: rgba(255,122,0,.035); }
.cabin-pc-page .song-search-requests-heading { display: flex; justify-content: space-between; color: #f2f3f7; font-size: .68rem; }
.cabin-pc-page .song-search-request { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--pc-dialog-line); }
.cabin-pc-page .song-search-request strong,.cabin-pc-page .song-search-request small { display: block; overflow-wrap: anywhere; }
.cabin-pc-page .song-search-request strong { font-size: .72rem; }
.cabin-pc-page .song-search-request small { margin-top: 3px; color: var(--pc-dialog-muted); font-size: .6rem; }
.cabin-pc-page .song-search-request-actions { display: flex; gap: 5px; margin-top: 7px; }
.cabin-pc-page .song-search-request-actions button { min-height: 30px; padding: 0 8px; border: 1px solid var(--pc-dialog-line); border-radius: 7px; color: #d8dbe5; background: rgba(255,255,255,.04); font-size: .6rem; cursor: pointer; }
.cabin-pc-page .song-search-request-actions button:first-child { color: #15100b; border-color: var(--pc-dialog-yellow); background: var(--pc-dialog-yellow); }
.cabin-pc-page .dj-youtube-form { display: grid; gap: 12px; margin-top: 18px; }
.cabin-pc-page .dj-youtube-form label { display: grid; gap: 6px; color: #d8dbe5; font-size: .72rem; font-weight: 700; }
.cabin-pc-page .dj-youtube-form input { min-height: 44px; }
.cabin-pc-page #djYoutubeError { min-height: 1.2em; margin: 0; }

@media (max-width: 1180px), (max-height: 760px) {
    .cabin-pc-page #settingsModal { padding: 12px !important; }
    .cabin-pc-page .settings-content { width: min(920px, calc(100vw - 24px)) !important; height: calc(100dvh - 24px) !important; max-width: calc(100vw - 24px) !important; max-height: calc(100dvh - 24px) !important; }
    .cabin-pc-page .settings-body { grid-template-columns: 1fr; max-height: none !important; }
}

@media (prefers-reduced-motion: reduce) {
    .cabin-pc-page .modal-content { animation: none !important; }
}
