/* SCAIPM — custom styles (Tailwind is the base) */

/* ── Scrollbars personalizadas ───────────────────────────────
   Thumb: violeta do site | Track: sem fundo | Tamanho: fino
   Técnica: color-scheme:dark força Webkit a não herdar bg do pai.
   Firefox: scrollbar-color com transparent no track.
   ──────────────────────────────────────────────────────────── */
:root {
    --sb-thumb:   #7c3aed;
    --sb-thumb-h: #8b5cf6;
    --sb-size:    5px;
}

/* Webkit — track invisível via color-scheme */
html, body, * {
    color-scheme: dark;
    scrollbar-width: thin;
    scrollbar-color: var(--sb-thumb) transparent;
}
::-webkit-scrollbar              { width: var(--sb-size); height: var(--sb-size); }
::-webkit-scrollbar-track        { background: transparent; }
::-webkit-scrollbar-track-piece  { background: transparent; }
::-webkit-scrollbar-thumb        { background: var(--sb-thumb); border-radius: 99px; min-height: 36px; }
::-webkit-scrollbar-thumb:hover  { background: var(--sb-thumb-h); }
::-webkit-scrollbar-corner       { background: transparent; }

/* Active nav link highlight */
.nav-link.active {
    background-color: rgb(109 40 217 / 0.2);
    color: rgb(167 139 250);
}

/* Textarea monospace for prompt content */
textarea[name="content"] {
    font-family: 'DM Sans', sans-serif;
}

/* Toast notification */
#toast {
    position: fixed;
    bottom: 1.5rem;
    right: 1.5rem;
    z-index: 9999;
    min-width: 240px;
    transition: opacity 0.3s ease;
}

/* Card com alarme disparado (borda vermelha pulsante) */
.alarm-pending-card {
    border-color: rgb(239 68 68 / 0.7) !important;
    box-shadow: 0 0 0 2px rgb(239 68 68 / 0.25);
    animation: alarm-pulse 1.5s ease-in-out infinite;
}
@keyframes alarm-pulse {
    0%, 100% { box-shadow: 0 0 0 2px rgb(239 68 68 / 0.2); }
    50%       { box-shadow: 0 0 0 5px rgb(239 68 68 / 0.05); }
}

/* Line clamp utility */
.line-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
