/* ============================================ */
/* Medical Platform - Premium Custom Styles     */
/* ============================================ */

/* Prevent horizontal scroll on all pages */
html, body {
    overflow-x: hidden;
    max-width: 100vw;
    width: 100%;
}

/* Typography */
.font-display {
    font-family: 'Plus Jakarta Sans', 'Inter', system-ui, sans-serif;
}

/* Button System */
.btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1.75rem;
    font-weight: 600;
    font-size: 0.875rem;
    color: #ffffff;
    background-color: #2563EB;
    border-radius: 0.75rem;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 14px 0 rgba(37, 99, 235, 0.25);
}
.btn-primary:hover {
    background-color: #0F4C81;
    transform: translateY(-1px);
    box-shadow: 0 6px 20px 0 rgba(15, 76, 129, 0.3);
}

.btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1.75rem;
    font-weight: 600;
    font-size: 0.875rem;
    color: #ffffff;
    background-color: #14B8A6;
    border-radius: 0.75rem;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 14px 0 rgba(20, 184, 166, 0.25);
}
.btn-secondary:hover {
    background-color: #0D9488;
    transform: translateY(-1px);
    box-shadow: 0 6px 20px 0 rgba(13, 148, 136, 0.3);
}

.btn-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1.75rem;
    font-weight: 600;
    font-size: 0.875rem;
    color: #2563EB;
    background-color: transparent;
    border: 2px solid #2563EB;
    border-radius: 0.75rem;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.btn-outline:hover {
    background-color: #2563EB;
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 6px 20px 0 rgba(37, 99, 235, 0.25);
}

.btn-danger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1.75rem;
    font-weight: 600;
    font-size: 0.875rem;
    color: #ffffff;
    background-color: #EF4444;
    border-radius: 0.75rem;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.btn-danger:hover {
    background-color: #DC2626;
    transform: translateY(-1px);
}

/* Scrollbar hide utility */
.scrollbar-hide {
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.scrollbar-hide::-webkit-scrollbar {
    display: none;
}

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

/* Smooth scroll */
html {
    scroll-behavior: smooth;
}

/* Selection color */
::selection {
    background-color: rgba(37, 99, 235, 0.15);
    color: #0F172A;
}
