@tailwind base;
@tailwind components;
@tailwind utilities;

/* Admin Panel Specific Styles */
.mt-8 { margin-top: 1rem !important; }

/* Custom padding for company photos section */
.company-photos-section {
    padding-bottom: 20px !important;
}

/* Ensure proper spacing for admin layout */
.admin-layout {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

/* Main content area */
.main-content {
    flex: 1;
    padding: 1.5rem;
    transition: margin-left 0.3s ease;
}

/* Sidebar styles */
.sidebar {
    width: 16rem;
    height: 100vh;
    position: fixed;
    left: 0;
    top: 0;
    transition: transform 0.3s ease;
    z-index: 40;
}

/* Responsive adjustments */
@media (max-width: 1024px) {
    .sidebar {
        transform: translateX(-100%);
    }
    
    .sidebar.active {
        transform: translateX(0);
    }
    
    .main-content {
        margin-left: 0;
    }
}

/* Form elements */
.form-input,
.form-select,
.form-textarea {
    @apply w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500;
}

.form-label {
    @apply block text-sm font-medium text-gray-700 mb-1;
}

/* Buttons */
.btn {
    @apply inline-flex items-center px-4 py-2 border border-transparent text-sm font-medium rounded-md shadow-sm text-white focus:outline-none focus:ring-2 focus:ring-offset-2;
}

.btn-primary {
    @apply bg-indigo-600 hover:bg-indigo-700 focus:ring-indigo-500;
}

.btn-danger {
    @apply bg-red-600 hover:bg-red-700 focus:ring-red-500;
}

/* Tables */
.table-container {
    @apply overflow-x-auto bg-white rounded-lg shadow overflow-y-auto;
}

.table {
    @apply min-w-full divide-y divide-gray-200;
}

.table th {
    @apply px-6 py-3 bg-gray-50 text-left text-xs font-medium text-gray-500 uppercase tracking-wider;
}

.table td {
    @apply px-6 py-4 whitespace-nowrap text-sm text-gray-900;
}

.table tr {
    @apply hover:bg-gray-50;
}

/* Alerts */
.alert {
    @apply p-4 mb-4 rounded-md;
}

.alert-success {
    @apply bg-green-50 text-green-800;
}

.alert-error {
    @apply bg-red-50 text-red-800;
}

/* Loading indicators */
.loading {
    @apply animate-pulse bg-gray-200 rounded;
}

/* Accessibility improvements */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

/* Print styles */
@media print {
    .no-print {
        display: none !important;
    }
    
    body {
        font-size: 12px;
    }
}
