/* Paycheck Power — premium, editorial */
.pp-power-wrap { max-width: 880px; margin: 24px auto; }
.pp-power-card { background: #fff; border: 1px solid rgba(15, 23, 42, 0.08); border-radius: 16px; padding: 22px; box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06); }
.pp-power-brand { display:flex; align-items:center; gap:10px; margin-bottom: 10px; }
.pp-power-logo { width: 36px; height: 36px; border-radius: 10px; display:flex; align-items:center; justify-content:center; background: #fff; border: 1px solid rgba(15, 23, 42, 0.12); }
.pp-power-brandtext { font-weight: 700; color: #0B1B4D; letter-spacing: 1.6px; font-size: 12px; }
.pp-power-title { font-size: 28px; font-weight: 800; color:#0B1B4D; line-height: 1.1; }
.pp-power-subtitle { margin-top: 6px; color: rgba(15,23,42,0.72); font-size: 14px; }
.tm { font-size: 0.75em; vertical-align: super; }

.pp-power-form { margin-top: 16px; }
.pp-power-form label { display:block; font-size: 12px; font-weight: 700; color: rgba(15,23,42,0.75); margin: 10px 0 6px; }
.pp-power-form input, .pp-power-form select { width: 100%; padding: 12px 12px; border-radius: 12px; border: 1px solid rgba(15, 23, 42, 0.14); background: #fff; font-size: 15px; }
.pp-power-form input:focus, .pp-power-form select:focus { outline: none; border-color: rgba(11, 27, 77, 0.55); box-shadow: 0 0 0 3px rgba(11, 27, 77, 0.10); }

.pp-grid-2 { display:grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 640px){ .pp-grid-2 { grid-template-columns: 1fr; } }

.pp-toggle { display:flex; border: 1px solid rgba(15,23,42,0.14); border-radius: 12px; overflow:hidden; height: 44px; }
.pp-toggle-btn { flex:1; background:#fff; border:0; cursor:pointer; font-weight: 800; color: rgba(15,23,42,0.78); }
.pp-toggle-btn.active { background: rgba(11,27,77,0.08); color:#0B1B4D; }

.pp-btn { width:100%; margin-top: 14px; padding: 12px 14px; border-radius: 12px; border: 0; cursor: pointer; background: #0B1B4D; color: #fff; font-weight: 800; font-size: 15px; }
.pp-btn:hover { filter: brightness(1.04); }
.pp-btn-secondary { background: rgba(11,27,77,0.10); color: #0B1B4D; }

.pp-disclaimer { margin-top: 10px; font-size: 12px; color: rgba(15,23,42,0.68); }
.pp-disclaimer a { color: #0B1B4D; text-decoration: underline; }

.pp-advanced { margin-top: 10px; border: 1px dashed rgba(15,23,42,0.18); border-radius: 12px; padding: 10px 12px; }
.pp-advanced summary { cursor:pointer; font-weight: 800; color: rgba(15,23,42,0.8); }
.pp-advanced-body { margin-top: 8px; }
.pp-note { font-size: 12px; color: rgba(15,23,42,0.65); margin-top: 6px; }

.pp-power-results { margin-top: 16px; }
.pp-results-header { display:flex; justify-content: space-between; align-items:flex-start; gap: 12px; }
.pp-results-label { font-weight: 800; color: rgba(15,23,42,0.8); }
.pp-score { font-size: 44px; font-weight: 900; color:#0B1B4D; line-height: 1; margin-top: 6px; }
.pp-score-max { font-size: 16px; font-weight: 800; color: rgba(15,23,42,0.6); margin-left: 6px; }
.pp-badge { margin-top: 10px; display:inline-block; padding: 6px 10px; border-radius: 999px; background: rgba(11,27,77,0.08); color:#0B1B4D; font-weight: 900; font-size: 12px; letter-spacing: 0.4px; }
.pp-powered { font-size: 12px; color: rgba(15,23,42,0.65); font-weight: 700; }

.pp-tiles { display:grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 16px; }
@media (max-width: 720px){ .pp-tiles { grid-template-columns: 1fr; } }
.pp-tile { border: 1px solid rgba(15,23,42,0.10); border-radius: 14px; padding: 14px; background: rgba(248,250,252,0.7); }
.pp-tile-label { font-size: 12px; font-weight: 800; color: rgba(15,23,42,0.68); }
.pp-tile-value { margin-top: 6px; font-size: 22px; font-weight: 900; color:#0B1B4D; }
.pp-tile-sub { margin-top: 2px; font-size: 12px; color: rgba(15,23,42,0.6); }

.pp-breakdown { margin-top: 14px; border-top: 1px solid rgba(15,23,42,0.08); padding-top: 12px; }
.pp-break-row { display:flex; justify-content: space-between; gap: 10px; padding: 6px 0; color: rgba(15,23,42,0.72); font-weight: 700; font-size: 13px; }
.pp-break-row span:last-child { color: rgba(15,23,42,0.9); }

/* Modal */
.pp-modal { position: fixed; inset: 0; background: rgba(15,23,42,0.55); display:flex; align-items:center; justify-content:center; padding: 18px; z-index: 99999; }
.pp-modal-inner { max-width: 720px; width: 100%; background: #fff; border-radius: 16px; padding: 18px; }
.pp-modal-title { font-size: 18px; font-weight: 900; color:#0B1B4D; }
.pp-modal-body { margin-top: 10px; color: rgba(15,23,42,0.78); font-size: 14px; }
.pp-modal-body ul { margin-left: 18px; }


.pp-power-logo img { width: 28px; height: 28px; object-fit: contain; display:block; }


/* Force visible text in selects on themes that override colors */
.pp-power-form select { color: #0B1B4D !important; }
.pp-power-form select option { color: #0B1B4D; }


.pp-warning { margin-top: 10px; padding: 10px 12px; border-radius: 12px; background: rgba(239, 68, 68, 0.08); color: rgba(15,23,42,0.78); font-weight: 700; font-size: 13px; border: 1px solid rgba(239, 68, 68, 0.18); }


.pp-shock { margin-top: 12px; padding: 14px 14px; border-radius: 14px; background: rgba(11,27,77,0.06); border: 1px solid rgba(11,27,77,0.10); }
.pp-shock-title { font-weight: 900; color:#0B1B4D; font-size: 13px; letter-spacing: 0.2px; }
.pp-shock-line { margin-top: 8px; font-weight: 900; color: rgba(15,23,42,0.92); font-size: 15px; line-height: 1.35; }
.pp-shock-sub { margin-top: 6px; font-size: 12px; color: rgba(15,23,42,0.70); font-weight: 700; }


/* Mobile select visibility fix */
.pp-select { color: #0B1B4D !important; }
.pp-select option { color: #0B1B4D; }
@media (max-width: 768px) {
  .pp-select {
    appearance: auto;
    -webkit-appearance: auto;
    background: #fff;
  }
}

.pp-shock-note { margin-top: 6px; font-size: 12px; color: rgba(15,23,42,0.65); font-weight: 700; }

#pp_hours_wrap { display: none; }


/* pp-select-strong-fix: force selected text to display on mobile browsers */
.pp-select{ color:#0B1B4D !important; -webkit-text-fill-color:#0B1B4D !important; opacity:1 !important; }
.pp-select:focus{ color:#0B1B4D !important; -webkit-text-fill-color:#0B1B4D !important; }
.pp-select option{ color:#0B1B4D !important; }
@media (max-width:768px){ .pp-select{ text-shadow:0 0 0 #0B1B4D; } }


/* pp-select-overlay-fix: ensure selected metro text is always visible (theme-proof) */
.pp-select-wrap{ position:relative; }
.pp-select-display{ position:absolute; left:12px; right:44px; top:50%; transform:translateY(-50%); pointer-events:none; color:#0B1B4D; font-weight:800; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pp-select{ background:transparent !important; color:transparent !important; -webkit-text-fill-color:transparent !important; }
.pp-select option{ color:#0B1B4D !important; }
.pp-select-wrap select{ padding-right:44px; }
.pp-select-wrap:after{ content:''; position:absolute; right:14px; top:50%; width:10px; height:10px; border-right:2px solid rgba(15,23,42,0.55); border-bottom:2px solid rgba(15,23,42,0.55); transform:translateY(-50%) rotate(45deg); pointer-events:none; z-index:3; }


/* Lifestyle Snapshot (Beta) */
.pp-lifestyle{ margin-top:18px; padding:14px; border-radius:14px; background:#f8fafc; border:1px solid rgba(15,23,42,0.08); }
.pp-lifestyle-title{ font-weight:900; color:#0B1B4D; }
.pp-beta{ font-size:11px; font-weight:800; background:rgba(15,23,42,0.08); padding:2px 6px; border-radius:6px; margin-left:6px; color:rgba(15,23,42,0.75); }
.pp-lifestyle-list{ list-style:none; padding:0; margin:10px 0 0 0; }
.pp-lifestyle-list li{ margin:6px 0; color:rgba(15,23,42,0.82); font-weight:700; }
.pp-lifestyle-list strong{ font-weight:900; }
.pp-lifestyle-note{ margin-top:10px; font-size:12px; color:rgba(15,23,42,0.65); font-weight:700; }
