/* Portal MCU — Custom component styles */

/* Stat card hover & accent */
.stat-card {
    position: relative;
    transition: transform .25s cubic-bezier(.4,0,.2,1), box-shadow .25s cubic-bezier(.4,0,.2,1);
    overflow: hidden;
}
.stat-card::before {
    content: '';
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    border-radius: 0 4px 4px 0;
    background: var(--accent, #FF5722);
}
.stat-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px -10px rgba(0,0,0,.18);
}
.stat-card .stat-glow {
    position: absolute;
    top: -28px; right: -28px;
    width: 96px; height: 96px;
    border-radius: 9999px;
    background: var(--accent, #FF5722);
    opacity: .07;
    transition: opacity .25s, transform .25s;
}
.stat-card:hover .stat-glow { opacity: .14; transform: scale(1.15); }

/* Gradient primary button */
.btn-gradient {
    background: linear-gradient(135deg, #FF7043 0%, #FF5722 55%, #F4511E 100%);
    box-shadow: 0 6px 16px -6px rgba(255,87,34,.6);
}
.btn-gradient:hover { box-shadow: 0 8px 22px -6px rgba(255,87,34,.75); }

/* Avatar */
.avatar {
    width: 38px; height: 38px;
    border-radius: 9999px;
    display: flex; align-items: center; justify-content: center;
    font-weight: 800; font-size: 13px;
    flex-shrink: 0;
}

/* Status pill with dot */
.pill { display:inline-flex; align-items:center; gap:6px; }
.pill .dot { width:7px; height:7px; border-radius:9999px; }

/* Table row */
.trow { transition: background .15s; cursor: pointer; }
.trow:hover { background: #FF57220a; }
.trow.row-selected {
    background: #FF572214;
    box-shadow: inset 3px 0 0 #FF5722;
}

@keyframes pulseDot { 0%,100%{opacity:1} 50%{opacity:.35} }
.dot-pulse { animation: pulseDot 1.4s ease-in-out infinite; }
