/* Ashokan Event Manager - Plugin Styles */

/* Keyframe animations */
@keyframes aem-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@keyframes aem-slideIn {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Reset inside plugin containers */
#aem-admin-root,
#aem-event-root {
    box-sizing: border-box;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}

#aem-admin-root *,
#aem-event-root * {
    box-sizing: border-box;
}

/* Scrollbar styling */
#aem-admin-root ::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
#aem-admin-root ::-webkit-scrollbar-track {
    background: #f1f5f9;
}
#aem-admin-root ::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 3px;
}

/* Input focus styles */
#aem-admin-root input:focus,
#aem-admin-root textarea:focus,
#aem-admin-root select:focus {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}

/* Button hover states */
#aem-admin-root button:hover:not(:disabled) {
    opacity: 0.88;
    filter: brightness(1.05);
}

/* Admin page fullscreen override for WordPress */
#aem-admin-root {
    position: relative;
    z-index: 1;
}

/* WordPress admin page wrapper */
.aem-admin-page-wrap {
    margin: -10px -20px 0 !important;
    padding: 0 !important;
}

/* Sidebar nav item hover */
#aem-admin-root aside nav button:hover {
    background: rgba(255,255,255,0.08) !important;
    color: #f8fafc !important;
}

/* Toast animation */
#aem-admin-root [style*="slideIn"] {
    animation: aem-slideIn 0.2s ease;
}

/* Table styles */
#aem-admin-root table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}
#aem-admin-root th {
    background: #f8fafc;
    padding: 10px 14px;
    text-align: left;
    font-weight: 600;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #64748b;
    border-bottom: 2px solid #e2e8f0;
}
#aem-admin-root td {
    padding: 12px 14px;
    border-bottom: 1px solid #f1f5f9;
    vertical-align: middle;
}
#aem-admin-root tr:hover td {
    background: #f8fafc;
}

/* Print styles */
@media print {
    #aem-admin-root aside {
        display: none !important;
    }
    #aem-admin-root main {
        padding: 0 !important;
    }
}

/* Responsive */
@media (max-width: 768px) {
    #aem-admin-root aside {
        width: 60px !important;
    }
    #aem-admin-root aside span:not(:first-child) {
        display: none !important;
    }
}
