html, body { margin: 0; padding: 0; overflow: hidden; height: 100vh; width: 100vw; }
/* GLOBAL STITCH AESTHETICS */
body {
    background: #f1f5f9 none no-repeat center center fixed;
    background-size: cover;
}

.no-drag {
    -webkit-app-region: no-drag;
}

.drag-region {
    -webkit-app-region: drag;
}

input, textarea, select {
    -webkit-user-select: text !important;
    user-select: text !important;
    -webkit-app-region: no-drag;
}

/* Animations */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes slideUp {
    from { transform: translateY(100%); }
    to { transform: translateY(0); }
}

.animate-fade-in {
    animation: fadeIn 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.animate-slide-up {
    animation: slideUp 0.5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

/* Custom Scrollbar */
.custom-scrollbar::-webkit-scrollbar {
    width: 6px;
}

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

.custom-scrollbar::-webkit-scrollbar-thumb {
    background-color: #cbd5e1;
    border-radius: 20px;
}

.dark .custom-scrollbar::-webkit-scrollbar-thumb {
    background-color: #334155;
}

/* RRHH Nav Active State */
.rrhh-nav-btn.active {
    background: #197fe6;
    color: white !important;
    box-shadow: 0 4px 12px rgba(25, 127, 230, 0.3);
}

/* Calendar grid specific */
.calendar-day {
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
    border-radius: 12px;
    transition: all 0.2s;
}

.calendar-day:hover {
    background: #f1f5f9;
}

.dark .calendar-day:hover {
    background: #1e293b;
}

.calendar-day.today {
    background: #197fe6;
    color: white;
}

/* Admin Item Hover */
.admin-item {
    transition: all 0.2s;
}

.admin-item:hover {
    background: #f8fafc;
}

.dark .admin-item:hover {
    background: #1e293b;
}

/* Signature Pad Canvas */
canvas {
    touch-action: none;
}

/* Master Calendar - fix cell overflow */
#master-calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    overflow: hidden;
}

#master-calendar-grid .calendar-day-box {
    min-height: 0;
    overflow: hidden;
}

#master-calendar-grid .calendar-day-box > div {
    overflow-y: auto;
    max-height: calc(55vh - 4rem);
}

.custom-scrollbar-mini::-webkit-scrollbar { width: 3px; }
.custom-scrollbar-mini::-webkit-scrollbar-thumb { background: rgba(0,0,0,0.15); border-radius: 10px; }

/* Prevent chart and calendar from overflowing container */
#rrhh-view {
    overflow: hidden;
}
