/* KeyFusion Final Theme - single source of truth */

:root,
html[data-kf-theme="light"]{
    --kf-page:#d7e2ef;
    --kf-page2:#c9d7e8;
    --kf-card:#f9fcff;
    --kf-card2:#eaf2fb;
    --kf-card3:#deeaf7;
    --kf-line:#a9bdd4;
    --kf-line2:#8fa8c4;
    --kf-text:#0f172a;
    --kf-muted:#475b74;
    --kf-faint:#667991;
    --kf-blue:#2563eb;
    --kf-cyan:#0ea5e9;
    --kf-green:#16a34a;
    --kf-orange:#d97706;
    --kf-red:#dc2626;
    --kf-shadow:0 16px 38px rgba(15,23,42,.13);
    --kf-shadow2:0 8px 22px rgba(15,23,42,.09);
}

html[data-kf-theme="dark"]{
    --kf-page:#07111f;
    --kf-page2:#0a1628;
    --kf-card:#101d33;
    --kf-card2:#172842;
    --kf-card3:#213856;
    --kf-line:#314a6d;
    --kf-line2:#4b6b91;
    --kf-text:#eef6ff;
    --kf-muted:#b9c8da;
    --kf-faint:#91a6bf;
    --kf-blue:#38bdf8;
    --kf-cyan:#22d3ee;
    --kf-green:#22c55e;
    --kf-orange:#f59e0b;
    --kf-red:#f87171;
    --kf-shadow:0 18px 46px rgba(0,0,0,.36);
    --kf-shadow2:0 10px 28px rgba(0,0,0,.26);
}

html[data-kf-theme] body{
    background:
        radial-gradient(circle at 12% -8%, rgba(37,99,235,.14), transparent 360px),
        radial-gradient(circle at 90% 0%, rgba(14,165,233,.08), transparent 340px),
        linear-gradient(180deg,var(--kf-page),var(--kf-page2)) !important;
    color:var(--kf-text) !important;
}

html[data-kf-theme] main,
html[data-kf-theme] .layout,
html[data-kf-theme] .user-layout{
    background:transparent !important;
}

/* Header */
html[data-kf-theme] header{
    background:linear-gradient(90deg,#071225,#0b1830 52%,#071225) !important;
    border-bottom:1px solid rgba(255,255,255,.10) !important;
    box-shadow:0 10px 30px rgba(2,8,23,.25) !important;
}

html[data-kf-theme] header,
html[data-kf-theme] header *{
    color:#f8fafc !important;
}

html[data-kf-theme] .kf-brand-sub,
html[data-kf-theme] header .small,
html[data-kf-theme] header .subtitle{
    color:rgba(248,250,252,.74) !important;
}

/* Main cards */
html[data-kf-theme] .card,
html[data-kf-theme] .panel,
html[data-kf-theme] .sidebar-box,
html[data-kf-theme] .sidebar-nav,
html[data-kf-theme] .order-card,
html[data-kf-theme] article.order-card,
html[data-kf-theme] .wallet-tx-filter-wrap,
html[data-kf-theme] .purchase-filter-wrap,
html[data-kf-theme] .np-current-payment-card,
html[data-kf-theme] .np-topup-card,
html[data-kf-theme] .np-deposits-card,
html[data-kf-theme] .review-card{
    background:var(--kf-card) !important;
    border:1px solid var(--kf-line) !important;
    box-shadow:var(--kf-shadow) !important;
    color:var(--kf-text) !important;
}

/* Inner boxes must be visible */
html[data-kf-theme] .info-box,
html[data-kf-theme] .summary-card,
html[data-kf-theme] .mini-stat,
html[data-kf-theme] .np-pay-box,
html[data-kf-theme] .wallet-subtab-note,
html[data-kf-theme] .wallet-v2-empty-fix,
html[data-kf-theme] .buyer-box .mini-stat,
html[data-kf-theme] .order-grid > div,
html[data-kf-theme] .orders-summary > div,
html[data-kf-theme] .buyer-mini-meta > div{
    background:var(--kf-card2) !important;
    border:1px solid var(--kf-line) !important;
    box-shadow:var(--kf-shadow2) !important;
    color:var(--kf-text) !important;
}

/* Text */
html[data-kf-theme] h1,
html[data-kf-theme] h2,
html[data-kf-theme] h3,
html[data-kf-theme] h4,
html[data-kf-theme] h5,
html[data-kf-theme] h6,
html[data-kf-theme] b,
html[data-kf-theme] strong,
html[data-kf-theme] .orders-title,
html[data-kf-theme] .section-title,
html[data-kf-theme] .order-id,
html[data-kf-theme] .info-value,
html[data-kf-theme] .summary-value,
html[data-kf-theme] .buyer-telegram,
html[data-kf-theme] .price,
html[data-kf-theme] .value{
    color:var(--kf-text) !important;
}

html[data-kf-theme] .small,
html[data-kf-theme] .meta,
html[data-kf-theme] .orders-subtitle,
html[data-kf-theme] .info-label,
html[data-kf-theme] .summary-label,
html[data-kf-theme] .wallet-tx-filter-sub,
html[data-kf-theme] .purchase-filter-sub,
html[data-kf-theme] label,
html[data-kf-theme] p{
    color:var(--kf-muted) !important;
}

/* Brutal readability fix for dark balance/card bugs */
html[data-kf-theme="dark"] .wallet-balance-box,
html[data-kf-theme="dark"] .balance-card,
html[data-kf-theme="dark"] [class*="balance"],
html[data-kf-theme="dark"] [class*="Balance"],
html[data-kf-theme="dark"] .summary-card,
html[data-kf-theme="dark"] .info-box,
html[data-kf-theme="dark"] .mini-stat{
    background:var(--kf-card2) !important;
    border-color:var(--kf-line) !important;
    color:var(--kf-text) !important;
}

html[data-kf-theme="dark"] .wallet-balance-box *,
html[data-kf-theme="dark"] .balance-card *,
html[data-kf-theme="dark"] [class*="balance"] *,
html[data-kf-theme="dark"] [class*="Balance"] *,
html[data-kf-theme="dark"] .summary-card *,
html[data-kf-theme="dark"] .info-box *,
html[data-kf-theme="dark"] .mini-stat *{
    color:inherit !important;
}

/* Inputs */
html[data-kf-theme] input,
html[data-kf-theme] select,
html[data-kf-theme] textarea{
    background:var(--kf-card3) !important;
    color:var(--kf-text) !important;
    border:1px solid var(--kf-line2) !important;
    box-shadow:none !important;
}

html[data-kf-theme] input::placeholder,
html[data-kf-theme] textarea::placeholder{
    color:var(--kf-faint) !important;
}

html[data-kf-theme] input:focus,
html[data-kf-theme] select:focus,
html[data-kf-theme] textarea:focus{
    outline:none !important;
    border-color:var(--kf-blue) !important;
    box-shadow:0 0 0 4px rgba(37,99,235,.16) !important;
}

/* Sidebar */
html[data-kf-theme] .sidebar,
html[data-kf-theme] .user-sidebar{
    background:transparent !important;
}

html[data-kf-theme] .sidebar-nav a,
html[data-kf-theme] .wallet-subnav a,
html[data-kf-theme] .wallet-subnav-kf a{
    background:transparent !important;
    color:var(--kf-text) !important;
    border:1px solid transparent !important;
    box-shadow:none !important;
}

html[data-kf-theme] .sidebar-nav a:hover,
html[data-kf-theme] .wallet-subnav a:hover,
html[data-kf-theme] .wallet-subnav-kf a:hover{
    background:var(--kf-card2) !important;
    border-color:var(--kf-line) !important;
}

html[data-kf-theme] .sidebar-nav a.active,
html[data-kf-theme] .wallet-subnav a.active,
html[data-kf-theme] .wallet-subnav-kf a.active{
    background:linear-gradient(135deg,#2563eb,#16a34a) !important;
    color:#fff !important;
    border-color:transparent !important;
    box-shadow:0 12px 26px rgba(37,99,235,.28) !important;
}

/* Buttons */
html[data-kf-theme] button,
html[data-kf-theme] .btn{
    color:#fff !important;
    border:0 !important;
}

html[data-kf-theme] button[type="submit"],
html[data-kf-theme] .btn:not(.gray):not(.red):not(.orange){
    background:linear-gradient(135deg,#2563eb,#0ea5e9) !important;
}

html[data-kf-theme] button.green,
html[data-kf-theme] .btn.green{
    background:#16a34a !important;
}

html[data-kf-theme] button.gray,
html[data-kf-theme] .btn.gray{
    background:#64748b !important;
}

html[data-kf-theme] button.red,
html[data-kf-theme] .btn.red{
    background:#dc2626 !important;
}

/* Pending payment */
html[data-kf-theme] .np-current-payment-card{
    background:
        linear-gradient(180deg,rgba(245,158,11,.12),transparent 48%),
        var(--kf-card) !important;
    border-color:rgba(245,158,11,.50) !important;
}

html[data-kf-theme] .np-warning-line,
html[data-kf-theme] .reason-box,
html[data-kf-theme] .wallet-tx-clean-note{
    background:rgba(245,158,11,.14) !important;
    border:1px dashed rgba(245,158,11,.55) !important;
    color:var(--kf-text) !important;
}

/* Tables */
html[data-kf-theme] table{
    background:var(--kf-card) !important;
    color:var(--kf-text) !important;
}

html[data-kf-theme] th{
    background:var(--kf-card2) !important;
    color:var(--kf-text) !important;
    border-color:var(--kf-line) !important;
}

html[data-kf-theme] td{
    background:transparent !important;
    color:var(--kf-text) !important;
    border-color:var(--kf-line) !important;
}

html[data-kf-theme="light"] tr:nth-child(even){
    background:rgba(15,23,42,.045) !important;
}

html[data-kf-theme="dark"] tr:nth-child(even){
    background:rgba(255,255,255,.035) !important;
}

/* Transaction / order card headers */
html[data-kf-theme] .order-head,
html[data-kf-theme] .order-card > div:first-child,
html[data-kf-theme] article > div:first-child{
    background:var(--kf-card2) !important;
    color:var(--kf-text) !important;
    border-color:var(--kf-line) !important;
}

/* Chips */
html[data-kf-theme] .wallet-tx-chip,
html[data-kf-theme] .purchase-chip,
html[data-kf-theme] .wallet-tx-clean-type,
html[data-kf-theme] .purchase-clean-badge{
    background:var(--kf-card3) !important;
    color:var(--kf-text) !important;
    border:1px solid var(--kf-line) !important;
}

html[data-kf-theme] .wallet-tx-chip.active,
html[data-kf-theme] .purchase-chip.active{
    background:linear-gradient(135deg,#2563eb,#0ea5e9) !important;
    color:#fff !important;
    border-color:transparent !important;
}

/* Alerts */
html[data-kf-theme] .success,
html[data-kf-theme] .review-success,
html[data-kf-theme] .np-live-success{
    background:rgba(34,197,94,.14) !important;
    border:1px solid rgba(34,197,94,.42) !important;
    color:var(--kf-text) !important;
}

html[data-kf-theme] .warning{
    background:rgba(245,158,11,.14) !important;
    border:1px solid rgba(245,158,11,.42) !important;
    color:var(--kf-text) !important;
}

html[data-kf-theme] .error{
    background:rgba(239,68,68,.14) !important;
    border:1px solid rgba(239,68,68,.42) !important;
    color:var(--kf-text) !important;
}

/* Theme toggle */
html[data-kf-theme] .kf-theme-toggle{
    min-width:96px !important;
    height:38px !important;
    border-radius:12px !important;
    padding:0 14px !important;
    background:rgba(255,255,255,.10) !important;
    border:1px solid rgba(255,255,255,.16) !important;
    color:#fff !important;
    font-size:13px !important;
    font-weight:900 !important;
    box-shadow:0 8px 20px rgba(0,0,0,.18) !important;
}

html[data-kf-theme] .kf-theme-toggle *{
    color:#fff !important;
}
