:root{--primary-color: #2563eb;--primary-dark: #1e40af;--primary-light: #3b82f6;--secondary-color: #10b981;--secondary-dark: #059669;--secondary-light: #34d399;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--success: #10b981;--danger: #ef4444;--warning: #f59e0b;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;font-weight:400;font-size:16px;color:var(--gray-900);background-color:var(--gray-50);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}a{font-weight:500;color:var(--primary-color);text-decoration:none;transition:color .2s ease}a:hover{color:var(--primary-dark)}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}h1{font-size:2.5em;line-height:1.2;font-weight:800;color:var(--gray-900);letter-spacing:-.02em}h2{font-size:1.875em;line-height:1.2;font-weight:700;color:var(--gray-800);margin:1.5em 0 .75em}button{border-radius:8px;border:none;padding:.75em 1.5em;font-size:.95em;font-weight:600;font-family:inherit;background-color:var(--primary-color);color:#fff;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #2563eb26}button:hover{background-color:var(--primary-dark);box-shadow:0 4px 12px #2563eb4d;transform:translateY(-1px)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}button:disabled{background-color:var(--gray-300);cursor:not-allowed;box-shadow:none;transform:none}input[type=file]{padding:.75em;border:2px solid var(--gray-300);border-radius:8px;font-family:inherit;cursor:pointer;transition:all .3s ease}input[type=file]:hover{border-color:var(--primary-color);background-color:var(--gray-50)}input[type=file]:disabled{background-color:var(--gray-100);cursor:not-allowed;border-color:var(--gray-200)}p{color:var(--gray-600)}table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}table thead{background-color:var(--gray-100);border-bottom:2px solid var(--gray-200)}table th{padding:1em;text-align:left;font-weight:600;color:var(--gray-700);font-size:.95em}table td{padding:1em;border-bottom:1px solid var(--gray-100);color:var(--gray-600)}table tbody tr:hover{background-color:var(--gray-50)}@media(max-width:768px){h1{font-size:1.875em}h2{font-size:1.5em}}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}#root{max-width:1400px;margin:0 auto;padding:2rem 1.5rem;min-height:100vh}.App{background:#fff;border-radius:12px;box-shadow:0 10px 40px #00000014;padding:3rem;animation:slideUp .4s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.App h1{background:linear-gradient(135deg,#2563eb,#10b981);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:2rem;text-align:center}.navigation{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:2rem;padding-bottom:2rem;border-bottom:2px solid #e5e7eb;justify-content:center}.nav-button{padding:.85em 2em;border-radius:8px;border:2px solid #e5e7eb;background:#fff;color:#4b5563;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.95em;box-shadow:0 2px 4px #0000000d}.nav-button:hover{border-color:#2563eb;color:#2563eb;box-shadow:0 4px 12px #2563eb1a}.nav-button.active-photo{background:linear-gradient(135deg,#2563eb,#1e40af);color:#fff;border-color:#1e40af;box-shadow:0 4px 12px #2563eb4d}.nav-button.active-video{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-color:#059669;box-shadow:0 4px 12px #10b9814d}.upload-section{background:linear-gradient(135deg,#f9fafb,#f3f4f6);padding:3rem;border-radius:12px;border:2px dashed #d1d5db;text-align:center;transition:all .3s ease}.upload-section:hover{border-color:#2563eb;background:linear-gradient(135deg,#eef2ff,#f0fdf4)}.upload-section h2{color:#1f2937;margin-top:0;margin-bottom:1.5rem;font-size:1.5em}.upload-section input[type=file]{display:inline-block;margin-bottom:1.5rem;width:100%;max-width:400px}.upload-section button{padding:.9em 2.5em;font-size:1em;margin-right:.5rem}.file-info{color:#6b7280;font-size:.95em;margin:1rem 0;padding:1rem;background:#fff;border-radius:8px;border-left:4px solid #2563eb}.preview-section{margin-top:2rem;padding:2rem;background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014}.preview-section h2{text-align:center;color:#1f2937;margin-top:0}.preview-section img{max-width:100%;max-height:500px;border-radius:8px;box-shadow:0 4px 12px #0000001a;display:block;margin:1.5rem auto}.preview-section video{max-width:100%;max-height:500px;border-radius:8px;box-shadow:0 4px 12px #0000001a;display:block;margin:1.5rem auto;background:#000}.error-message{color:#ef4444;background:#fee2e2;padding:1rem;border-radius:8px;margin:1rem 0;border-left:4px solid #ef4444;font-weight:500}.success-message{color:#059669;background:#d1fae5;padding:1rem;border-radius:8px;margin:1rem 0;border-left:4px solid #10b981;font-weight:500}.loading{text-align:center;padding:3rem;color:#6b7280;font-size:1.1em}.empty-state{text-align:center;padding:3rem;color:#9ca3af}.empty-state p{font-size:1.1em;margin:0}.content-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem;margin-top:2rem}.media-card{border:1px solid #e5e7eb;border-radius:10px;padding:1rem;background:#fff;transition:all .3s ease;box-shadow:0 2px 8px #0000000d;overflow:hidden}.media-card:hover{box-shadow:0 8px 20px #0000001f;border-color:#2563eb;transform:translateY(-4px)}.media-card img,.media-card video{width:100%;height:200px;object-fit:cover;border-radius:8px;display:block;background:#f3f4f6}.media-card p{margin:1rem 0 0;font-size:.9em;color:#6b7280;text-align:center}.stats{display:flex;justify-content:space-around;margin:2rem 0;padding:1.5rem;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-radius:10px}.stat-item{text-align:center}.stat-item .number{font-size:2em;font-weight:800;color:#2563eb;display:block}.stat-item .label{color:#6b7280;font-size:.9em;margin-top:.5rem}@media(max-width:768px){.App{padding:1.5rem}.navigation{flex-direction:column}.nav-button{width:100%}.upload-section{padding:2rem 1rem}.content-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.stats{flex-direction:column;gap:1rem}}
