@import"https://fonts.googleapis.com/css2?family=Share+Tech+Mono&family=JetBrains+Mono:wght@400;500;700&display=swap";:root{--bg-black: #0a0a0a;--bg-dark: #0d0d0d;--bg-panel: #111111;--bg-input: #0a0a0a;--border-dim: #1a2a1a;--border-green: #1a3a1a;--border-bright: #00ff41;--green-primary: #00ff41;--green-dim: #22cc44;--green-dark: #0a7a22;--green-glow: rgba(0,255,65,.15);--amber: #ffb800;--amber-dim: #b48a00;--cyan: #00e5ff;--red: #ff4444;--red-dim: #882222;--white-dim: #77aa77;--text-green: #00ff41;--text-dim: #55bb55;--text-comment: #448844;--font-mono: "Share Tech Mono", "JetBrains Mono", "Courier New", monospace;--scanline-opacity: .03;--glow-sm: 0 0 4px rgba(0,255,65,.3);--glow-md: 0 0 10px rgba(0,255,65,.2);--glow-lg: 0 0 30px rgba(0,255,65,.1)}*{margin:0;padding:0;box-sizing:border-box}html{font-size:15px}body{font-family:var(--font-mono);background:var(--bg-black);color:var(--text-green);-webkit-font-smoothing:none;-moz-osx-font-smoothing:auto;min-height:100vh;position:relative;overflow-x:hidden}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;pointer-events:none;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,var(--scanline-opacity)) 2px,rgba(0,0,0,var(--scanline-opacity)) 4px)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998;pointer-events:none;background:radial-gradient(ellipse at center,transparent 50%,rgba(0,0,0,.3) 100%)}a{color:var(--cyan);text-decoration:none}a:hover{text-shadow:var(--glow-sm)}::selection{background:var(--green-primary);color:var(--bg-black)}.app-container{min-height:100vh;display:flex;flex-direction:column}.app-main{flex:1;max-width:1000px;width:100%;margin:0 auto;padding:16px 20px 40px}.app-header{background:var(--bg-dark);border-bottom:1px solid var(--border-green);position:sticky;top:0;z-index:50}.header-content{max-width:1000px;margin:0 auto;padding:10px 20px;display:flex;align-items:center;justify-content:space-between}.header-brand{display:flex;align-items:center;gap:10px}.header-logo{width:32px;height:32px;border:1px solid var(--green-dim);display:flex;align-items:center;justify-content:center;color:var(--green-primary);font-size:16px;text-shadow:var(--glow-sm)}.header-title{font-size:17px;font-weight:400;color:var(--green-primary);text-shadow:var(--glow-sm);letter-spacing:.1em;text-transform:uppercase}.header-subtitle{font-size:12px;color:var(--text-dim);letter-spacing:.05em}.header-badge{font-size:10px;color:var(--text-dim);border:1px solid var(--border-dim);padding:4px 10px;display:flex;align-items:center;gap:6px;letter-spacing:.05em}.badge-dot{width:6px;height:6px;border-radius:50%;background:var(--green-primary);box-shadow:0 0 6px var(--green-primary);animation:blink 1.5s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.steps-bar{max-width:1000px;margin:0 auto;padding:12px 20px 0;display:flex;align-items:center;justify-content:center;font-size:13px;letter-spacing:.08em}.step{display:flex;align-items:center;gap:6px;opacity:.25;transition:all .3s}.step.active{opacity:1}.step.completed{opacity:.55}.step-num{width:22px;height:22px;border:1px solid var(--border-dim);display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--text-dim)}.step.active .step-num{border-color:var(--green-primary);color:var(--green-primary);text-shadow:var(--glow-sm);box-shadow:var(--glow-sm)}.step.completed .step-num{border-color:var(--green-dim);color:var(--green-dim)}.step-label{color:var(--text-dim);text-transform:uppercase}.step.active .step-label{color:var(--green-primary);text-shadow:var(--glow-sm)}.step-line{width:30px;height:1px;background:var(--border-dim);margin:0 6px}.upload-section,.preview-section,.processing-section,.results-section{background:var(--bg-panel);border:1px solid var(--border-green);padding:20px;animation:bootUp .5s ease;position:relative}.upload-section:before,.preview-section:before,.processing-section:before,.results-section:before{content:"┌─── TERMINAL ───┐";position:absolute;top:-1px;left:16px;background:var(--bg-panel);color:var(--text-comment);font-size:10px;padding:0 6px;letter-spacing:.1em}@keyframes bootUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.section-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px}.section-icon{width:36px;height:36px;border:1px solid var(--border-green);display:flex;align-items:center;justify-content:center;color:var(--green-primary);flex-shrink:0;text-shadow:var(--glow-sm)}.section-icon.success{color:var(--green-primary);border-color:var(--green-dim)}.section-icon.processing{border-color:var(--amber-dim)}.section-icon.complete{color:var(--green-primary);border-color:var(--green-dim)}.section-title{font-size:16px;font-weight:400;color:var(--green-primary);text-shadow:var(--glow-sm);text-transform:uppercase;letter-spacing:.08em}.section-desc{font-size:14px;color:var(--text-dim)}.section-desc strong{color:var(--green-primary);text-shadow:var(--glow-sm)}.input-mode-toggle{display:flex;gap:0;margin-bottom:16px;border:1px solid var(--border-dim)}.mode-btn{flex:1;padding:10px;background:var(--bg-black);color:var(--text-dim);border:none;font-family:var(--font-mono);font-size:12px;cursor:pointer;transition:all .2s;letter-spacing:.05em}.mode-btn:first-child{border-right:1px solid var(--border-dim)}.mode-btn.active{background:#00ff410d;color:var(--green-primary);text-shadow:var(--glow-sm)}.mode-btn:hover:not(.active){color:var(--green-dim)}.text-input-zone{border:1px solid var(--border-green);background:var(--bg-black);padding:12px}.text-input-hint{font-size:11px;color:var(--text-comment);margin-bottom:8px}.text-input-area{width:100%;min-height:200px;background:var(--bg-black);border:1px solid var(--border-dim);color:var(--green-primary);font-family:var(--font-mono);font-size:13px;padding:10px;resize:vertical;outline:none;line-height:1.6}.text-input-area::placeholder{color:var(--text-comment)}.text-input-area:focus{border-color:var(--green-dim);box-shadow:inset 0 0 10px #00ff4108}.text-input-actions{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.text-count{font-size:11px;color:var(--text-dim)}.drop-zone{border:1px dashed var(--border-green);padding:40px 20px;text-align:center;cursor:pointer;transition:all .3s;background:var(--bg-black)}.drop-zone:hover,.drop-zone.dragging{border-color:var(--green-primary);background:#00ff4105;box-shadow:inset 0 0 30px #00ff410d}.drop-zone.disabled{opacity:.3;cursor:not-allowed}.drop-zone-content{display:flex;flex-direction:column;align-items:center;gap:10px}.drop-zone-icon{color:var(--green-dim)}.drop-zone-icon svg{stroke:var(--green-dim)}.drop-zone-text{font-size:13px;color:var(--text-dim)}.drop-zone-hint{font-size:11px;color:var(--text-comment)}.upload-error{margin-top:12px;padding:10px 14px;background:#ff33330d;border:1px solid var(--red-dim);display:flex;align-items:center;gap:8px;font-size:12px;color:var(--red)}.upload-error svg{stroke:var(--red)}.preview-section:before{content:"┌─── FILE LOADED ───┐"}.preview-table-wrapper{max-height:380px;overflow-y:auto;border:1px solid var(--border-dim);margin-bottom:16px}.preview-table{width:100%;border-collapse:collapse;font-size:14px}.preview-table thead{position:sticky;top:0;z-index:1;background:var(--bg-dark)}.preview-table th{padding:8px 14px;text-align:left;color:var(--text-comment);font-size:12px;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--border-dim);font-weight:400}.preview-table td{padding:8px 14px;border-bottom:1px solid rgba(26,42,26,.3);color:var(--text-dim)}.preview-table tr:hover{background:#00ff4105}.row-num{color:var(--text-comment);font-size:11px;width:40px}.company-name{color:var(--green-primary);text-shadow:var(--glow-sm)}.homepage a{color:var(--cyan);font-size:12px}.no-data{color:var(--text-comment)}.more-rows{text-align:center;padding:10px;color:var(--text-comment);font-size:11px}.pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px;margin-bottom:4px}.pagination .btn:disabled{opacity:.25;cursor:not-allowed}.page-info{font-size:12px;color:var(--text-dim);min-width:120px;text-align:center}.preview-actions,.result-actions,.processing-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.btn{padding:10px 20px;font-family:var(--font-mono);font-size:14px;border:none;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s;text-transform:uppercase;letter-spacing:.08em}.btn svg{width:14px;height:14px}.btn-primary{background:var(--green-primary);color:var(--bg-black);box-shadow:var(--glow-md)}.btn-primary:hover{box-shadow:var(--glow-lg),var(--glow-md);text-shadow:none}.btn-secondary{background:transparent;color:var(--text-dim);border:1px solid var(--border-dim)}.btn-secondary:hover{border-color:var(--green-dim);color:var(--green-primary)}.btn-danger{background:transparent;color:var(--red);border:1px solid var(--red-dim)}.btn-danger:hover{border-color:var(--red);box-shadow:0 0 10px #f333}.processing-section:before{content:"┌─── SCANNING ───┐"}.progress-container{display:flex;align-items:center;gap:10px;margin-bottom:16px}.progress-bar{flex:1;height:4px;background:var(--border-dim);overflow:hidden}.progress-fill{height:100%;background:var(--green-primary);box-shadow:0 0 8px var(--green-primary);transition:width .5s ease;position:relative}.progress-fill:after{content:"";position:absolute;right:0;top:-2px;width:8px;height:8px;background:var(--green-primary);box-shadow:0 0 12px var(--green-primary),0 0 4px var(--green-primary);animation:pulse-glow 1s infinite}@keyframes pulse-glow{0%,to{opacity:1}50%{opacity:.4}}.progress-text{font-size:13px;color:var(--green-primary);text-shadow:var(--glow-sm);min-width:42px;text-align:right}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}.stat-card{background:var(--bg-black);border:1px solid var(--border-dim);padding:12px;text-align:center}.stat-value{display:block;font-size:22px;letter-spacing:-.02em}.stat-value.total{color:var(--text-dim)}.stat-value.success{color:var(--green-primary);text-shadow:var(--glow-sm)}.stat-value.error{color:var(--red)}.stat-value.pending{color:var(--text-comment)}.stat-label{font-size:9px;color:var(--text-comment);text-transform:uppercase;letter-spacing:.1em;margin-top:4px;display:block}.current-processing{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#00ff4108;border:1px solid var(--border-green);margin-bottom:12px;font-size:12px;color:var(--text-dim)}.current-processing strong{color:var(--amber);text-shadow:0 0 6px rgba(255,184,0,.3)}.active-workers{border:1px solid var(--border-green);background:var(--bg-black);margin-bottom:12px;padding:8px}.active-workers-title{display:flex;align-items:center;gap:8px;padding:6px 8px;margin-bottom:4px;font-size:11px;color:var(--amber);text-transform:uppercase;letter-spacing:.08em}.worker-entry{display:flex;align-items:center;gap:8px;padding:5px 8px;font-size:12px;color:var(--text-dim);border-left:2px solid var(--green-dark);margin:2px 0}.worker-entry.slow{border-left-color:var(--amber);background:#ffb80008}.worker-name{min-width:120px;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--green-primary);text-shadow:var(--glow-sm)}.worker-detail{flex:1;color:var(--text-comment);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.worker-entry.slow .worker-detail{color:var(--amber-dim)}.worker-elapsed{font-size:11px;color:var(--text-comment);min-width:40px;text-align:right}.worker-elapsed.warn{color:var(--amber);text-shadow:0 0 4px rgba(255,184,0,.3)}.processing-log{max-height:500px;overflow-y:auto;border:1px solid var(--border-dim);background:var(--bg-black);padding:6px;font-size:14px}.log-entry{display:flex;align-items:center;gap:8px;padding:5px 8px;color:var(--text-dim)}.log-entry:hover{background:#00ff4105}.log-entry.done .log-icon{color:var(--green-primary);text-shadow:var(--glow-sm)}.log-entry.error .log-icon{color:var(--red)}.log-entry.processing .log-icon{color:var(--amber)}.log-icon{width:14px;flex-shrink:0}.log-name{flex:1}.log-error{font-size:10px;color:var(--red);max-width:200px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.log-success{font-size:10px;color:var(--green-dim)}.pulse-dot{width:8px;height:8px;background:var(--amber);box-shadow:0 0 8px var(--amber);animation:pulse 1s infinite}@keyframes pulse{0%{box-shadow:0 0 #ffb80080}70%{box-shadow:0 0 0 10px #ffb80000}to{box-shadow:0 0 #ffb80000}}.spinner{width:24px;height:24px;border:2px solid var(--border-dim);border-top-color:var(--green-primary);border-radius:50%;animation:spin .6s linear infinite}.spinner.small{width:14px;height:14px;border-width:1.5px}@keyframes spin{to{transform:rotate(360deg)}}.results-section:before{content:"┌─── DATA DUMP ───┐"}.result-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:20px}.result-stat{background:var(--bg-black);border:1px solid var(--border-dim);padding:14px;text-align:center}.result-stat-value{display:block;font-size:24px;color:var(--text-dim)}.result-stat-value.success{color:var(--green-primary);text-shadow:var(--glow-sm)}.result-stat-value.error{color:var(--red)}.result-stat-value.fill{color:var(--amber);text-shadow:0 0 6px rgba(255,184,0,.2)}.result-stat-label{font-size:9px;color:var(--text-comment);text-transform:uppercase;letter-spacing:.1em;margin-top:4px;display:block}.results-table-wrapper{overflow-x:auto;border:1px solid var(--border-dim);margin-bottom:16px;max-height:500px;overflow-y:auto}.results-table{width:max-content;min-width:100%;border-collapse:collapse;font-size:13px}.results-table thead{position:sticky;top:0;z-index:2;background:var(--bg-dark)}.results-table th{padding:8px 12px;color:var(--text-comment);font-size:11px;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border-green);white-space:nowrap;text-align:left;font-weight:400}.results-table td{padding:6px 12px;border-bottom:1px solid rgba(26,42,26,.3);max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.results-table tr:hover{background:#00ff4105}.results-table .sticky-col{position:sticky;left:0;z-index:1;background:var(--bg-panel)}.results-table thead .sticky-col{background:var(--bg-dark);z-index:3}.results-table td.filled{color:var(--green-primary)}.results-table td.empty{color:var(--text-comment)}.results-table .error-row{background:#ff333308}.cell-content{display:block;max-width:200px;overflow:hidden;text-overflow:ellipsis}.app-footer{text-align:center;padding:16px;border-top:1px solid var(--border-dim);font-size:10px;color:var(--text-comment);letter-spacing:.1em}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:var(--bg-black)}::-webkit-scrollbar-thumb{background:var(--green-dark)}::-webkit-scrollbar-thumb:hover{background:var(--green-dim)}@media(max-width:640px){.stats-row,.result-stats{grid-template-columns:repeat(2,1fr)}.header-badge,.step-label{display:none}.step-line{width:16px}.user-badge{flex-direction:column;gap:4px}}.auth-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:14px;color:var(--green-primary);text-shadow:var(--glow-sm);animation:blink 1.5s infinite}.auth-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px}.auth-container{width:100%;max-width:420px;background:var(--bg-panel);border:1px solid var(--border-green);padding:30px;position:relative;animation:bootUp .5s ease}.auth-container:before{content:"┌─── ACCESS CONTROL ───┐";position:absolute;top:-1px;left:16px;background:var(--bg-panel);color:var(--text-comment);font-size:12px;padding:0 6px;letter-spacing:.1em}.auth-header{text-align:center;margin-bottom:24px}.auth-ascii{font-size:12px;color:var(--green-primary);text-shadow:var(--glow-sm);line-height:1.4}.auth-mode-toggle{display:flex;gap:0;margin-bottom:20px;border:1px solid var(--border-dim)}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-field{display:flex;flex-direction:column;gap:4px}.auth-label{font-size:13px;color:var(--text-dim);letter-spacing:.08em}.auth-input{padding:10px 12px;background:var(--bg-black);border:1px solid var(--border-dim);color:var(--green-primary);font-family:var(--font-mono);font-size:14px;outline:none;transition:border .2s}.auth-input:focus{border-color:var(--green-dim);box-shadow:inset 0 0 10px #00ff4108}.auth-input::placeholder{color:var(--text-comment)}.auth-input:disabled{opacity:.5}.auth-error{padding:10px 12px;background:#ff33330d;border:1px solid var(--red-dim);color:var(--red);font-size:13px;line-height:1.4}.auth-success{padding:10px 12px;background:#00ff4108;border:1px solid var(--green-dark);color:var(--green-primary);font-size:13px;line-height:1.4}.auth-submit{width:100%;justify-content:center;padding:12px;font-size:14px;margin-top:4px}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.auth-notice{margin-top:16px;padding:10px 12px;border:1px solid var(--border-dim);font-size:13px;color:var(--text-dim);line-height:1.6}.user-badge{display:flex;align-items:center;gap:8px;font-size:13px}.user-email{color:var(--text-dim);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-tier{padding:2px 6px;border:1px solid var(--border-dim);font-size:12px;letter-spacing:.08em}.tier-free{color:var(--text-dim);border-color:var(--border-dim)}.tier-paid{color:var(--amber);border-color:var(--amber-dim);text-shadow:0 0 4px rgba(255,184,0,.3)}.user-usage{color:var(--green-dim);font-size:13px}.user-logout{background:none;border:1px solid var(--border-dim);color:var(--text-comment);font-family:var(--font-mono);font-size:12px;padding:3px 8px;cursor:pointer;transition:all .2s}.user-logout:hover{border-color:var(--red-dim);color:var(--red)}.verify-info{padding:16px 0;line-height:1.8}.verify-email{font-size:14px;color:var(--text-dim)}.verify-email strong{color:var(--amber);text-shadow:0 0 4px rgba(255,184,0,.2)}.verify-desc{font-size:13px;color:var(--text-comment)}.verify-spinner{display:flex;align-items:center;gap:10px;margin-top:16px;padding:10px 12px;border:1px solid var(--border-green);background:#00ff4105;font-size:14px;color:var(--green-dim)}.verify-actions{display:flex;flex-direction:column;gap:8px;margin-top:16px}.verify-actions .btn{width:100%;justify-content:center}.verify-code-input{font-size:28px!important;letter-spacing:12px;text-align:center;padding:16px!important;color:var(--amber)!important;text-shadow:0 0 8px rgba(255,184,0,.3)}.verify-code-input::placeholder{letter-spacing:12px;color:var(--text-comment)!important}
