@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Poppins:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@300;400;500;600&family=Playfair+Display:wght@400;500;600;700;800&display=swap');

/* Reset and Base Styles */
*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    font-size: 16px;
    scroll-behavior: smooth;
}

body {
    font-family: 'Poppins', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    background: linear-gradient(135deg, #f0fff4 0%, #e8f5e8 25%, #f0f8ff 50%, #e8f0ff 75%, #f0fff4 100%);
    min-height: 100vh;
    color: #95e695;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
    position: relative;
    transition: background-color 0.4s ease, color 0.4s ease;
}

/* Dark Mode Support */
[data-theme="dark"] body {
    background: linear-gradient(135deg, #1a2e4a 0%, #2a4a6a 25%, #3a5a7a 50%, #2a4a8a 75%, #1a3a6a 100%);
    color: #e8f4fd;
}

[data-theme="dark"] body::before {
    background: 
        radial-gradient(circle at 20% 80%, rgba(99, 102, 241, 0.15) 0%, transparent 50%),
        radial-gradient(circle at 80% 20%, rgba(236, 72, 153, 0.12) 0%, transparent 50%),
        radial-gradient(circle at 40% 40%, rgba(139, 92, 246, 0.1) 0%, transparent 50%);
}

body::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: 
        radial-gradient(circle at 20% 80%, rgba(139, 195, 74, 0.05) 0%, transparent 50%),
        radial-gradient(circle at 80% 20%, rgba(33, 150, 243, 0.05) 0%, transparent 50%),
        radial-gradient(circle at 40% 40%, rgba(156, 39, 176, 0.05) 0%, transparent 50%);
    pointer-events: none;
    z-index: -1;
    animation: float 25s ease-in-out infinite;
}

@keyframes float {
    0%, 100% { transform: translateY(0px) rotate(0deg); }
    33% { transform: translateY(-8px) rotate(0.5deg); }
    66% { transform: translateY(4px) rotate(-0.5deg); }
}

/* Responsive font sizes */
@media (max-width: 768px) {
    html {
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    html {
        font-size: 13px;
    }
}

/* Admin Container */
.admin-container {
    max-width: 1400px;
    margin: 0 auto;
    background: rgba(232, 245, 232, 0.3);
    backdrop-filter: blur(25px);
    -webkit-backdrop-filter: blur(25px);
    min-height: 100vh;
    box-shadow: 0 20px 60px rgba(148, 224, 148, 0.1), 0 0 40px rgba(139, 195, 74, 0.1);
    border: 1px solid rgba(206, 253, 152, 0.3);
    border-radius: 24px;
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

[data-theme="dark"] .admin-container {
    background: rgba(145, 183, 221, 0.4);
    border: 1px solid rgba(190, 221, 252, 0.3);
    box-shadow: 0 20px 60px rgba(136, 165, 206, 0.3), 0 0 40px rgba(99, 102, 241, 0.2);
}

.admin-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #e8f5e8, #f0f8ff, #f5f0ff);
    opacity: 0.8;
}

@media (max-width: 1440px) {
    .admin-container {
        margin: 0 1rem;
        border-radius: 0.75rem;
    }
}

@media (max-width: 768px) {
    .admin-container {
        margin: 0;
        border-radius: 0;
    }
}

/* Header */
.admin-header {
    background: rgba(134, 207, 134, 0.4);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    color: #91db91;
    padding: clamp(1rem, 3vw, 2rem);
    box-shadow: 0 8px 32px rgba(153, 219, 153, 0.1);
    border: 1px solid rgba(173, 219, 121, 0.3);
    border-radius: 24px 24px 0 0;
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

[data-theme="dark"] .admin-header {
    background: rgba(122, 168, 214, 0.6);
    color: #e8f4fd;
    border: 1px solid rgba(123, 175, 228, 0.3);
    box-shadow: 0 8px 32px rgba(26, 46, 74, 0.3);
}

.admin-header::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(189, 125, 125, 0.1), transparent);
    animation: shimmer 3s ease-in-out infinite;
}

@keyframes shimmer {
    0% { left: -100%; }
    100% { left: 100%; }
}

.admin-header:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 40px rgba(45, 74, 45, 0.15), 0 0 30px rgba(139, 195, 74, 0.2);
}

.admin-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="50" cy="50" r="1" fill="rgba(255,255,255,0.1)"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');
    opacity: 0.1;
}

.header-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    position: relative;
    z-index: 1;
}

@media (max-width: 768px) {
    .header-content {
        flex-direction: column;
        text-align: center;
        gap: 1.5rem;
    }
}

.admin-header h1 {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.5rem, 5vw, 2.5rem);
    font-weight: 800;
    background: linear-gradient(135deg, #4fb14f 0%, #4a90e2 50%, #8e44ad 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    letter-spacing: -1px;
    text-shadow: 0 4px 15px rgba(206, 90, 90, 0.637);
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
    white-space: nowrap;
    animation: typewriter 2.5s steps(15) 0.5s both;
}

[data-theme="dark"] .admin-header h1 {
    background: linear-gradient(135deg, #6366f1 0%, #ec4899 50%, #3b82f6 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-shadow: 0 0 20px rgba(99, 102, 241, 0.5);
}

.admin-header h1::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 2px;
    height: 100%;
    background: #4a90e2;
    animation: blink 1s infinite;
}

.admin-header h1:hover {
    transform: scale(1.02);
    filter: drop-shadow(0 6px 20px rgba(74, 144, 226, 0.3));
}

@media (max-width: 768px) {
    .admin-header h1 {
        justify-content: center;
    }
}

.header-actions {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

@media (max-width: 768px) {
    .header-actions {
        justify-content: center;
        width: 100%;
    }
}

/* Navigation */
.admin-nav {
    background: rgba(109, 199, 109, 0.445);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    border-bottom: 1px solid rgba(122, 168, 69, 0.3);
    padding: 0 clamp(1rem, 3vw, 2rem);
    position: sticky;
    top: 0;
    z-index: 100;
    box-shadow: 0 4px 20px rgba(108, 201, 108, 0.1);
    position: relative;
}

[data-theme="dark"] .admin-nav {
    background: rgba(42, 74, 106, 0.8);
    border-bottom: 1px solid rgba(99, 150, 200, 0.3);
    box-shadow: 0 4px 20px rgba(26, 46, 74, 0.3);
}

.admin-nav::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.05), transparent);
    pointer-events: none;
}

@media (max-width: 768px) {
    .admin-nav {
        padding: 0 1rem;
    }
}

.nav-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    padding: 0.5rem 0;
    justify-content: center;
}

@media (max-width: 768px) {
    .nav-tabs {
        gap: 0.25rem;
        justify-content: center;
        padding: 0.5rem;
    }
}

.nav-tab {
    background: none;
    border: none;
    padding: clamp(0.6rem, 2vw, 0.8rem) clamp(0.8rem, 3vw, 1.2rem);
    cursor: pointer;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    color: #6b8a6b;
    border-bottom: 3px solid transparent;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    white-space: nowrap;
    font-size: clamp(0.75rem, 2vw, 0.85rem);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    flex: 0 0 auto;
    min-width: fit-content;
}

[data-theme="dark"] .nav-tab {
    color: #cbd5e1;
}

[data-theme="dark"] .nav-tab:hover {
    color: #e8f4fd;
    background: rgba(99, 150, 200, 0.3);
}

[data-theme="dark"] .nav-tab.active {
    color: #e8f4fd;
    border-bottom-color: #4a90e2;
    background: rgba(99, 150, 200, 0.4);
    border-bottom-color: #6366f1;
    background: rgba(99, 102, 241, 0.3);
}

.nav-tab::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(232, 245, 232, 0.3), transparent);
    transition: left 0.5s ease;
}

.nav-tab:hover::before {
    left: 100%;
}

@media (max-width: 768px) {
    .nav-tab {
        padding: 0.6rem 0.8rem;
        font-size: 0.75rem;
        min-height: 44px;
    }
}

@media (max-width: 480px) {
    .nav-tab {
        padding: 0.5rem 0.6rem;
        font-size: 0.7rem;
        min-height: 40px;
    }
}

.nav-tab:hover {
    color: #2d4a2d;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    transform: translateY(-1px);
    box-shadow: 0 4px 15px rgba(45, 74, 45, 0.1);
}

.nav-tab.active {
    color: #2d4a2d;
    border-bottom-color: #4a90e2;
    background: rgba(255, 255, 255, 0.25);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-bottom: 3px solid #4a90e2;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(74, 144, 226, 0.15);
}

.nav-tab:hover::before {
    left: 100%;
}

/* Main Content */
.admin-main {
    padding: clamp(1rem, 4vw, 2rem);
    background: #f0fff4;
    min-height: calc(100vh - 200px);
}

[data-theme="dark"] .admin-main {
    background: rgba(42, 74, 106, 0.6);
    color: #e8f4fd;
}

@media (max-width: 768px) {
    .admin-main {
        padding: 1rem;
    }
}

.admin-section {
    display: none;
}

.admin-section.active {
    display: block;
}

.section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2rem;
    padding: 1.5rem;
    background: linear-gradient(135deg, rgba(232, 245, 232, 0.3), rgba(240, 248, 255, 0.3));
    border-radius: 16px;
    border: 2px solid rgba(139, 195, 74, 0.3);
    box-shadow: 0 8px 25px rgba(45, 74, 45, 0.1);
    position: relative;
    overflow: hidden;
}

.section-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #4a90e2, #8e44ad, #4a90e2);
    border-radius: 16px 16px 0 0;
}

[data-theme="dark"] .section-header {
    background: linear-gradient(135deg, rgba(42, 74, 106, 0.4), rgba(58, 90, 122, 0.4));
    border: 2px solid rgba(99, 150, 200, 0.3);
}

[data-theme="dark"] .section-header::before {
    background: linear-gradient(90deg, #6366f1, #ec4899, #3b82f6);
}

.section-header h2 {
    font-size: 1.5rem;
    font-weight: 600;
    color: #2d4a2d;
}

[data-theme="dark"] .section-header h2 {
    color: #ffffff;
}

/* Form Styles */
.form-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: clamp(1.5rem, 3vw, 2rem);
    align-items: start;
    padding: 1rem;
    background: linear-gradient(135deg, rgba(232, 245, 232, 0.1), rgba(240, 248, 255, 0.1));
    border-radius: 20px;
    border: 1px solid rgba(139, 195, 74, 0.2);
}

@media (max-width: 768px) {
    .form-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
}

@media (max-width: 480px) {
    .form-grid {
        gap: 0.75rem;
    }
}

.form-group {
    display: flex;
    flex-direction: column;
}

.form-group.full-width {
    grid-column: 1 / -1;
}

.form-group label {
    font-weight: 500;
    margin-bottom: 0.5rem;
    color: #2d5a2d;
}

[data-theme="dark"] .form-group label {
    color: #b8d4f0;
}

.form-group input,
.form-group textarea,
.form-group select {
    padding: clamp(0.75rem, 2vw, 1rem);
    border: 2px solid rgba(139, 195, 74, 0.3);
    border-radius: 12px;
    font-size: clamp(0.875rem, 2vw, 1rem);
    font-weight: 500;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    width: 100%;
    background: rgba(232, 245, 232, 0.2);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    color: #2d5a2d;
    font-family: inherit;
    box-shadow: 0 2px 10px rgba(45, 74, 45, 0.1);
}

[data-theme="dark"] .form-group input,
[data-theme="dark"] .form-group textarea,
[data-theme="dark"] .form-group select {
    background: rgba(99, 150, 200, 0.1);
    border: 2px solid rgba(99, 150, 200, 0.3);
    color: #e8f4fd;
}

[data-theme="dark"] .form-group input::placeholder,
[data-theme="dark"] .form-group textarea::placeholder {
    color: rgba(184, 212, 240, 0.7);
}

.form-group input::placeholder,
.form-group textarea::placeholder {
    color: rgba(45, 74, 45, 0.6);
    font-weight: 400;
}

.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
    outline: none;
    border-color: rgba(74, 144, 226, 0.5);
    box-shadow: 0 0 0 3px rgba(74, 144, 226, 0.1), 0 4px 20px rgba(74, 144, 226, 0.15);
    background: rgba(255, 255, 255, 0.2);
    transform: translateY(-2px) scale(1.01);
}

@media (max-width: 480px) {
    .form-group input,
    .form-group textarea,
    .form-group select {
        padding: 0.625rem;
        font-size: 0.875rem;
    }
}

.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

.form-group textarea {
    resize: vertical;
    min-height: clamp(80px, 15vw, 100px);
    font-family: inherit;
    line-height: 1.5;
}

@media (max-width: 480px) {
    .form-group textarea {
        min-height: 80px;
    }
}

/* Button Styles */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: clamp(0.875rem, 2vw, 1.125rem) clamp(1.5rem, 3vw, 2.25rem);
    border: none;
    border-radius: 16px;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    text-decoration: none;
    font-size: clamp(0.875rem, 2vw, 0.95rem);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    position: relative;
    overflow: hidden;
    min-height: 48px;
    white-space: nowrap;
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    border: 2px solid transparent;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

.btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s ease;
}

.btn:hover::before {
    left: 100%;
}

@media (max-width: 768px) {
    .btn {
        padding: 0.625rem 1rem;
        font-size: 0.875rem;
        min-height: 40px;
    }
}

@media (max-width: 480px) {
    .btn {
        padding: 0.5rem 0.875rem;
        font-size: 0.8rem;
        min-height: 36px;
    }
}

.btn-primary {
    background: linear-gradient(135deg, #4a90e2, #8e44ad, #667eea);
    color: white;
    border: 2px solid rgba(74, 144, 226, 0.3);
    box-shadow: 0 8px 25px rgba(74, 144, 226, 0.4), 0 0 20px rgba(142, 68, 173, 0.2);
}

.btn-primary:hover {
    transform: translateY(-4px) scale(1.03);
    box-shadow: 0 12px 35px rgba(74, 144, 226, 0.5), 0 0 30px rgba(142, 68, 173, 0.4);
    background: linear-gradient(135deg, #357abd, #7a3a96, #5a67d8);
    border-color: rgba(74, 144, 226, 0.6);
}

.btn-primary:hover::before {
    left: 100%;
}

.btn-secondary {
    background: linear-gradient(135deg, rgba(245, 240, 255, 0.8), rgba(232, 245, 232, 0.8));
    color: #2d4a2d;
    border: 2px solid rgba(139, 195, 74, 0.4);
    box-shadow: 0 6px 20px rgba(45, 74, 45, 0.15);
}

.btn-secondary:hover {
    background: linear-gradient(135deg, #e8f5e8 0%, #f0f8ff 100%);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(45, 74, 45, 0.2);
}

.btn-danger {
    background: linear-gradient(135deg, rgba(255, 232, 232, 0.8), rgba(255, 240, 240, 0.8));
    color: #dc2626;
    border: 2px solid rgba(239, 68, 68, 0.4);
    box-shadow: 0 6px 20px rgba(220, 38, 38, 0.2);
}

.btn-danger:hover {
    background: linear-gradient(135deg, #fff0f0 0%, #ffe8e8 100%);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(139, 74, 74, 0.2);
}

.btn-small {
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
}

/* Items List */
.items-list {
    display: flex;
    flex-direction: column;
    gap: clamp(1rem, 3vw, 1.5rem);
}

@media (max-width: 768px) {
    .items-list {
        gap: 1rem;
    }
}

.item-card {
    background: linear-gradient(135deg, rgba(232, 245, 232, 0.4), rgba(240, 248, 255, 0.4));
    backdrop-filter: blur(25px);
    -webkit-backdrop-filter: blur(25px);
    border: 2px solid rgba(139, 195, 74, 0.4);
    border-radius: 20px;
    padding: clamp(1.5rem, 3vw, 2rem);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
    box-shadow: 0 12px 40px rgba(45, 74, 45, 0.15), 0 0 20px rgba(139, 195, 74, 0.1);
}

.item-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #4a90e2, #8e44ad, #4a90e2);
    border-radius: 20px 20px 0 0;
}

.item-card::after {
    content: '';
    position: absolute;
    top: -50%;
    right: -50%;
    width: 200%;
    height: 200%;
    background: conic-gradient(from 0deg, transparent, rgba(139, 195, 74, 0.1), transparent);
    animation: rotate 8s linear infinite;
    opacity: 0;
    transition: opacity 0.3s ease;
}

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

.item-card:hover {
    transform: translateY(-8px) scale(1.02);
    box-shadow: 0 20px 50px rgba(45, 74, 45, 0.2), 0 0 30px rgba(139, 195, 74, 0.3);
    border-color: rgba(74, 144, 226, 0.6);
}

.item-card:hover::after {
    opacity: 1;
}

[data-theme="dark"] .item-card {
    background: linear-gradient(135deg, rgba(42, 74, 106, 0.4), rgba(58, 90, 122, 0.4));
    border: 2px solid rgba(99, 150, 200, 0.4);
    box-shadow: 0 12px 40px rgba(26, 46, 74, 0.3), 0 0 20px rgba(99, 102, 241, 0.2);
}

[data-theme="dark"] .item-card::before {
    background: linear-gradient(90deg, #6366f1, #ec4899, #3b82f6);
}

[data-theme="dark"] .item-card:hover {
    background: linear-gradient(135deg, rgba(99, 150, 200, 0.3), rgba(74, 144, 226, 0.3));
    border-color: rgba(99, 102, 241, 0.6);
    box-shadow: 0 20px 50px rgba(26, 46, 74, 0.4), 0 0 30px rgba(99, 102, 241, 0.4);
}

.item-card::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 100px;
    height: 100px;
    background: radial-gradient(circle, rgba(139, 195, 74, 0.1) 0%, transparent 70%);
    border-radius: 50%;
    transform: translate(50%, -50%);
    transition: all 0.3s ease;
}

.item-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #b8e6b8, #c8e6ff);
    transform: scaleX(0);
    transition: transform 0.3s ease;
}

.item-card:hover::before {
    transform: scaleX(1);
}

@media (max-width: 768px) {
    .item-card {
        padding: 1rem;
        border-radius: 8px;
    }
}

.item-card:hover {
    border-color: rgba(139, 195, 74, 0.4);
    box-shadow: 0 15px 40px rgba(45, 74, 45, 0.15), 0 0 30px rgba(139, 195, 74, 0.2);
    transform: translateY(-5px) scale(1.01);
    background: rgba(255, 255, 255, 0.25);
}

.item-card:hover::after {
    transform: translate(30%, -30%) scale(1.5);
    background: radial-gradient(circle, rgba(139, 195, 74, 0.2) 0%, transparent 70%);
}

.item-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 1rem;
    gap: 1rem;
    flex-wrap: wrap;
}

@media (max-width: 480px) {
    .item-header {
        flex-direction: column;
        align-items: stretch;
        gap: 0.75rem;
    }
}

.item-title {
    font-weight: 700;
    color: #2d4a2d;
    font-size: clamp(1.1rem, 2.5vw, 1.3rem);
    line-height: 1.3;
    word-break: break-word;
    flex: 1;
    background: linear-gradient(135deg, #2d4a2d, #4a90e2);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 0.5rem;
}

[data-theme="dark"] .item-title {
    background: linear-gradient(135deg, #e8f4fd, #b8d4f0);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

@media (max-width: 480px) {
    .item-title {
        font-size: 1rem;
    }
}

.item-actions {
    display: flex;
    gap: 0.5rem;
    flex-shrink: 0;
    align-items: flex-start;
}

@media (max-width: 480px) {
    .item-actions {
        width: 100%;
        justify-content: flex-end;
    }
}

.item-form {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: clamp(0.75rem, 2vw, 1rem);
    align-items: start;
}

@media (max-width: 768px) {
    .item-form {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }
}

@media (max-width: 480px) {
    .item-form {
        gap: 0.5rem;
    }
}

/* Skills specific styles */
.skill-item {
    display: flex;
    align-items: center;
    gap: clamp(0.75rem, 2vw, 1rem);
    padding: clamp(1rem, 2vw, 1.5rem);
    background: linear-gradient(135deg, rgba(240, 255, 244, 0.8), rgba(232, 245, 232, 0.8));
    border-radius: 16px;
    border: 2px solid rgba(139, 195, 74, 0.4);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    flex-wrap: wrap;
    position: relative;
    overflow: hidden;
    box-shadow: 0 8px 25px rgba(45, 74, 45, 0.1);
}

.skill-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #4a90e2, #8e44ad);
    border-radius: 16px 16px 0 0;
}

.skill-item:hover {
    transform: translateY(-4px) scale(1.01);
    box-shadow: 0 12px 35px rgba(45, 74, 45, 0.2);
    border-color: rgba(74, 144, 226, 0.6);
}

[data-theme="dark"] .skill-item {
    background: linear-gradient(135deg, rgba(42, 74, 106, 0.3), rgba(58, 90, 122, 0.3));
    border: 2px solid rgba(99, 150, 200, 0.4);
}

[data-theme="dark"] .skill-item::before {
    background: linear-gradient(90deg, #6366f1, #ec4899);
}

.skill-item:hover {
    border-color: #b8e6b8;
    box-shadow: 0 2px 8px rgba(45, 74, 45, 0.1);
}

@media (max-width: 768px) {
    .skill-item {
        flex-direction: column;
        align-items: stretch;
        gap: 0.75rem;
    }
}

@media (max-width: 480px) {
    .skill-item {
        padding: 0.75rem;
        gap: 0.5rem;
    }
}

.skill-level {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: clamp(100px, 20vw, 120px);
    flex-shrink: 0;
}

@media (max-width: 768px) {
    .skill-level {
        min-width: auto;
        width: 100%;
    }
}

.skill-level select {
    padding: clamp(0.375rem, 1.5vw, 0.5rem);
    border: 2px solid #b8e6b8;
    border-radius: 4px;
    font-size: clamp(0.8rem, 2vw, 0.875rem);
    background: #f0fff4;
    color: #2d5a2d;
    cursor: pointer;
    transition: all 0.3s ease;
    flex: 1;
}

.skill-level select:focus {
    outline: none;
    border-color: #b8e6b8;
    box-shadow: 0 0 0 2px rgba(232, 245, 232, 0.3);
}

@media (max-width: 480px) {
    .skill-level select {
        padding: 0.375rem;
        font-size: 0.8rem;
    }
}

/* Success Message */
.success-message {
    position: fixed;
    top: clamp(10px, 3vw, 20px);
    right: clamp(10px, 3vw, 20px);
    left: clamp(10px, 3vw, auto);
    background: linear-gradient(135deg, rgba(232, 245, 232, 0.95), rgba(240, 248, 255, 0.95));
    color: #2d4a2d;
    padding: clamp(1rem, 2vw, 1.25rem) clamp(1.25rem, 3vw, 1.75rem);
    border-radius: 16px;
    display: none;
    align-items: center;
    gap: 0.75rem;
    box-shadow: 0 8px 25px rgba(45, 74, 45, 0.25), 0 0 20px rgba(139, 195, 74, 0.2);
    z-index: 1000;
    font-size: clamp(0.875rem, 2vw, 1rem);
    backdrop-filter: blur(15px);
    border: 2px solid rgba(139, 195, 74, 0.4);
    font-weight: 600;
}

@media (max-width: 768px) {
    .success-message {
        right: 10px;
        left: 10px;
        top: 10px;
        text-align: center;
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .success-message {
        padding: 0.75rem 1rem;
        font-size: 0.875rem;
    }
}

.success-message.show {
    display: flex;
    animation: slideIn 0.3s ease;
}

@keyframes slideIn {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

/* Comprehensive Mobile Responsive Design */

/* Mobile Large (481px - 767px) */
@media (max-width: 767px) and (min-width: 481px) {
    .admin-container {
        margin: 0;
        border-radius: 0;
    }
    
    .admin-header {
        padding: 1rem;
    }
    
    .header-content {
        flex-direction: column;
        text-align: center;
        gap: 1rem;
    }
    
    .admin-header h1 {
        font-size: 1.5rem;
        justify-content: center;
    }
    
    .header-actions {
        justify-content: center;
        flex-wrap: wrap;
        gap: 0.75rem;
    }
    
    .nav-tabs {
        padding: 0.5rem;
        gap: 0.25rem;
        justify-content: center;
    }
    
    .nav-tab {
        padding: 0.6rem 0.8rem;
        font-size: 0.7rem;
        min-height: 44px;
        border-radius: 6px;
    }
    
    .admin-main {
        padding: 1rem;
    }
    
    .section-header {
        flex-direction: column;
        gap: 1rem;
        align-items: stretch;
        padding: 1rem;
    }
    
    .section-header h2 {
        font-size: 1.2rem;
    }
    
    .form-grid {
        grid-template-columns: 1fr;
        gap: 0.75rem;
        padding: 0.75rem;
    }
    
    .form-group label {
        font-size: 0.85rem;
    }
    
    .form-group input,
    .form-group textarea,
    .form-group select {
        padding: 0.75rem;
        font-size: 0.85rem;
        min-height: 44px;
    }
    
    .btn {
        padding: 0.75rem 1rem;
        font-size: 0.8rem;
        min-height: 44px;
        width: 100%;
        justify-content: center;
    }
    
    .item-card {
        padding: 1rem;
        border-radius: 8px;
    }
    
    .item-title {
        font-size: 1rem;
    }
    
    .item-header {
        flex-direction: column;
        gap: 0.75rem;
        align-items: stretch;
    }
    
    .item-actions {
        width: 100%;
        justify-content: center;
        gap: 0.5rem;
    }
    
    .item-form {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }
    
    .skill-item {
        flex-direction: column;
        align-items: stretch;
        gap: 0.75rem;
        padding: 1rem;
    }
    
    .success-message {
        font-size: 0.85rem;
        padding: 0.75rem 1rem;
    }
}

/* Mobile Small (320px - 480px) */
@media (max-width: 480px) {
    .admin-container {
        margin: 0;
        border-radius: 0;
    }
    
    .admin-header {
        padding: 0.75rem;
    }
    
    .admin-header h1 {
        font-size: 1.1rem;
        gap: 0.5rem;
    }
    
    .header-actions {
        flex-direction: column;
        width: 100%;
        gap: 0.5rem;
    }
    
    .nav-tabs {
        padding: 0.25rem;
        gap: 0.2rem;
    }
    
    .nav-tab {
        padding: 0.5rem 0.6rem;
        font-size: 0.65rem;
        min-height: 40px;
        border-radius: 4px;
    }
    
    .admin-main {
        padding: 0.75rem;
    }
    
    .section-header {
        padding: 0.75rem;
        gap: 0.75rem;
    }
    
    .section-header h2 {
        font-size: 1.1rem;
    }
    
    .form-grid {
        padding: 0.5rem;
        gap: 0.5rem;
    }
    
    .form-group label {
        font-size: 0.8rem;
    }
    
    .form-group input,
    .form-group textarea,
    .form-group select {
        padding: 0.6rem;
        font-size: 0.8rem;
        min-height: 40px;
        border-radius: 6px;
    }
    
    .btn {
        padding: 0.6rem 0.8rem;
        font-size: 0.75rem;
        min-height: 40px;
        border-radius: 6px;
    }
    
    .item-card {
        padding: 0.75rem;
        border-radius: 6px;
    }
    
    .item-title {
        font-size: 0.95rem;
    }
    
    .item-actions {
        flex-direction: column;
        gap: 0.5rem;
    }
    
    .item-actions .btn {
        font-size: 0.75rem;
        padding: 0.5rem 0.75rem;
    }
    
    .success-message {
        top: 0.5rem;
        right: 0.5rem;
        left: 0.5rem;
        padding: 0.75rem;
        font-size: 0.8rem;
    }
    
    .modal-title {
        font-size: 1rem;
    }
    
    .modal-body {
        font-size: 0.85rem;
    }
    
    .modal-footer .btn {
        font-size: 0.75rem;
        padding: 0.5rem 0.8rem;
    }
}

/* Extra Small Mobile (max 320px) */
@media (max-width: 320px) {
    .admin-header h1 {
        font-size: 1rem;
    }
    
    .nav-tab {
        padding: 0.4rem 0.5rem;
        font-size: 0.6rem;
        min-height: 36px;
    }
    
    .section-header h2 {
        font-size: 1rem;
    }
    
    .form-group label {
        font-size: 0.75rem;
    }
    
    .form-group input,
    .form-group textarea,
    .form-group select {
        padding: 0.5rem;
        font-size: 0.75rem;
        min-height: 36px;
    }
    
    .btn {
        padding: 0.5rem 0.6rem;
        font-size: 0.7rem;
        min-height: 36px;
    }
    
    .item-title {
        font-size: 0.9rem;
    }
    
    .item-actions .btn {
        font-size: 0.7rem;
        padding: 0.4rem 0.6rem;
    }
    
    .success-message {
        font-size: 0.75rem;
        padding: 0.6rem;
    }
    
    .modal-title {
        font-size: 0.95rem;
    }
    
    .modal-body {
        font-size: 0.8rem;
    }
}
/* Enhanced Responsive Design */

/* Touch-friendly interactions */
@media (hover: none) and (pointer: coarse) {
    .btn,
    .nav-tab,
    .item-card {
        min-height: 44px;
    }
    
    .form-group input,
    .form-group textarea,
    .form-group select {
        min-height: 44px;
        font-size: 16px; /* Prevents zoom on iOS */
    }
}

/* Large screens */
@media (min-width: 1440px) {
    .admin-container {
        max-width: 1600px;
    }
    
    .form-grid {
        grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    }
    
    .item-form {
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    }
}

/* Tablet landscape */
@media (max-width: 1024px) and (orientation: landscape) {
    .admin-main {
        padding: 1.5rem;
    }
    
    .nav-tabs {
        padding: 0.25rem 0;
    }
    
    .nav-tab {
        padding: 0.75rem 1.25rem;
    }
}

/* Small tablets */
@media (max-width: 768px) and (min-width: 481px) {
    .form-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .form-group.full-width {
        grid-column: 1 / -1;
    }
    
    .item-form {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Mobile landscape */
@media (max-width: 768px) and (orientation: landscape) {
    .admin-header {
        padding: 1rem clamp(1rem, 3vw, 2rem);
    }
    
    .header-content {
        flex-direction: row;
        text-align: left;
    }
    
    .admin-main {
        padding: 1rem;
    }
}

/* Very small screens */
@media (max-width: 360px) {
    .nav-tab {
        padding: 0.5rem 0.5rem;
        font-size: 0.75rem;
    }
    
    .btn {
        padding: 0.5rem 0.75rem;
        font-size: 0.75rem;
        min-height: 32px;
    }
    
    .item-card {
        padding: 0.75rem;
    }
    
    .form-group input,
    .form-group textarea,
    .form-group select {
        padding: 0.5rem;
        font-size: 0.8rem;
    }
}

/* Print styles */
@media print {
    .admin-header,
    .admin-nav,
    .success-message {
        display: none;
    }
    
    .admin-container {
        box-shadow: none;
        background: white;
    }
    
    .admin-main {
        padding: 0;
    }
    
    .item-card {
        break-inside: avoid;
        border: 1px solid #ddd;
        margin-bottom: 1rem;
    }
    
    .btn {
        display: none;
    }
}

/* High contrast mode */
@media (prefers-contrast: high) {
    .form-group input,
    .form-group textarea,
    .form-group select {
        border-width: 3px;
    }
    
    .btn {
        border: 2px solid currentColor;
    }
    
    .item-card {
        border-width: 3px;
    }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Dark mode support */
@media (prefers-color-scheme: dark) {
    .admin-container {
        background: #1a1a1a;
        color: #e0e0e0;
    }
    
    .form-group input,
    .form-group textarea,
    .form-group select {
        background: #2a2a2a;
        border-color: #404040;
        color: #e0e0e0;
    }
    
    .item-card {
        background: #2a2a2a;
        border-color: #404040;
    }
    
    .admin-nav {
        background: #2a2a2a;
        border-color: #404040;
    }
}

/* Focus management */
.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus,
.btn:focus,
.nav-tab:focus {
    outline: 2px solid #667eea;
    outline-offset: 2px;
}

/* Loading states */
.btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none !important;
}

.btn:disabled::before {
    display: none;
}

/* Improved form validation */
.form-group input:invalid,
.form-group textarea:invalid,
.form-group select:invalid {
    border-color: #dc3545;
    box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.1);
}

.form-group input:valid,
.form-group textarea:valid,
.form-group select:valid {
    border-color: #28a745;
}

/* Better spacing for form elements */
.form-group label {
    font-weight: 500;
    margin-bottom: 0.5rem;
    color: #2d4a2d;
    font-size: clamp(0.875rem, 2vw, 1rem);
    line-height: 1.4;
}

/* Improved checkbox and radio styles */
.form-group input[type="checkbox"],
.form-group input[type="radio"] {
    width: auto;
    margin-right: 0.5rem;
    transform: scale(1.2);
}

/* Better file input styles */
.form-group input[type="file"] {
    padding: 0.5rem;
    border: 2px dashed #e9ecef;
    background: #f8f9fa;
}

.form-group input[type="file"]:hover {
    border-color: #667eea;
    background: #f0f4ff;
}

/* Improved table responsiveness */
.table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.table-responsive table {
    min-width: 600px;
}

@media (max-width: 768px) {
    .table-responsive table {
        font-size: 0.875rem;
    }
}

/* Better grid layouts for different screen sizes */
@media (min-width: 1200px) {
    .form-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
    .form-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Improved spacing system */
.mb-1 { margin-bottom: 0.25rem; }
.mb-2 { margin-bottom: 0.5rem; }
.mb-3 { margin-bottom: 1rem; }
.mb-4 { margin-bottom: 1.5rem; }
.mb-5 { margin-bottom: 3rem; }

.mt-1 { margin-top: 0.25rem; }
.mt-2 { margin-top: 0.5rem; }
.mt-3 { margin-top: 1rem; }
.mt-4 { margin-top: 1.5rem; }
.mt-5 { margin-top: 3rem; }

/* Utility classes for responsive design */
.d-none { display: none; }
.d-block { display: block; }
.d-flex { display: flex; }
.d-grid { display: grid; }

@media (max-width: 768px) {
    .d-md-none { display: none; }
    .d-md-block { display: block; }
    .d-md-flex { display: flex; }
}

@media (max-width: 480px) {
    .d-sm-none { display: none; }
    .d-sm-block { display: block; }
    .d-sm-flex { display: flex; }
}

/* Text utilities */
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }

@media (max-width: 768px) {
    .text-md-center { text-align: center; }
    .text-md-left { text-align: left; }
}

/* Flex utilities */
.justify-content-center { justify-content: center; }
.justify-content-between { justify-content: space-between; }
.justify-content-end { justify-content: flex-end; }
.align-items-center { align-items: center; }
.align-items-start { align-items: flex-start; }
.align-items-end { align-items: flex-end; }

/* Width utilities */
.w-100 { width: 100%; }
.w-75 { width: 75%; }
.w-50 { width: 50%; }
.w-25 { width: 25%; }

@media (max-width: 768px) {
    .w-md-100 { width: 100%; }
}
/* Enhanced Admin Styles */
.enhanced-card {
    border: 2px solid #e2e8f0;
    border-radius: 12px;
    background: linear-gradient(135deg, #f8fafc, #f1f5f9);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
}

[data-theme="dark"] .enhanced-card {
    border: 2px solid rgba(255, 255, 255, 0.1);
    background: linear-gradient(135deg, rgba(26, 26, 46, 0.8), rgba(22, 33, 62, 0.8));
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
    color: #ffffff;
}

.enhanced-card:hover {
    border-color: #cbd5e1;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

.enhanced-form {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1rem;
    padding: 1.5rem;
}

.enhanced-form .form-group.full-width {
    grid-column: 1 / -1;
}

.item-badge {
    background: linear-gradient(135deg, #e0f2fe, #e8f5e8);
    color: #0d47a1;
    padding: 0.25rem 0.75rem;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.section-actions {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
}

/* Image Upload Styles */
.image-upload-area {
    border: 2px dashed #cbd5e1;
    border-radius: 12px;
    padding: 2rem;
    text-align: center;
    background: rgba(248, 250, 252, 0.5);
    cursor: pointer;
    transition: all 0.3s ease;
    margin-top: 0.5rem;
}

.image-upload-area:hover {
    border-color: #94a3b8;
    background: rgba(226, 232, 240, 0.3);
    transform: scale(1.02);
}

.image-upload-area.dragover {
    border-color: #3b82f6;
    background: rgba(59, 130, 246, 0.1);
    border-style: solid;
}

.upload-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    color: #64748b;
}

.upload-placeholder svg {
    opacity: 0.6;
}

.upload-placeholder p {
    margin: 0;
    font-weight: 500;
}

/* Image Gallery */
.image-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 1rem;
    margin-top: 1rem;
    padding: 1rem;
    background: rgba(248, 250, 252, 0.8);
    border-radius: 8px;
    border: 1px solid #e2e8f0;
}

.image-item {
    position: relative;
    aspect-ratio: 1;
    border-radius: 8px;
    overflow: hidden;
    border: 2px solid #e2e8f0;
    transition: all 0.3s ease;
}

.image-item:hover {
    border-color: #cbd5e1;
    transform: scale(1.05);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.image-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.remove-image {
    position: absolute;
    top: 4px;
    right: 4px;
    background: rgba(239, 68, 68, 0.9);
    color: white;
    border: none;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 14px;
    font-weight: bold;
    transition: all 0.3s ease;
    opacity: 0;
}

.image-item:hover .remove-image {
    opacity: 1;
}

.remove-image:hover {
    background: rgba(220, 38, 38, 1);
    transform: scale(1.1);
}

/* File Info */
.file-info {
    display: block;
    margin-top: 0.5rem;
    color: #059669;
    font-weight: 500;
    padding: 0.25rem 0.5rem;
    background: rgba(16, 185, 129, 0.1);
    border-radius: 4px;
    border-left: 3px solid #10b981;
}

/* Enhanced Form Elements */
.enhanced-form input,
.enhanced-form textarea,
.enhanced-form select {
    border: 2px solid #e2e8f0;
    border-radius: 8px;
    padding: 0.75rem;
    font-size: 0.95rem;
    transition: all 0.3s ease;
    background: white;
    color: #374151;
}

[data-theme="dark"] .enhanced-form input,
[data-theme="dark"] .enhanced-form textarea,
[data-theme="dark"] .enhanced-form select {
    border: 2px solid rgba(255, 255, 255, 0.2);
    background: rgba(255, 255, 255, 0.05);
    color: #ffffff;
}

[data-theme="dark"] .enhanced-form input::placeholder,
[data-theme="dark"] .enhanced-form textarea::placeholder {
    color: rgba(255, 255, 255, 0.6);
}

.enhanced-form input:focus,
.enhanced-form textarea:focus,
.enhanced-form select:focus {
    outline: none;
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
    background: #fefefe;
}

.enhanced-form label {
    font-weight: 600;
    color: #374151;
    margin-bottom: 0.5rem;
    display: block;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

[data-theme="dark"] .enhanced-form label {
    color: #e2e8f0;
}

/* Status Badges */
.status-badge {
    padding: 0.25rem 0.75rem;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.status-badge.ongoing {
    background: linear-gradient(135deg, #fef3c7, #fde68a);
    color: #92400e;
}

.status-badge.completed {
    background: linear-gradient(135deg, #d1fae5, #a7f3d0);
    color: #065f46;
}

.status-badge.planned {
    background: linear-gradient(135deg, #e0e7ff, #c7d2fe);
    color: #3730a3;
}

.type-badge.workshop {
    background: linear-gradient(135deg, #fce7f3, #fbcfe8);
    color: #be185d;
}

.type-badge.conference {
    background: linear-gradient(135deg, #e0f2fe, #bae6fd);
    color: #0c4a6e;
}

/* Enhanced Buttons */
.btn {
    padding: 0.75rem 1.5rem;
    border: none;
    border-radius: 8px;
    font-weight: 600;
    font-size: 0.9rem;
    cursor: pointer;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.btn-primary {
    background: linear-gradient(135deg, #3b82f6, #1d4ed8);
    color: white;
    box-shadow: 0 4px 6px rgba(59, 130, 246, 0.25);
}

.btn-primary:hover {
    background: linear-gradient(135deg, #2563eb, #1e40af);
    transform: translateY(-2px);
    box-shadow: 0 8px 15px rgba(59, 130, 246, 0.35);
}

.btn-secondary {
    background: linear-gradient(135deg, #6b7280, #4b5563);
    color: white;
    box-shadow: 0 4px 6px rgba(107, 114, 128, 0.25);
}

.btn-secondary:hover {
    background: linear-gradient(135deg, #5b6470, #374151);
    transform: translateY(-2px);
    box-shadow: 0 8px 15px rgba(107, 114, 128, 0.35);
}

.btn-danger {
    background: linear-gradient(135deg, #ef4444, #dc2626);
    color: white;
    box-shadow: 0 4px 6px rgba(239, 68, 68, 0.25);
}

.btn-danger:hover {
    background: linear-gradient(135deg, #dc2626, #b91c1c);
    transform: translateY(-2px);
    box-shadow: 0 8px 15px rgba(239, 68, 68, 0.35);
}

.btn-small {
    padding: 0.5rem 1rem;
    font-size: 0.8rem;
}

/* Loading States */
.loading {
    position: relative;
    pointer-events: none;
    opacity: 0.7;
}

.loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    margin: -10px 0 0 -10px;
    border: 2px solid #e2e8f0;
    border-top-color: #3b82f6;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

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

/* Success Messages */
.success-message {
    position: fixed;
    top: 2rem;
    right: 2rem;
    background: linear-gradient(135deg, #d1fae5, #a7f3d0);
    color: #065f46;
    padding: 1rem 1.5rem;
    border-radius: 8px;
    border-left: 4px solid #10b981;
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.25);
    z-index: 10000;
    transform: translateX(100%);
    transition: transform 0.3s ease;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-weight: 600;
}

.success-message.show {
    transform: translateX(0);
}

/* Responsive Design */
@media (max-width: 768px) {
    .enhanced-form {
        grid-template-columns: 1fr;
        padding: 1rem;
    }
    
    .section-actions {
        flex-direction: column;
    }
    
    .image-gallery {
        grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
        gap: 0.5rem;
        padding: 0.5rem;
    }
    
    .image-upload-area {
        padding: 1rem;
    }
    
    .upload-placeholder svg {
        width: 32px;
        height: 32px;
    }
}

@media (max-width: 480px) {
    .btn {
        padding: 0.5rem 1rem;
        font-size: 0.8rem;
    }
    
    .enhanced-card {
        margin: 0.5rem;
    }
    
    .success-message {
        top: 1rem;
        right: 1rem;
        left: 1rem;
        transform: translateY(-100%);
    }
    
    .success-message.show {
        transform: translateY(0);
    }
}

/* Drag and Drop States */
.image-upload-area.drag-over {
    border-color: #3b82f6;
    background: rgba(59, 130, 246, 0.1);
    border-style: solid;
    transform: scale(1.02);
}

/* Animation for new items */
@keyframes slideInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.enhanced-card {
    animation: slideInUp 0.4s ease-out;
}

/* Checkbox Styling */
.enhanced-form input[type="checkbox"] {
    width: auto;
    margin-right: 0.5rem;
    transform: scale(1.2);
}

.enhanced-form label:has(input[type="checkbox"]) {
    display: flex;
    align-items: center;
    text-transform: none;
    font-weight: 500;
    cursor: pointer;
}

/* Progress Indicators */
.upload-progress {
    width: 100%;
    height: 4px;
    background: #e2e8f0;
    border-radius: 2px;
    overflow: hidden;
    margin-top: 0.5rem;
}

.upload-progress-bar {
    height: 100%;
    background: linear-gradient(90deg, #3b82f6, #1d4ed8);
    border-radius: 2px;
    transition: width 0.3s ease;
    width: 0%;
}

/* Tooltip Styles */
.tooltip {
    position: relative;
    cursor: help;
}

.tooltip::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0, 0, 0, 0.9);
    color: white;
    padding: 0.5rem;
    border-radius: 4px;
    font-size: 0.8rem;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
    z-index: 1000;
}

.tooltip:hover::after {
    opacity: 1;
}
/* Dynamic Field Management Styles */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
    animation: fadeIn 0.3s ease;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}

.modal-content {
    background: white;
    border-radius: 12px;
    padding: 0;
    max-width: 500px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.3);
    animation: slideUp 0.4s ease;
}

.modal-header {
    padding: 1.5rem;
    border-bottom: 2px solid #e2e8f0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: linear-gradient(135deg, #f8fafc, #f1f5f9);
    border-radius: 12px 12px 0 0;
}

.modal-header h3 {
    margin: 0;
    color: #1e293b;
    font-size: 1.25rem;
    font-weight: 600;
}

[data-theme="dark"] .modal-header h3 {
    color: #ffffff;
}

[data-theme="dark"] .modal-content {
    background: linear-gradient(135deg, rgba(26, 26, 46, 0.95), rgba(22, 33, 62, 0.95));
    color: #ffffff;
}

[data-theme="dark"] .modal-header {
    background: linear-gradient(135deg, rgba(26, 26, 46, 0.8), rgba(22, 33, 62, 0.8));
    border-bottom: 2px solid rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] .modal-footer {
    background: rgba(26, 26, 46, 0.6);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.modal-close {
    background: none;
    border: none;
    font-size: 1.5rem;
    color: #64748b;
    cursor: pointer;
    padding: 0.25rem;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.modal-close:hover {
    background: rgba(239, 68, 68, 0.1);
    color: #ef4444;
}

.modal-body {
    padding: 1.5rem;
}

.modal-footer {
    padding: 1rem 1.5rem;
    border-top: 1px solid #e2e8f0;
    display: flex;
    gap: 0.75rem;
    justify-content: flex-end;
    background: #f8fafc;
    border-radius: 0 0 12px 12px;
}

/* Custom Field Styles */
.remove-field-btn {
    background: rgba(239, 68, 68, 0.1);
    color: #ef4444;
    border: none;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    font-size: 12px;
    font-weight: bold;
    cursor: pointer;
    margin-left: 0.5rem;
    transition: all 0.3s ease;
}

.remove-field-btn:hover {
    background: #ef4444;
    color: white;
    transform: scale(1.1);
}

/* Links Container */
.links-container {
    border: 2px solid #e2e8f0;
    border-radius: 8px;
    padding: 1rem;
    background: rgba(248, 250, 252, 0.5);
}

.link-item {
    display: grid;
    grid-template-columns: 1fr 2fr auto;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
    align-items: center;
}

.link-item:last-of-type {
    margin-bottom: 0;
}

.link-item input {
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    padding: 0.5rem;
    font-size: 0.9rem;
}

.link-item input:focus {
    outline: none;
    border-color: #3b82f6;
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.1);
}

/* Field Type Specific Styles */
.form-group input[type="checkbox"] {
    width: auto;
    margin-right: 0.5rem;
    transform: scale(1.2);
}

.form-group label:has(input[type="checkbox"]) {
    display: flex;
    align-items: center;
    cursor: pointer;
    text-transform: none;
    font-weight: 500;
}

/* File Preview */
.file-preview {
    margin-top: 0.5rem;
    padding: 0.5rem;
    background: rgba(16, 185, 129, 0.1);
    border-radius: 6px;
    border-left: 3px solid #10b981;
}

.file-preview a {
    color: #059669;
    text-decoration: none;
    font-weight: 500;
}

.file-preview a:hover {
    text-decoration: underline;
}

/* Animation Keyframes */
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(50px) scale(0.9);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* Responsive Modal */
@media (max-width: 768px) {
    .modal-content {
        width: 95%;
        margin: 1rem;
    }
    
    .modal-header,
    .modal-body,
    .modal-footer {
        padding: 1rem;
    }
    
    .link-item {
        grid-template-columns: 1fr;
        gap: 0.5rem;
    }
    
    .modal-footer {
        flex-direction: column;
    }
    
    .modal-footer .btn {
        width: 100%;
    }
}

/* Enhanced Button Styles for Custom Fields */
.btn svg {
    width: 16px;
    height: 16px;
}

.item-actions {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.item-actions .btn {
    font-size: 0.8rem;
    padding: 0.5rem 0.75rem;
}

/* Custom Field Indicators */
.custom-field-indicator {
    background: linear-gradient(135deg, #fbbf24, #f59e0b);
    color: white;
    font-size: 0.7rem;
    padding: 0.2rem 0.5rem;
    border-radius: 10px;
    margin-left: 0.5rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Field Group Styling */
.field-group {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 1rem;
    margin-bottom: 1rem;
    background: rgba(248, 250, 252, 0.3);
}

.field-group-title {
    font-weight: 600;
    color: #374151;
    margin-bottom: 0.75rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #e2e8f0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Drag and Drop for Field Reordering */
.field-item {
    cursor: move;
    transition: all 0.3s ease;
}

.field-item:hover {
    background: rgba(59, 130, 246, 0.05);
    border-color: #3b82f6;
}

.field-item.dragging {
    opacity: 0.5;
    transform: rotate(5deg);
}

/* Success/Error States */
.field-success {
    border-color: #10b981 !important;
    background: rgba(16, 185, 129, 0.05);
}

.field-error {
    border-color: #ef4444 !important;
    background: rgba(239, 68, 68, 0.05);
}

.field-message {
    font-size: 0.8rem;
    margin-top: 0.25rem;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
}

.field-message.success {
    color: #059669;
    background: rgba(16, 185, 129, 0.1);
}

.field-message.error {
    color: #dc2626;
    background: rgba(239, 68, 68, 0.1);
}
/* Multiple Image Selection Styles */
.multi-image-upload {
    position: relative;
    border: 2px dashed #cbd5e1;
    border-radius: 12px;
    padding: 2rem;
    text-align: center;
    background: rgba(248, 250, 252, 0.5);
    cursor: pointer;
    transition: all 0.3s ease;
}

.multi-image-upload:hover,
.multi-image-upload.dragover {
    border-color: #3b82f6;
    background: rgba(59, 130, 246, 0.1);
    transform: scale(1.02);
}

.upload-instructions {
    color: #64748b;
    font-size: 0.9rem;
    margin-top: 0.5rem;
}

.upload-instructions strong {
    color: #3b82f6;
}

.selected-files-count {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    background: #3b82f6;
    color: white;
    padding: 0.25rem 0.5rem;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 600;
}

.image-preview-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
    gap: 0.75rem;
    margin-top: 1rem;
    padding: 1rem;
    background: rgba(248, 250, 252, 0.8);
    border-radius: 8px;
    border: 1px solid #e2e8f0;
}

.image-preview-item {
    position: relative;
    aspect-ratio: 1;
    border-radius: 8px;
    overflow: hidden;
    border: 2px solid #e2e8f0;
    transition: all 0.3s ease;
    background: white;
}

.image-preview-item:hover {
    border-color: #3b82f6;
    transform: scale(1.05);
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.25);
}

.image-preview-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.image-remove-btn {
    position: absolute;
    top: 4px;
    right: 4px;
    background: rgba(239, 68, 68, 0.9);
    color: white;
    border: none;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 12px;
    font-weight: bold;
    transition: all 0.3s ease;
    opacity: 0;
}

.image-preview-item:hover .image-remove-btn {
    opacity: 1;
}

.image-remove-btn:hover {
    background: #dc2626;
    transform: scale(1.1);
}

.upload-progress-container {
    margin-top: 1rem;
    display: none;
}

.upload-progress-container.active {
    display: block;
}

.progress-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.5rem;
    padding: 0.5rem;
    background: rgba(248, 250, 252, 0.8);
    border-radius: 6px;
}

.progress-filename {
    flex: 1;
    font-size: 0.9rem;
    color: #374151;
    font-weight: 500;
}

.progress-bar-container {
    flex: 2;
    height: 6px;
    background: #e2e8f0;
    border-radius: 3px;
    overflow: hidden;
}

.progress-bar-fill {
    height: 100%;
    background: linear-gradient(90deg, #3b82f6, #1d4ed8);
    border-radius: 3px;
    transition: width 0.3s ease;
    width: 0%;
}

.progress-status {
    font-size: 0.8rem;
    color: #059669;
    font-weight: 600;
}

/* Batch Upload Controls */
.batch-upload-controls {
    display: flex;
    gap: 0.75rem;
    margin-top: 1rem;
    flex-wrap: wrap;
}

.batch-upload-controls .btn {
    font-size: 0.85rem;
    padding: 0.5rem 1rem;
}

/* File Type Indicators */
.file-type-indicator {
    position: absolute;
    bottom: 4px;
    left: 4px;
    background: rgba(0, 0, 0, 0.7);
    color: white;
    padding: 0.2rem 0.4rem;
    border-radius: 4px;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
}

/* Drag and Drop Visual Feedback */
.drag-active {
    border-color: #10b981 !important;
    background: rgba(16, 185, 129, 0.1) !important;
}

.drag-active .upload-placeholder {
    color: #059669;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .image-preview-grid {
        grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
        gap: 0.5rem;
        padding: 0.75rem;
    }
    
    .multi-image-upload {
        padding: 1.5rem 1rem;
    }
    
    .batch-upload-controls {
        flex-direction: column;
    }
    
    .batch-upload-controls .btn {
        width: 100%;
    }
}
/* Profile Photo Management Styles */
.profile-photo-section {
    background: #f8f9fa;
    border-radius: 12px;
    padding: 2rem;
    margin-bottom: 2rem;
    border: 1px solid #e9ecef;
}

.profile-photo-section h3 {
    margin: 0 0 1.5rem 0;
    color: #2c3e50;
    font-size: 1.2rem;
    font-weight: 600;
}

.photo-management {
    display: flex;
    align-items: center;
    gap: 2rem;
}

.current-photo-display {
    position: relative;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    overflow: hidden;
    border: 4px solid #e9ecef;
    background: #f8f9fa;
}

.current-photo-display img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.current-photo-display .fallback-avatar {
    width: 100%;
    height: 100%;
}

.photo-controls {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.photo-controls .btn {
    min-width: 160px;
    justify-content: center;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .photo-management {
        flex-direction: column;
        text-align: center;
        gap: 1.5rem;
    }
    
    .current-photo-display {
        width: 100px;
        height: 100px;
    }
    
    .photo-controls {
        width: 100%;
    }
    
    .photo-controls .btn {
        width: 100%;
    }
}
/* PDF Request Management Styles */
.pdf-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    margin-bottom: 2rem;
}

.pdf-stat-card {
    background: linear-gradient(135deg, #fff 0%, #f8fafc 100%);
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 1.5rem;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.pdf-stat-card h3 {
    margin: 0 0 0.5rem 0;
    font-size: 0.9rem;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.pdf-stat-number {
    font-size: 2rem;
    font-weight: 700;
    color: #2196f3;
}

.pdf-requests-container {
    background: #f8f9fa;
    border-radius: 12px;
    padding: 1.5rem;
}

.requests-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* Refresh function for PDF requests */
function refreshRequests() {
    if (typeof pdfRequestManager !== 'undefined') {
        pdfRequestManager.loadRequestsForAdmin();
        updatePDFStats();
        showSuccessMessage('PDF requests refreshed!');
    }
}

function updatePDFStats() {
    const requests = JSON.parse(localStorage.getItem('pdfRequests')) || [];
    const pendingCount = requests.filter(r => r.status === 'pending').length;
    const approvedCount = requests.filter(r => r.status === 'approved').length;
    const totalCount = requests.length;
    
    const pendingEl = document.getElementById('pendingPDFRequests');
    const approvedEl = document.getElementById('approvedPDFRequests');
    const totalEl = document.getElementById('totalPDFRequests');
    
    if (pendingEl) pendingEl.textContent = pendingCount;
    if (approvedEl) approvedEl.textContent = approvedCount;
    if (totalEl) totalEl.textContent = totalCount;
}

/* CV Requests Management Styles */
.cv-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1rem;
    margin-bottom: 2rem;
}

.cv-stat-card {
    background: linear-gradient(135deg, #fff 0%, #f8fafc 100%);
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 1.5rem;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
}

.cv-stat-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.cv-stat-card h3 {
    margin: 0 0 0.5rem 0;
    font-size: 0.9rem;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 600;
}

.cv-stat-number {
    font-size: 2rem;
    font-weight: 700;
    color: #4a90e2;
    margin: 0;
}

.cv-filters-section {
    background: white;
    border: 2px solid #d4edda;
    border-radius: 12px;
    padding: 1.5rem;
    margin-bottom: 2rem;
}

[data-theme="dark"] .cv-filters-section {
    background: rgba(26, 26, 46, 0.6);
    border: 2px solid rgba(255, 255, 255, 0.1);
}

.filters-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    align-items: end;
}

.filter-group {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.filter-group label {
    color: #2d4a2d;
    font-weight: 600;
    font-size: 0.9rem;
}

[data-theme="dark"] .filter-group label {
    color: #e2e8f0;
}

.filter-group select,
.filter-group input {
    padding: 0.75rem;
    border: 2px solid #e0e0e0;
    border-radius: 8px;
    font-size: 1rem;
    transition: all 0.3s ease;
    background: white;
    color: #374151;
}

[data-theme="dark"] .filter-group select,
[data-theme="dark"] .filter-group input {
    border: 2px solid rgba(255, 255, 255, 0.2);
    background: rgba(255, 255, 255, 0.05);
    color: #ffffff;
}

[data-theme="dark"] .filter-group input::placeholder {
    color: rgba(255, 255, 255, 0.6);
}

.filter-group select:focus,
.filter-group input:focus {
    outline: none;
    border-color: #4a90e2;
    box-shadow: 0 0 0 3px rgba(74, 144, 226, 0.1);
}

.cv-requests-container {
    background: white;
    border: 2px solid #d4edda;
    border-radius: 12px;
    overflow: hidden;
}

[data-theme="dark"] .cv-requests-container {
    background: rgba(26, 26, 46, 0.6);
    border: 2px solid rgba(255, 255, 255, 0.1);
}

.cv-requests-list {
    max-height: 600px;
    overflow-y: auto;
}

.cv-request-item {
    border-bottom: 1px solid #f0f0f0;
    padding: 1.5rem;
    transition: all 0.3s ease;
}

[data-theme="dark"] .cv-request-item {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] .cv-request-item:hover {
    background: rgba(255, 255, 255, 0.05);
}

.cv-request-item:hover {
    background: #f8fffe;
}

.cv-request-item:last-child {
    border-bottom: none;
}

.cv-request-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 1rem;
}

.cv-request-info h4 {
    color: #2d4a2d;
    margin: 0 0 0.5rem 0;
    font-size: 1.2rem;
    font-weight: 600;
}

[data-theme="dark"] .cv-request-info h4 {
    color: #ffffff;
}

.cv-request-meta {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 0.5rem;
}

.meta-item {
    color: #4a6b4a;
    font-size: 0.9rem;
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

[data-theme="dark"] .meta-item {
    color: #cbd5e1;
}

.cv-status-badge {
    padding: 0.25rem 0.75rem;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.status-pending {
    background: #fef3c7;
    color: #92400e;
}

.status-in-progress {
    background: #dbeafe;
    color: #1e40af;
}

.status-completed {
    background: #d1fae5;
    color: #065f46;
}

.status-cancelled {
    background: #fee2e2;
    color: #991b1b;
}

.cv-request-details {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1rem;
    margin: 1rem 0;
}

.detail-group h4 {
    color: #2d4a2d;
    margin: 0 0 0.5rem 0;
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

[data-theme="dark"] .detail-group h4 {
    color: #e2e8f0;
}

.detail-group p {
    color: #4a6b4a;
    margin: 0;
    line-height: 1.5;
}

[data-theme="dark"] .detail-group p {
    color: #cbd5e1;
}

.cv-request-actions {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #f0f0f0;
}

.action-btn {
    padding: 0.5rem 1rem;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.9rem;
    font-weight: 500;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.btn-primary {
    background: #4a90e2;
    color: white;
}

.btn-primary:hover {
    background: #357abd;
    transform: translateY(-1px);
}

.btn-success {
    background: #10b981;
    color: white;
}

.btn-success:hover {
    background: #059669;
    transform: translateY(-1px);
}

.btn-danger {
    background: #ef4444;
    color: white;
}

.btn-danger:hover {
    background: #dc2626;
    transform: translateY(-1px);
}

.btn-secondary {
    background: #6b7280;
    color: white;
}

.btn-secondary:hover {
    background: #4b5563;
    transform: translateY(-1px);
}

.empty-state {
    text-align: center;
    padding: 3rem;
    color: #6b8a6b;
}

[data-theme="dark"] .empty-state {
    color: #94a3b8;
}

.empty-state svg {
    width: 4rem;
    height: 4rem;
    margin-bottom: 1rem;
    opacity: 0.5;
}

/* Enhanced CV Requests Mobile Responsive */
@media (max-width: 768px) {
    .cv-stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.75rem;
    }
    
    .cv-stat-card {
        padding: 1rem;
    }
    
    .cv-stat-number {
        font-size: 1.5rem;
    }
    
    .filters-row {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }
    
    .filter-group select,
    .filter-group input {
        padding: 0.75rem;
        font-size: 0.9rem;
        min-height: 44px;
    }
    
    .cv-request-header {
        flex-direction: column;
        gap: 0.75rem;
        align-items: stretch;
    }
    
    .cv-request-meta {
        flex-direction: column;
        gap: 0.5rem;
    }
    
    .cv-request-details {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }
    
    .cv-request-actions {
        flex-direction: column;
        gap: 0.5rem;
    }
    
    .action-btn {
        width: 100%;
        justify-content: center;
        padding: 0.75rem;
        min-height: 44px;
    }
}

@media (max-width: 480px) {
    .cv-stats-grid {
        grid-template-columns: 1fr;
    }
    
    .cv-filters-section {
        padding: 0.75rem;
        margin-bottom: 1rem;
    }
    
    .filter-group select,
    .filter-group input {
        padding: 0.6rem;
        font-size: 0.85rem;
        min-height: 40px;
    }
    
    .cv-request-item {
        padding: 0.75rem;
    }
    
    .cv-request-info h4 {
        font-size: 1rem;
    }
    
    .meta-item {
        font-size: 0.8rem;
    }
    
    .cv-status-badge {
        font-size: 0.7rem;
        padding: 0.2rem 0.5rem;
    }
    
    .action-btn {
        padding: 0.6rem;
        font-size: 0.8rem;
        min-height: 40px;
    }
}
/* Swipe Navigation Styles for Admin Panel */
.swipe-indicator {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(74, 144, 226, 0.9);
    color: white;
    padding: 0.75rem 1.5rem;
    border-radius: 25px;
    z-index: 1000;
    transition: opacity 0.3s ease;
    backdrop-filter: blur(10px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.swipe-hint {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    font-weight: 500;
}

.swipe-hint svg {
    opacity: 0.7;
    animation: swipeArrow 2s infinite;
}

@keyframes swipeArrow {
    0%, 100% { transform: translateX(0); }
    50% { transform: translateX(3px); }
}

/* Admin Section Slide Animations */
.admin-section {
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;
}

.admin-section.slide-in-right {
    animation: slideInRight 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.admin-section.slide-in-left {
    animation: slideInLeft 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes slideInRight {
    from {
        transform: translateX(50px);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes slideInLeft {
    from {
        transform: translateX(-50px);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

/* Touch-friendly admin navigation */
.admin-nav {
    touch-action: pan-y;
    user-select: none;
}

.nav-tab {
    touch-action: manipulation;
    user-select: none;
    position: relative;
    overflow: hidden;
}

.nav-tab::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
    transition: left 0.5s;
}

.nav-tab:active::before {
    left: 100%;
}

/* Improved touch targets for mobile */
@media (max-width: 768px) {
    .nav-tab {
        min-height: 48px;
        padding: 0.75rem 1rem;
        margin: 0.25rem 0;
    }
    
    .swipe-indicator {
        bottom: 10px;
        padding: 0.5rem 1rem;
        font-size: 0.8rem;
    }
    
    .admin-container {
        touch-action: pan-y;
        overflow-x: hidden;
    }
}

/* Visual feedback for swipe gestures */
.admin-container {
    touch-action: pan-y;
    overflow-x: hidden;
}

.swiping {
    transition: transform 0.1s ease;
}

.swiping.swipe-left {
    transform: translateX(-5px);
}

.swiping.swipe-right {
    transform: translateX(5px);
}

/* Tab indicator dots */
.tab-indicators {
    display: flex;
    justify-content: center;
    gap: 0.5rem;
    margin: 1rem 0;
    position: fixed;
    bottom: 70px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 999;
}

.tab-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
    transition: all 0.3s ease;
    cursor: pointer;
}

.tab-dot.active {
    background: #4a90e2;
    transform: scale(1.2);
}

@media (max-width: 768px) {
    .tab-indicators {
        bottom: 60px;
    }
    
    .tab-dot {
        width: 6px;
        height: 6px;
    }
}

/* Login Overlay Styles */
.login-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(0, 0, 0, 0.8), rgba(74, 144, 226, 0.2));
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
    backdrop-filter: blur(10px);
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.login-overlay.hidden {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.login-card {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(20px);
    border-radius: 16px;
    padding: 2rem;
    width: 90%;
    max-width: 400px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.login-header {
    text-align: center;
    margin-bottom: 2rem;
}

.login-header h1 {
    color: #2d4a2d;
    margin-bottom: 0.5rem;
    font-size: 1.5rem;
}

.login-header p {
    color: #6b7280;
    font-size: 0.9rem;
}

.login-form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    position: relative;
    align-items: stretch;
}

.login-form .form-group {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.login-form label {
    color: #374151;
    font-weight: 500;
    font-size: 0.9rem;
}

.login-form input {
    padding: 0.75rem;
    border: 2px solid #e5e7eb;
    border-radius: 8px;
    font-size: 1rem;
    transition: all 0.3s ease;
}

.login-form input:focus {
    outline: none;
    border-color: #4a90e2;
    box-shadow: 0 0 0 3px rgba(74, 144, 226, 0.1);
}

.btn-login {
    background: linear-gradient(135deg, #4a90e2, #357abd);
    color: white;
    border: none;
    padding: 0.875rem 1.5rem;
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 1rem;
    align-self: flex-end;
    width: auto;
    min-width: 120px;
}

.btn-login:hover {
    background: linear-gradient(135deg, #357abd, #2563eb);
    transform: translateY(-2px);
    box-shadow: 0 8px 15px rgba(74, 144, 226, 0.3);
}

/* Login button container for proper positioning */
.login-button-container {
    display: flex;
    justify-content: flex-end;
    margin-top: 1rem;
    padding-top: 0.5rem;
}

.login-button-container .btn-login {
    margin-top: 0;
    align-self: auto;
}

.error-message {
    color: #dc2626;
    font-size: 0.875rem;
    margin-top: 0.5rem;
    padding: 0.5rem;
    background: rgba(239, 68, 68, 0.1);
    border-radius: 6px;
    border-left: 3px solid #dc2626;
    display: none;
}

.error-message.show {
    display: block;
}

.login-footer {
    text-align: center;
    margin-top: 1.5rem;
    padding-top: 1rem;
    border-top: 1px solid #e5e7eb;
}

.back-link {
    color: #6b7280;
    text-decoration: none;
    font-size: 0.9rem;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    transition: color 0.3s ease;
}

.back-link:hover {
    color: #4a90e2;
}

/* Dark mode login styles */
[data-theme="dark"] .login-card {
    background: rgba(26, 26, 46, 0.95);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] .login-header h1 {
    color: #ffffff;
}

[data-theme="dark"] .login-header p {
    color: #cbd5e1;
}

[data-theme="dark"] .login-form label {
    color: #e2e8f0;
}

[data-theme="dark"] .login-form input {
    background: rgba(255, 255, 255, 0.05);
    border: 2px solid rgba(255, 255, 255, 0.2);
    color: #ffffff;
}

[data-theme="dark"] .login-form input::placeholder {
    color: rgba(255, 255, 255, 0.6);
}

[data-theme="dark"] .login-footer {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] .back-link {
    color: #94a3b8;
}

[data-theme="dark"] .back-link:hover {
    color: #e2e8f0;
}

/* Shake animation for failed login */
.shake {
    animation: shake 0.5s ease-in-out;
}

@keyframes shake {
    0%, 100% { transform: translateX(0); }
    10%, 30%, 50%, 70%, 90% { transform: translateX(-5px); }
    20%, 40%, 60%, 80% { transform: translateX(5px); }
}

/* Typewriter animation for header */
@keyframes typewriter {
    from { width: 0; }
    to { width: 100%; }
}

@keyframes blink {
    0%, 50% { opacity: 1; }
    51%, 100% { opacity: 0; }
}

@media (max-width: 480px) {
    .login-card {
        padding: 1.5rem;
        margin: 1rem;
    }
    
    .login-header h1 {
        font-size: 1.25rem;
    }
    
    .login-form input,
    .btn-login {
        padding: 0.75rem;
        font-size: 0.9rem;
    }
    
    .login-button-container {
        justify-content: center;
    }
    
    .login-button-container .btn-login {
        width: 100%;
        max-width: 200px;
    }
}
/* Gallery Admin Styles */
.gallery-admin-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1.5rem;
    padding: 1rem;
}

.gallery-admin-item {
    background: linear-gradient(135deg, rgba(248, 250, 252, 0.8), rgba(240, 248, 255, 0.8));
    border: 2px solid rgba(139, 195, 74, 0.3);
    border-radius: 16px;
    padding: 1.5rem;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
    box-shadow: 0 8px 25px rgba(45, 74, 45, 0.1);
}

.gallery-admin-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 35px rgba(45, 74, 45, 0.2);
    border-color: rgba(74, 144, 226, 0.6);
}

[data-theme="dark"] .gallery-admin-item {
    background: linear-gradient(135deg, rgba(42, 74, 106, 0.4), rgba(58, 90, 122, 0.4));
    border: 2px solid rgba(99, 150, 200, 0.4);
    box-shadow: 0 8px 25px rgba(26, 46, 74, 0.3);
}

[data-theme="dark"] .gallery-admin-item:hover {
    border-color: rgba(99, 102, 241, 0.6);
    box-shadow: 0 12px 35px rgba(26, 46, 74, 0.4);
}

.gallery-image-preview {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 12px;
    border: 2px solid rgba(139, 195, 74, 0.3);
    margin-bottom: 1rem;
    transition: all 0.3s ease;
}

.gallery-image-preview:hover {
    transform: scale(1.02);
    border-color: rgba(74, 144, 226, 0.6);
}

.gallery-form-group {
    margin-bottom: 1rem;
}

.gallery-form-group label {
    display: block;
    font-weight: 600;
    color: #2d4a2d;
    margin-bottom: 0.5rem;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

[data-theme="dark"] .gallery-form-group label {
    color: #e2e8f0;
}

.gallery-form-group input,
.gallery-form-group textarea,
.gallery-form-group select {
    width: 100%;
    padding: 0.75rem;
    border: 2px solid rgba(139, 195, 74, 0.3);
    border-radius: 8px;
    font-size: 0.95rem;
    transition: all 0.3s ease;
    background: rgba(248, 250, 252, 0.8);
    color: #2d4a2d;
}

[data-theme="dark"] .gallery-form-group input,
[data-theme="dark"] .gallery-form-group textarea,
[data-theme="dark"] .gallery-form-group select {
    background: rgba(99, 150, 200, 0.1);
    border: 2px solid rgba(99, 150, 200, 0.3);
    color: #e8f4fd;
}

.gallery-form-group input:focus,
.gallery-form-group textarea:focus,
.gallery-form-group select:focus {
    outline: none;
    border-color: #4a90e2;
    box-shadow: 0 0 0 3px rgba(74, 144, 226, 0.1);
    background: rgba(255, 255, 255, 0.9);
}

[data-theme="dark"] .gallery-form-group input:focus,
[data-theme="dark"] .gallery-form-group textarea:focus,
[data-theme="dark"] .gallery-form-group select:focus {
    background: rgba(99, 150, 200, 0.2);
}

.gallery-form-group input[type="file"] {
    padding: 0.5rem;
    border: 2px dashed rgba(139, 195, 74, 0.5);
    background: rgba(248, 250, 252, 0.5);
    cursor: pointer;
}

.gallery-form-group input[type="file"]:hover {
    border-color: #4a90e2;
    background: rgba(74, 144, 226, 0.05);
}

.gallery-actions {
    display: flex;
    gap: 0.75rem;
    margin-top: 1.5rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(139, 195, 74, 0.3);
}

[data-theme="dark"] .gallery-actions {
    border-top: 1px solid rgba(99, 150, 200, 0.3);
}

.gallery-save-btn {
    background: linear-gradient(135deg, #10b981, #059669);
    color: white;
    border: none;
    padding: 0.75rem 1.5rem;
    border-radius: 8px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.gallery-save-btn:hover {
    background: linear-gradient(135deg, #059669, #047857);
    transform: translateY(-2px);
    box-shadow: 0 8px 15px rgba(16, 185, 129, 0.3);
}

.gallery-delete-btn {
    background: linear-gradient(135deg, #ef4444, #dc2626);
    color: white;
    border: none;
    padding: 0.75rem 1.5rem;
    border-radius: 8px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.gallery-delete-btn:hover {
    background: linear-gradient(135deg, #dc2626, #b91c1c);
    transform: translateY(-2px);
    box-shadow: 0 8px 15px rgba(239, 68, 68, 0.3);
}

/* Empty gallery state */
.empty-gallery-admin {
    text-align: center;
    padding: 3rem;
    color: #6b8a6b;
    grid-column: 1 / -1;
}

[data-theme="dark"] .empty-gallery-admin {
    color: #94a3b8;
}

.empty-gallery-admin svg {
    width: 4rem;
    height: 4rem;
    margin-bottom: 1rem;
    opacity: 0.5;
}

.empty-gallery-admin p {
    font-size: 1.1rem;
    margin: 0;
}

/* Notification styles for gallery */
.notification {
    position: fixed;
    top: 2rem;
    right: 2rem;
    padding: 1rem 1.5rem;
    border-radius: 8px;
    color: white;
    font-weight: 600;
    z-index: 10000;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    animation: slideInRight 0.3s ease;
}

.notification.success {
    background: linear-gradient(135deg, #10b981, #059669);
}

.notification.error {
    background: linear-gradient(135deg, #ef4444, #dc2626);
}

@keyframes slideInRight {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

/* Mobile responsive gallery admin */
@media (max-width: 768px) {
    .gallery-admin-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
        padding: 0.5rem;
    }
    
    .gallery-admin-item {
        padding: 1rem;
    }
    
    .gallery-image-preview {
        height: 150px;
    }
    
    .gallery-actions {
        flex-direction: column;
        gap: 0.5rem;
    }
    
    .gallery-save-btn,
    .gallery-delete-btn {
        width: 100%;
        justify-content: center;
        padding: 0.75rem;
    }
    
    .notification {
        top: 1rem;
        right: 1rem;
        left: 1rem;
        transform: translateY(-100%);
    }
    
    .notification.show {
        transform: translateY(0);
    }
}

@media (max-width: 480px) {
    .gallery-admin-item {
        padding: 0.75rem;
    }
    
    .gallery-image-preview {
        height: 120px;
    }
    
    .gallery-form-group input,
    .gallery-form-group textarea,
    .gallery-form-group select {
        padding: 0.6rem;
        font-size: 0.9rem;
    }
    
    .gallery-save-btn,
    .gallery-delete-btn {
        padding: 0.6rem;
        font-size: 0.8rem;
    }
}