/* =========================================
   IRONPHANTOM – Universal Identity Styles
   Compatible with any WooCommerce / WP theme
   Cyber UI Edition
   ========================================= */

/* Base button */
.ip-verify-btn {
    background: linear-gradient(135deg, #1e40af 0%, #0ea5e9 100%);
    color: #ffffff !important;
    border: 1px solid #1d4ed8;
    border-radius: 4px;
    padding: 5px 12px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    cursor: pointer;
    white-space: nowrap;
    text-decoration: none;
    display: inline-block;
    transition: all 0.2s ease-in-out;
    box-shadow:
        0 0 0 1px rgba(30, 64, 175, 0.12),
        0 3px 10px rgba(14, 165, 233, 0.18);
}

.ip-verify-btn:hover {
    background: linear-gradient(135deg, #1d4ed8 0%, #06b6d4 100%);
    border-color: #2563eb;
    color: #ffffff !important;
    box-shadow:
        0 0 0 1px rgba(37, 99, 235, 0.18),
        0 5px 14px rgba(6, 182, 212, 0.28);
    transform: translateY(-1px);
}

.ip-verify-btn:disabled {
    opacity: 0.96 !important;
    cursor: not-allowed !important;
    transform: none !important;
}

/* =========================================
   SUCCESS – Verification requested
   ========================================= */
.ip-success {
    background: linear-gradient(135deg, #15803d 0%, #22c55e 100%) !important;
    border-color: #15803d !important;
    color: #ffffff !important;
    box-shadow:
        0 0 0 1px rgba(21, 128, 61, 0.12),
        0 4px 12px rgba(34, 197, 94, 0.22) !important;
}

/* New: User successfully verified */
.ip-verified-user {
    background: linear-gradient(135deg, #059669 0%, #22c55e 100%) !important;
    border-color: #047857 !important;
    color: #ffffff !important;
    cursor: default !important;
    box-shadow:
        0 0 0 1px rgba(5, 150, 105, 0.14),
        0 4px 14px rgba(34, 197, 94, 0.28) !important;
}

/* =========================================
   PENDING – Awaiting verification
   ========================================= */
.ip-pending {
    display: inline-block;
    padding: 4px 10px;
    font-size: 12px;
    font-weight: 600;
    color: #ffffff !important;
    background: linear-gradient(135deg, #1d4ed8 0%, #06b6d4 100%) !important;
    border: 1px solid #2563eb !important;
    border-radius: 20px;
    white-space: nowrap;
    line-height: 1;
    box-shadow:
        0 0 0 1px rgba(37, 99, 235, 0.12),
        0 4px 12px rgba(6, 182, 212, 0.22) !important;
}

/* New: Active Polling State with Cyber Glow Animation */
.ip-is-pending {
    background: linear-gradient(135deg, #1d4ed8 0%, #06b6d4 100%) !important;
    border-color: #2563eb !important;
    color: #ffffff !important;
    cursor: wait !important;
    box-shadow:
        0 0 0 1px rgba(37, 99, 235, 0.16),
        0 0 10px rgba(6, 182, 212, 0.18),
        0 4px 14px rgba(6, 182, 212, 0.30) !important;
    animation: ip-pulse-cyber 1.6s infinite;
}

.ip-is-pending:hover {
    background: linear-gradient(135deg, #1d4ed8 0%, #06b6d4 100%) !important;
    border-color: #2563eb !important;
    color: #ffffff !important;
    transform: none !important;
}

@keyframes ip-pulse-cyber {
    0% {
        opacity: 1;
        box-shadow:
            0 0 0 1px rgba(37, 99, 235, 0.16),
            0 0 8px rgba(6, 182, 212, 0.14),
            0 4px 12px rgba(6, 182, 212, 0.24);
    }
    50% {
        opacity: 0.95;
        box-shadow:
            0 0 0 1px rgba(37, 99, 235, 0.24),
            0 0 16px rgba(6, 182, 212, 0.34),
            0 6px 18px rgba(6, 182, 212, 0.38);
    }
    100% {
        opacity: 1;
        box-shadow:
            0 0 0 1px rgba(37, 99, 235, 0.16),
            0 0 8px rgba(6, 182, 212, 0.14),
            0 4px 12px rgba(6, 182, 212, 0.24);
    }
}

/* =========================================
   WARNING – Medium / High risk
   ========================================= */
.ip-warning {
    background: linear-gradient(135deg, #d97706 0%, #f59e0b 100%) !important;
    border-color: #b45309 !important;
    color: #ffffff !important;
    box-shadow:
        0 0 0 1px rgba(180, 83, 9, 0.14),
        0 4px 12px rgba(245, 158, 11, 0.24) !important;
}

/* =========================================
   ERROR – Failed / network error
   ========================================= */
.ip-error,
.ip-verified-failed {
    background: linear-gradient(135deg, #b91c1c 0%, #ef4444 100%) !important;
    border-color: #991b1b !important;
    color: #ffffff !important;
    box-shadow:
        0 0 0 1px rgba(153, 27, 27, 0.14),
        0 4px 12px rgba(239, 68, 68, 0.24) !important;
}

/* =========================================
   Row state – identity requested
   ========================================= */
.identity-requested {
    background-color: rgba(6, 182, 212, 0.045) !important;
}

.identity-requested td:first-child {
    box-shadow: inset 4px 0 0 #06b6d4;
}

/* Prevent layout breaking in narrow tables */
.transaction-action .ip-verify-btn,
.transaction-action .ip-pending {
    max-width: 100%;
}
