@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap";:root{--bg-paper: #fbfaf8;--bg-card: #ffffff;--bg-well: #f5f4ef;--bg-well-dark: #eeebe3;--border-clay: #e5e3da;--border-clay-dark: #dfdcce;--text-primary: #191919;--text-secondary: #6e6d67;--text-tertiary: #a19f96;--accent-rust: #d97756;--accent-rust-hover: #c05634;--accent-rust-soft: #f8ece8;--status-match-text: #1b5e20;--status-match-bg: #e8f5e9;--status-match-border: #c8e6c9;--status-match-dot: #10b981;--status-minor-text: #78350f;--status-minor-bg: #fef3c7;--status-minor-border: #fde68a;--status-minor-dot: #f59e0b;--status-mismatch-text: #7c2d12;--status-mismatch-bg: #ffedd5;--status-mismatch-border: #fed7aa;--status-mismatch-dot: #f97316;--status-error-text: #7f1d1d;--status-error-bg: #fee2e2;--status-error-border: #fecaca;--status-error-dot: #ef4444;--status-gstr-text: #312e81;--status-gstr-bg: #e0e7ff;--status-gstr-border: #c7d2fe;--status-gstr-dot: #6366f1;--font-display: "Outfit", sans-serif;--font-data: "Inter", sans-serif;--shadow-sm: 0 2px 8px rgba(25, 25, 25, .02);--shadow-md: 0 8px 20px rgba(25, 25, 25, .04);--shadow-lg: 0 16px 36px rgba(25, 25, 25, .06);--shadow-inset: inset 0 2px 4px rgba(0,0,0,.02);--transition-fast: .15s cubic-bezier(.16, 1, .3, 1);--transition-normal: .25s cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-paper);color:var(--text-primary);font-family:var(--font-data);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;color:var(--text-primary);letter-spacing:-.01em}button,input,select{font-family:inherit}.app-container{max-width:1400px;margin:0 auto;padding:2.5rem 1.5rem;min-height:100vh;display:flex;flex-direction:column;gap:2rem}.app-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-clay);padding-bottom:1.5rem}.brand-clickable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity var(--transition-fast)}.brand-clickable:hover{opacity:.8}.brand-clickable:active{opacity:.6}.brand-section h1{font-size:2.25rem;font-weight:700;background:linear-gradient(135deg,var(--text-primary) 30%,var(--accent-rust) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.brand-section p{color:var(--text-secondary);font-size:.95rem;margin-top:.25rem;font-medium:500}.premium-card{background-color:var(--bg-card);border:1px solid var(--border-clay);border-radius:12px;box-shadow:var(--shadow-md);padding:1.75rem;transition:transform var(--transition-normal),box-shadow var(--transition-normal),border-color var(--transition-normal)}.premium-card:hover{border-color:var(--border-clay-dark);box-shadow:var(--shadow-lg)}.upload-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}.drop-zone{border:2px dashed var(--border-clay);border-radius:12px;background-color:var(--bg-card);padding:2.5rem 1.5rem;text-align:center;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:1rem;transition:all var(--transition-normal);position:relative;overflow:hidden}.drop-zone:hover{border-color:var(--accent-rust);background-color:var(--bg-well);transform:translateY(-2px)}.drop-zone.active{border-color:var(--accent-rust);background-color:var(--accent-rust-soft)}.drop-zone .icon-container{width:48px;height:48px;border-radius:50%;background-color:var(--bg-well);display:flex;align-items:center;justify-content:center;color:var(--accent-rust);transition:all var(--transition-fast)}.drop-zone:hover .icon-container{background-color:var(--bg-card);transform:scale(1.1);box-shadow:var(--shadow-sm)}.drop-zone h3{font-size:1.15rem;font-weight:600}.drop-zone p{font-size:.85rem;color:var(--text-secondary);max-width:250px}.file-indicator{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background-color:var(--bg-well);border:1px solid var(--border-clay);border-radius:8px;width:100%;max-width:280px;justify-content:center;margin-top:.5rem}.file-indicator span{font-size:.85rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-indicator button{background:none;border:none;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center}.file-indicator button:hover{color:var(--accent-rust)}.btn-primary{background-color:var(--accent-rust);color:#fff;border:none;border-radius:8px;padding:.75rem 1.75rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 4px 12px #d9775633}.btn-primary:hover:not(:disabled){background-color:var(--accent-rust-hover);transform:translateY(-1px);box-shadow:0 6px 16px #d977564d}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{background-color:var(--border-clay);color:var(--text-tertiary);cursor:not-allowed;box-shadow:none}.btn-secondary{background-color:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-clay);border-radius:8px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;gap:.5rem}.btn-secondary:hover:not(:disabled){background-color:var(--bg-well);border-color:var(--border-clay-dark)}.pipeline-card{display:flex;flex-direction:column;gap:1.25rem;max-width:700px;margin:2rem auto;width:100%}.pipeline-header{display:flex;justify-content:space-between;align-items:center}.pipeline-progress-bar{height:6px;background-color:var(--bg-well-dark);border-radius:3px;overflow:hidden;width:100%}.pipeline-progress-fill{height:100%;background-color:var(--accent-rust);transition:width .3s ease}.pipeline-logs{background-color:var(--bg-well);border:1px solid var(--border-clay);border-radius:8px;padding:1rem;font-family:var(--font-data);font-size:.85rem;height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;scroll-behavior:smooth;box-shadow:var(--shadow-inset)}.log-entry{display:flex;gap:.75rem;animation:logFadeIn .2s ease-out forwards}.log-entry.active{font-weight:500;color:var(--text-primary)}.log-entry.done{color:var(--text-secondary)}.log-entry .pass-badge{font-family:var(--font-display);font-weight:700;color:var(--accent-rust);min-width:50px}.log-entry .status-check{color:var(--status-match-dot)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.25rem}.stat-card{background-color:var(--bg-card);border:1px solid var(--border-clay);border-radius:12px;padding:1.25rem;display:flex;flex-direction:column;gap:.5rem;cursor:pointer;transition:all var(--transition-normal);position:relative;overflow:hidden}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-card.active{border-color:var(--accent-rust);box-shadow:0 0 0 1px var(--accent-rust),var(--shadow-md)}.stat-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background-color:var(--border-clay)}.stat-card.matched:before{background-color:var(--status-match-dot)}.stat-card.minor:before{background-color:var(--status-minor-dot)}.stat-card.mismatch:before{background-color:var(--status-mismatch-dot)}.stat-card.error:before{background-color:var(--status-error-dot)}.stat-card.gstr:before{background-color:var(--status-gstr-dot)}.stat-label{font-size:.8rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.stat-value{font-family:var(--font-display);font-size:1.75rem;font-weight:700}.stat-sub{font-size:.75rem;color:var(--text-tertiary);margin-top:auto}.gauge-container{display:flex;align-items:center;gap:1.5rem;grid-column:span 2}@media(max-width:1024px){.gauge-container{grid-column:span 1}}.circular-progress{width:90px;height:90px;position:relative}.circular-progress svg{transform:rotate(-90deg)}.circular-progress circle{fill:none;stroke-width:8}.circular-progress .bg{stroke:var(--bg-well-dark)}.circular-progress .fg{stroke:var(--accent-rust);stroke-dasharray:251.2;transition:stroke-dashoffset .6s cubic-bezier(.16,1,.3,1)}.circular-progress .text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--font-display);font-weight:700;font-size:1.25rem}.gauge-info{display:flex;flex-direction:column;gap:.25rem}.gauge-info h3{font-size:1.25rem;font-weight:700}.gauge-info p{font-size:.85rem;color:var(--text-secondary)}.explorer-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1.25rem}.search-box{position:relative;max-width:320px;width:100%}.search-box input{width:100%;padding:.6rem 1rem .6rem 2.5rem;border:1px solid var(--border-clay);border-radius:8px;background-color:var(--bg-well);font-size:.9rem;transition:all var(--transition-fast);color:var(--text-primary)}.search-box input:focus{outline:none;border-color:var(--accent-rust);background-color:var(--bg-card);box-shadow:0 0 0 3px var(--accent-rust-soft)}.search-box svg{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-secondary)}.tabs{display:flex;gap:.5rem;background-color:var(--bg-well);padding:.25rem;border-radius:8px;border:1px solid var(--border-clay)}.tab-btn{background:none;border:none;padding:.5rem 1rem;font-size:.85rem;font-weight:600;border-radius:6px;cursor:pointer;color:var(--text-secondary);transition:all var(--transition-fast)}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{background-color:var(--bg-card);color:var(--text-primary);box-shadow:var(--shadow-sm)}.table-container{overflow-x:auto;border:1px solid var(--border-clay);border-radius:8px;background-color:var(--bg-card)}table{width:100%;border-collapse:collapse;text-align:left;font-size:.85rem}th{background-color:var(--bg-well);font-family:var(--font-display);font-weight:600;color:var(--text-primary);padding:.75rem 1rem;border-bottom:1px solid var(--border-clay);text-transform:uppercase;font-size:.75rem;letter-spacing:.03em}td{padding:.85rem 1rem;border-bottom:1px solid var(--border-clay);color:var(--text-primary)}tr:last-child td{border-bottom:none}tr.interactive-row{cursor:pointer;transition:background-color var(--transition-fast)}tr.interactive-row:hover{background-color:var(--bg-well)}.status-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .6rem;border-radius:9999px;font-size:.75rem;font-weight:600;border:1px solid transparent}.status-badge:before{content:"";width:6px;height:6px;border-radius:50%}.status-badge.matched{color:var(--status-match-text);background-color:var(--status-match-bg);border-color:var(--status-match-border)}.status-badge.matched:before{background-color:var(--status-match-dot)}.status-badge.minor{color:var(--status-minor-text);background-color:var(--status-minor-bg);border-color:var(--status-minor-border)}.status-badge.minor:before{background-color:var(--status-minor-dot)}.status-badge.mismatch{color:var(--status-mismatch-text);background-color:var(--status-mismatch-bg);border-color:var(--status-mismatch-border)}.status-badge.mismatch:before{background-color:var(--status-mismatch-dot)}.status-badge.error{color:var(--status-error-text);background-color:var(--status-error-bg);border-color:var(--status-error-border)}.status-badge.error:before{background-color:var(--status-error-dot)}.status-badge.gstr{color:var(--status-gstr-text);background-color:var(--status-gstr-bg);border-color:var(--status-gstr-border)}.status-badge.gstr:before{background-color:var(--status-gstr-dot)}.numeric{font-family:var(--font-data);font-variant-numeric:tabular-nums;text-align:right}.muted-cell{color:var(--text-tertiary);text-align:center}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#19191966;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:flex-end;z-index:1000;animation:fadeIn .25s ease-out}.modal-drawer{background-color:var(--bg-card);width:100%;max-width:600px;height:100%;box-shadow:var(--shadow-lg);border-left:1px solid var(--border-clay);display:flex;flex-direction:column;animation:slideIn .3s cubic-bezier(.16,1,.3,1)}.modal-header{padding:1.5rem;border-bottom:1px solid var(--border-clay);display:flex;justify-content:space-between;align-items:center}.modal-close-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:.25rem;border-radius:4px}.modal-close-btn:hover{background-color:var(--bg-well);color:var(--text-primary)}.modal-body{padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.5rem}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.compare-card{border:1px solid var(--border-clay);border-radius:8px;padding:1rem;background-color:var(--bg-well)}.compare-card.acc{border-top:3px solid var(--accent-rust)}.compare-card.gstr{border-top:3px solid var(--status-gstr-dot)}.compare-card h4{font-size:.85rem;text-transform:uppercase;color:var(--text-secondary);margin-bottom:.75rem}.compare-field{display:flex;flex-direction:column;gap:.15rem;margin-bottom:.75rem}.compare-field:last-child{margin-bottom:0}.compare-field label{font-size:.7rem;color:var(--text-secondary);font-weight:500}.compare-field span{font-size:.9rem;font-weight:600}.diff-highlight{color:var(--status-error-text);background-color:var(--status-error-bg);padding:.05rem .25rem;border-radius:4px}.minor-diff-highlight{color:var(--status-minor-text);background-color:var(--status-minor-bg);padding:.05rem .25rem;border-radius:4px}.remarks-box{background-color:var(--accent-rust-soft);border:1px solid var(--border-clay);border-radius:8px;padding:1rem;display:flex;flex-direction:column;gap:.5rem}.remarks-box h4{color:var(--accent-rust-hover);font-size:.9rem}.remarks-box p{font-size:.85rem;color:var(--text-primary)}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;font-size:.85rem;color:var(--text-secondary)}.pagination-controls{display:flex;gap:.5rem}.pagination-btn{background-color:var(--bg-card);border:1px solid var(--border-clay);border-radius:6px;padding:.35rem .75rem;cursor:pointer;font-weight:600;transition:all var(--transition-fast)}.pagination-btn:hover:not(:disabled){background-color:var(--bg-well)}.pagination-btn:disabled{color:var(--text-tertiary);cursor:not-allowed}@keyframes logFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.table-scroll-hint{font-size:.75rem;color:var(--text-tertiary);text-align:right;margin-bottom:.25rem}@media(min-width:768px){.table-scroll-hint{display:none}}
