/**
 * CliniCore - Base Styles, Resets & Animations
 */

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    font-size: 15px;
}

body {
    min-height: 100vh;
    overflow: hidden;
    font-family: var(--font);
    color: var(--text);
    background: var(--canvas);
    -webkit-font-smoothing: antialiased;
    transition: color .2s ease, background .2s ease;
}

button,
input,
select,
textarea {
    font: inherit;
}

button {
    color: inherit;
}

svg {
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

button,
[data-go],
[data-open-modal] {
    -webkit-tap-highlight-color: transparent;
}

button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 3px solid rgba(20, 125, 120, .2);
    outline-offset: 2px;
}

::-webkit-scrollbar {
    width: 7px;
    height: 7px;
}

::-webkit-scrollbar-track {
    background: transparent;
}

::-webkit-scrollbar-thumb {
    background: var(--line-strong);
    border-radius: 999px;
}

[hidden] {
    display: none !important;
}

/* Animações Globais */
@keyframes livePulse {
    0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(103, 217, 199, .7); }
    70% { transform: scale(1.08); box-shadow: 0 0 0 7px rgba(103, 217, 199, 0); }
    100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(103, 217, 199, 0); }
}

@keyframes popIn {
    from { opacity: 0; transform: scale(.96) translateY(-4px); }
    to { opacity: 1; transform: scale(1) translateY(0); }
}

@keyframes viewIn {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
