@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";.app{min-height:100vh;position:relative;overflow-x:hidden;background:var(--bg-primary)}.container{max-width:1200px;margin:0 auto;padding:0 2rem;position:relative;z-index:1}.app-header{padding:1.5rem 0;border-bottom:1px solid var(--border-subtle)}.header-content{display:flex;align-items:center;gap:.75rem}.app-title{font-size:1.25rem;font-weight:600;margin:0;color:var(--text-primary)}.title-gradient{color:var(--text-primary)}.app-subtitle{display:none}.hero-section{text-align:center;padding:var(--spacing-4xl) 2rem var(--spacing-3xl);max-width:800px;margin:0 auto}.hero-title{font-size:2.25rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem;line-height:1.2}.hero-subtitle{font-size:1.125rem;color:var(--text-secondary);line-height:1.6}@keyframes fadeInSimple{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.upload-section{margin-bottom:var(--spacing-3xl);padding:0 2rem}.section-header{margin-bottom:var(--spacing-xl)}.section-header h2{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0}.uploaders-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.action-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.compare-btn,.reset-btn{display:flex;align-items:center;gap:.5rem;padding:.875rem 2rem;font-size:1rem;font-weight:600;border:none;border-radius:.5rem;cursor:pointer;transition:all .2s ease}.compare-btn{background:var(--accent-primary);color:#fff}.compare-btn:hover{background:var(--accent-hover)}.compare-btn:active{transform:scale(.98)}.compare-btn:disabled{background:var(--bg-tertiary);color:var(--text-muted);cursor:not-allowed}.reset-btn{background:transparent;color:var(--text-secondary);border:1px solid var(--border-medium)}.reset-btn:hover{background:var(--bg-secondary);border-color:var(--border-medium)}.btn-spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.error-message{display:flex;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;margin-top:1.5rem;background:#ef444426;border:1px solid rgba(239,68,68,.3);border-left:4px solid var(--danger-500);border-radius:12px;color:#fca5a5;font-weight:500;animation:shake .5s ease}.debug-warning{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;margin-top:1rem;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:8px;color:var(--warning-500);font-size:.95rem}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.results-section{animation:fadeIn .6s ease-out}.instructions{padding:var(--spacing-xl);background:var(--bg-secondary);border-radius:1rem;border:1px solid var(--border-subtle);margin-top:var(--spacing-3xl);max-width:800px;margin-left:auto;margin-right:auto}.instructions-header{display:flex;align-items:center;gap:.75rem;margin-bottom:var(--spacing-lg);color:var(--text-muted)}.instructions-header h3{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.instructions h3{font-size:1.5rem;color:var(--text-primary);margin-bottom:1.5rem}.instructions ol{color:var(--text-secondary);line-height:1.6;font-size:.875rem;padding-left:1.5rem;margin:0}.instructions li{margin-bottom:.75rem}.instructions ul{margin-top:.5rem;padding-left:1.5rem}.instructions ul li{margin-bottom:.5rem}.highlight-red{color:#ff4d4d;font-weight:600;padding:.125rem .375rem;background:#ff4d4d33;border-radius:4px}.highlight-green{color:#3c3;font-weight:600;padding:.125rem .375rem;background:#3c33;border-radius:4px}.app-footer{text-align:center;margin-top:4rem;padding:2rem 0;color:#94a3b8;font-size:.95rem;border-top:1px solid rgba(255,255,255,.1)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1024px){.app-title{font-size:2.75rem}.uploaders-grid{grid-template-columns:1fr}}@media (max-width: 768px){.container{padding:1.5rem}.app-title{font-size:2.25rem}.app-subtitle{font-size:1.1rem}.uploaders-grid{grid-template-columns:1fr;gap:1.5rem}.action-buttons{flex-direction:column;width:100%}.compare-btn,.reset-btn{width:100%;justify-content:center}.instructions{padding:1.5rem}.instructions h3{font-size:1.25rem}.instructions ol{font-size:1rem}}@media (max-width: 480px){.app-title{font-size:1.875rem}.gradient-orb{filter:blur(60px)}}.logo-container{display:inline-flex;align-items:center;justify-content:center}.logo-icon{position:relative;display:flex;align-items:center;gap:.25rem}.file-icon{color:var(--text-muted);transition:all .3s ease}.file-left{animation:slideInLeft .8s ease-out}.file-right{animation:slideInRight .8s ease-out}.compare-icon{color:var(--accent-primary);animation:fadeInScale .8s ease-out .2s both}.logo-container:hover .file-left{transform:translate(-2px);color:var(--accent-primary)}.logo-container:hover .file-right{transform:translate(2px);color:var(--accent-primary)}.logo-container:hover .compare-icon{transform:scale(1.1);color:var(--accent-hover)}.logo-small .logo-icon{gap:.15rem}.logo-small .file-icon,.logo-small .compare-icon{width:16px;height:16px}.logo-medium .file-icon,.logo-medium .compare-icon{width:20px;height:20px}.logo-large .file-icon,.logo-large .compare-icon{width:28px;height:28px}@keyframes slideInLeft{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.file-uploader{display:flex;flex-direction:column;gap:.75rem;width:100%}.uploader-label{font-size:.875rem;font-weight:500;color:var(--text-secondary);margin-bottom:.5rem}.upload-area{position:relative;padding:2.5rem 2rem;border:1px solid var(--border-subtle);border-radius:1rem;background:var(--bg-secondary);cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;gap:1rem;min-height:200px;justify-content:center}.upload-area:hover{background:var(--bg-tertiary);border-color:var(--border-medium)}.upload-area.dragging{background:var(--bg-tertiary);border-color:var(--accent-primary)}.upload-area.has-file{border-color:var(--success);background:#10b9810d}.upload-area.has-file:hover{background:#10b98114}.upload-icon{color:var(--text-muted);transition:opacity .2s ease}.upload-area:hover .upload-icon{opacity:.8}.upload-area.has-file .upload-icon{color:var(--success)}.upload-text{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center}.upload-prompt{font-size:1rem;font-weight:500;color:var(--text-primary)}.upload-or{font-size:.875rem;color:var(--text-muted)}.browse-button{padding:.625rem 1.25rem;background:var(--accent-primary);color:#fff;border:none;border-radius:.5rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .2s ease}.browse-button:hover{background:var(--accent-hover)}.file-name{font-size:1rem;font-weight:600;color:var(--success);word-break:break-word;max-width:100%}.file-size{font-size:.875rem;color:var(--text-muted)}@media (max-width: 768px){.upload-area{padding:2rem 1.5rem;min-height:180px}.upload-icon svg{width:40px;height:40px}.upload-prompt{font-size:1rem}}.comparison-results{width:100%;padding:var(--spacing-xl);background:var(--bg-secondary);border-radius:1rem;border:1px solid var(--border-subtle);animation:fadeInSimple .2s ease-out}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;gap:1rem}.results-title{display:flex;align-items:center;gap:.75rem;color:var(--text-muted)}.results-header h2{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0}.total-changes{font-size:1.1rem;color:#e5e7eb;font-weight:500}.total-changes .highlight{font-size:1.3rem;font-weight:700;color:#8b5cf6;padding:.25rem .75rem;background:#8b5cf633;border-radius:8px;margin-left:.5rem}.legend{display:flex;gap:2rem;padding:1rem;background:#ffffff08;border-radius:12px;margin-bottom:1.5rem;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:.5rem;color:#e5e7eb;font-size:.95rem}.legend-color{width:24px;height:24px;border-radius:6px;box-shadow:0 2px 8px #0000004d}.legend-color.red{background:#ff4d4d}.legend-color.green{background:#3c3}.summary-section{padding:1.5rem;background:#3b82f61a;border-left:4px solid #3b82f6;border-radius:8px;margin-bottom:1.5rem}.summary-section h3{color:#60a5fa;margin-bottom:.75rem;font-size:1.1rem}.summary-section p{color:#e5e7eb;line-height:1.6}.changes-container{display:flex;flex-direction:column;gap:1rem}.changes-section{background:#ffffff05;border-radius:.75rem;overflow:hidden;border:1px solid var(--border-subtle);transition:border-color .2s ease}.changes-section:hover{border-color:var(--border-medium)}.section-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;cursor:pointer;transition:all .3s ease;background:#ffffff05}.section-header:hover{background:#ffffff0d}.section-title{display:flex;align-items:center;gap:1rem}.icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:700}.icon.added{background:#10b98133;color:#10b981}.icon.removed{background:#ef444433;color:#ef4444}.icon.modified{background:#3b82f633;color:#3b82f6}.icon.table_changes{background:#f59e0b33;color:#f59e0b}.section-title h3{color:#f3f4f6;font-size:1.2rem;font-weight:600;margin:0}.count-badge{background:#2563eb1a;color:#60a5fa;border:1px solid rgba(37,99,235,.2);padding:.25rem .75rem;border-radius:.375rem;font-size:.75rem;font-weight:500}.expand-icon{width:20px;height:20px;color:#9ca3af;transition:transform .3s ease}.expand-icon.expanded{transform:rotate(180deg)}.changes-list{padding:0 1.5rem 1.5rem;display:flex;flex-direction:column;gap:1rem;animation:slideDown .3s ease}.change-item{padding:1.25rem;background:#ffffff08;border-radius:8px;border-left:3px solid rgba(139,92,246,.5);transition:all .3s ease}.change-item:hover{background:#ffffff0d;transform:translate(4px);border-left-color:#8b5cf6}.change-field{color:#e5e7eb;margin-bottom:.5rem;font-size:.95rem}.change-field strong{color:#a78bfa}.change-description{color:#d1d5db;line-height:1.5;margin-bottom:.75rem}.change-values{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.old-value,.new-value{display:flex;gap:.75rem;align-items:baseline;padding:.5rem;border-radius:6px}.old-value{background:#ef44441a}.new-value{background:#10b9811a}.value-label{font-weight:600;font-size:.85rem;min-width:60px}.old-value .value-label{color:#fca5a5}.new-value .value-label{color:#6ee7b7}.value-content{color:#e5e7eb;font-family:Courier New,monospace;font-size:.9rem;word-break:break-word}.change-type-badge{display:inline-block;margin-top:.5rem;padding:.25rem .75rem;background:#8b5cf633;color:#c4b5fd;border-radius:12px;font-size:.8rem;font-weight:500;text-transform:capitalize}.batch-info{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1.5rem;padding:1rem;background:#3b82f61a;border-radius:8px;color:#93c5fd;font-size:.95rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:2000px}}@media (max-width: 768px){.comparison-results{padding:1.5rem}.results-header{flex-direction:column;align-items:flex-start}.legend{flex-direction:column;gap:.75rem}.section-header{padding:1rem}.changes-list{padding:0 1rem 1rem}}.pdf-viewer-container{width:100%;margin-top:2rem}.viewer-title{display:flex;align-items:center;gap:.75rem;font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin-bottom:1rem}.viewer-title h2{color:#94a3b8;margin:0}.highlight-info{display:flex;gap:1.5rem;justify-content:center;margin-bottom:1.5rem;flex-wrap:wrap}.info-badge{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:12px;font-weight:600;font-size:.95rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);transition:all .3s ease}.red-badge{background:#ef444426;color:#fca5a5;border-color:#ef44444d}.red-badge:hover{background:#ef444440;transform:translateY(-2px)}.green-badge{background:#10b98126;color:#6ee7b7;border-color:#10b9814d}.green-badge:hover{background:#10b98140;transform:translateY(-2px)}.pdf-viewers{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:2rem}.pdf-viewer-section{display:flex;flex-direction:column;gap:1rem}.viewer-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;border:1px solid rgba(255,255,255,.1)}.viewer-header h3{color:#f3f4f6;font-size:1.2rem;font-weight:600;margin:0}.header-title{display:flex;align-items:center;gap:.75rem}.text-danger-500{color:var(--danger-500)}.text-success-500{color:var(--success-500)}.download-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #8b5cf64d}.download-btn:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);transform:translateY(-2px);box-shadow:0 6px 16px #8b5cf666}.download-btn:active{transform:translateY(0)}.pdf-frame-container{position:relative;width:100%;height:700px;background:#ffffff08;border-radius:12px;overflow:hidden;border:2px solid rgba(255,255,255,.1);box-shadow:0 8px 24px #0000004d}.pdf-frame{width:100%;height:100%;border:none;background:#fff}.no-pdf{display:flex;align-items:center;justify-content:center;height:100%;color:#9ca3af;font-size:1.1rem}.pdf-description{text-align:center;padding:.75rem;background:#ffffff08;border-radius:8px;color:#d1d5db;font-size:.9rem;font-style:italic}@media (max-width: 1200px){.pdf-viewers{grid-template-columns:1fr}}@media (max-width: 768px){.pdf-viewers{grid-template-columns:1fr;gap:1.5rem}.viewer-header{flex-direction:column;gap:1rem;align-items:flex-start}.download-btn{width:100%;justify-content:center}.pdf-frame-container{height:500px}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1.5rem}.spinner-wrapper{position:relative;width:80px;height:80px}.spinner{width:80px;height:80px;border:4px solid rgba(139,92,246,.1);border-top:4px solid #8b5cf6;border-radius:50%;animation:spin 1s linear infinite;position:relative;z-index:2}.spinner-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100px;height:100px;background:radial-gradient(circle,rgba(139,92,246,.3) 0%,transparent 70%);border-radius:50%;animation:pulse 2s ease-in-out infinite;z-index:1}.loading-message{font-size:1.1rem;font-weight:500;background:linear-gradient(135deg,#8b5cf6,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:fadeInOut 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.3;transform:translate(-50%,-50%) scale(.8)}50%{opacity:.6;transform:translate(-50%,-50%) scale(1.1)}}@keyframes fadeInOut{0%,to{opacity:.6}50%{opacity:1}}:root{--bg-primary: #0a0a0f;--bg-secondary: #16161d;--bg-tertiary: #1f1f28;--text-primary: #ffffff;--text-secondary: #a0a0a8;--text-muted: #6b6b75;--accent-primary: #ff6b35;--accent-hover: #ff8555;--accent-dark: #e55525;--border-subtle: rgba(255, 255, 255, .08);--border-medium: rgba(255, 255, 255, .12);--success: #10b981;--danger: #ef4444;--spacing-xs: .5rem;--spacing-sm: .75rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--spacing-4xl: 6rem}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-primary);color:var(--text-secondary);font-size:16px;line-height:1.6}code{font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace}.text-center{text-align:center}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
