/* ==========================================================
   PROPNOOK — UNIFIED COCKPIT FINAL SKIN
   Free / Search+ / Hunt+ / Keeper / Navigator
   ========================================================== */

:root {
    --pc-bg: #061a2a;
    --pc-bg-deep: #041522;
    --pc-surface: #0d2b40;
    --pc-surface-2: #12344a;
    --pc-surface-3: #173b51;
    --pc-line: rgba(255,255,255,.09);
    --pc-line-hot: rgba(255,122,26,.38);
    --pc-text: #f4f8fb;
    --pc-muted: #91a7b7;
    --pc-orange: #ff7417;
    --pc-orange-2: #ff8b2c;
    --pc-green: #31d391;
    --pc-radius: 16px;
    --pc-shadow: 0 16px 38px rgba(0,0,0,.18);
}

/* ---------- GLOBAL APP CANVAS ---------- */

body.pn-app {
    background:
        radial-gradient(circle at 78% 0%, rgba(28,74,102,.22), transparent 32%),
        linear-gradient(180deg, var(--pc-bg-deep), var(--pc-bg)) !important;
    color: var(--pc-text) !important;
}

body.pn-app .main-area {
    background: transparent !important;
}

body.pn-app .main-area > main {
    color: var(--pc-text);
}

/* ---------- COMMON TYPOGRAPHY ---------- */

.pn-free-dashboard,
.pn-search-dashboard,
.pn-keeper-dashboard,
.tier-dashboard {
    color: var(--pc-text) !important;
}

.pn-free-dashboard h1,
.pn-free-dashboard h2,
.pn-free-dashboard h3,
.pn-search-dashboard h1,
.pn-search-dashboard h2,
.pn-search-dashboard h3,
.pn-keeper-dashboard h1,
.pn-keeper-dashboard h2,
.pn-keeper-dashboard h3,
.tier-dashboard h1,
.tier-dashboard h2,
.tier-dashboard h3 {
    color: var(--pc-text) !important;
}

.pn-free-eyebrow,
.pn-free-section-label,
.pn-search-eyebrow,
.pn-search-section-label,
.pn-keeper-eyebrow,
.pn-keeper-label,
.tier-label {
    color: var(--pc-orange) !important;
}

/* ---------- HEROES ---------- */

.pn-free-head,
.pn-search-head,
.pn-keeper-header,
.tier-dashboard-hero {
    position: relative !important;
    overflow: hidden !important;
    padding: 25px !important;

    background:
        radial-gradient(circle at 88% 25%, rgba(255,116,23,.14), transparent 28%),
        linear-gradient(135deg, #12364d, #0b293e 58%, #081f31) !important;

    border: 1px solid var(--pc-line) !important;
    border-radius: 18px !important;
    box-shadow: var(--pc-shadow) !important;
}

.pn-free-head p,
.pn-search-head p,
.pn-keeper-header p,
.tier-dashboard-hero p {
    color: #a7bac7 !important;
}

/* ---------- BUTTONS ---------- */

body.pn-app .pn-btn-primary,
body.pn-app .tier-primary-link,
body.pn-app .tier-switch-button {
    background: linear-gradient(135deg,var(--pc-orange-2),var(--pc-orange)) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 10px !important;
    box-shadow: 0 8px 20px rgba(255,116,23,.22) !important;
    text-decoration: none !important;
}

body.pn-app .pn-btn-primary:hover,
body.pn-app .tier-primary-link:hover,
body.pn-app .tier-switch-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 11px 25px rgba(255,116,23,.29) !important;
}

/* ---------- KPI CARDS ---------- */

.pn-free-kpi,
.pn-search-kpi,
.pn-keeper-stat,
.tier-stat-card {
    background: linear-gradient(145deg,var(--pc-surface-2),var(--pc-surface)) !important;
    border: 1px solid var(--pc-line) !important;
    border-radius: 14px !important;
    box-shadow: 0 9px 24px rgba(0,0,0,.12) !important;
    color: var(--pc-text) !important;
}

.pn-free-kpi-label,
.pn-search-kpi-label {
    color: var(--pc-muted) !important;
}

/* ---------- MAIN PANELS ---------- */

.pn-free-panel,
.pn-search-panel,
.pn-keeper-panel,
.hunt-action-box,
.hunt-add-box,
.navigator-privacy,
.navigator-add-household,
.navigator-households {
    background: linear-gradient(145deg,var(--pc-surface),#0a2538) !important;
    border: 1px solid var(--pc-line) !important;
    border-radius: var(--pc-radius) !important;
    box-shadow: var(--pc-shadow) !important;
    color: var(--pc-text) !important;
}

.pn-free-panel-head,
.pn-search-panel-head,
.pn-keeper-panel-header,
.tier-section-heading {
    border-color: var(--pc-line) !important;
}

/* ---------- PROPERTY / RECORD ROWS ---------- */

.pn-free-property-row,
.pn-search-property,
.pn-keeper-record,
.pn-keeper-history-row,
.hunt-action-row,
.hunt-simple-card,
.navigator-household-card {
    background: rgba(255,255,255,.035) !important;
    border: 1px solid var(--pc-line) !important;
    border-radius: 12px !important;
    color: var(--pc-text) !important;
}

.pn-free-property-row:hover,
.pn-search-property:hover,
.pn-keeper-record:hover,
.hunt-action-row:hover,
.hunt-simple-card:hover,
.navigator-household-card:hover {
    border-color: var(--pc-line-hot) !important;
    background: rgba(255,255,255,.052) !important;
}

/* ---------- SECONDARY CARDS ---------- */

.pn-free-stage,
.pn-free-reminder,
.pn-search-stage,
.pn-search-followups > *,
.pn-search-tools > *,
.pn-keeper-tools > *,
.navigator-mini-stats > *,
.hunt-cost-row {
    background: rgba(255,255,255,.035) !important;
    border-color: var(--pc-line) !important;
    color: var(--pc-text) !important;
}

/* ---------- FREDDY CARDS ---------- */

.pn-free-freddy,
.pn-search-freddy,
.pn-keeper-freddy {
    background:
        radial-gradient(circle at 88% 20%,rgba(255,116,23,.16),transparent 32%),
        linear-gradient(145deg,#12364d,#0a2538) !important;

    border: 1px solid rgba(255,116,23,.24) !important;
    border-radius: var(--pc-radius) !important;
    box-shadow: var(--pc-shadow) !important;
}

/* ---------- FORMS ---------- */

body.pn-app input,
body.pn-app select,
body.pn-app textarea {
    background: #0a2335 !important;
    color: var(--pc-text) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 9px !important;
}

body.pn-app input::placeholder,
body.pn-app textarea::placeholder {
    color: #71899b !important;
}

body.pn-app input:focus,
body.pn-app select:focus,
body.pn-app textarea:focus {
    border-color: var(--pc-orange) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(255,116,23,.12) !important;
}

body.pn-app label {
    color: #dce7ee;
}

/* ---------- NAVIGATOR ---------- */

.navigator-privacy {
    background: rgba(23,72,97,.52) !important;
    border-color: rgba(67,150,190,.30) !important;
}

.navigator-household-status,
.hunt-status,
.hunt-followup {
    border-radius: 999px !important;
}

.navigator-alias {
    color: var(--pc-orange) !important;
}

/* ---------- HUNT ---------- */

.hunt-plan-pill {
    background: rgba(255,116,23,.12) !important;
    color: #ff9b52 !important;
    border: 1px solid rgba(255,116,23,.25) !important;
}

.hunt-add-box summary {
    color: var(--pc-text) !important;
}

/* ---------- KEEPER ---------- */

.pn-keeper-record-count,
.pn-keeper-amount {
    color: var(--pc-orange) !important;
}

/* ---------- EMPTY STATES ---------- */

.pn-free-empty,
.pn-free-mini-empty,
.pn-search-empty,
.pn-search-mini-empty,
.pn-keeper-empty-small,
.pn-keeper-history-empty,
.tier-empty {
    color: var(--pc-muted) !important;
}

/* ---------- MUTED TEXT ---------- */

.pn-free-dashboard small,
.pn-search-dashboard small,
.pn-keeper-dashboard small,
.tier-dashboard small {
    color: var(--pc-muted);
}

/* ---------- MOBILE ---------- */

@media (max-width: 850px) {
    .pn-free-head,
    .pn-search-head,
    .pn-keeper-header,
    .tier-dashboard-hero {
        padding: 19px !important;
        border-radius: 14px !important;
    }

    .pn-free-kpis,
    .pn-search-kpis,
    .pn-keeper-snapshot,
    .tier-stat-grid {
        gap: 9px !important;
    }

    .pn-free-panel,
    .pn-search-panel,
    .pn-keeper-panel,
    .hunt-action-box,
    .hunt-add-box,
    .navigator-add-household,
    .navigator-households {
        border-radius: 13px !important;
    }
}

@media (max-width: 560px) {
    body.pn-app input,
    body.pn-app select,
    body.pn-app textarea,
    body.pn-app button,
    body.pn-app .pn-btn,
    body.pn-app .tier-primary-link {
        min-height: 44px;
    }
}
