.fx-aurora{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;contain:strict}.aurora-blob{position:absolute;width:62vw;height:62vw;max-width:920px;max-height:920px;border-radius:50%;filter:blur(84px);opacity:.52;will-change:transform;transform:translateZ(0)}.aurora-blob--green{top:-20%;left:-12%;background:radial-gradient(circle at 32% 32%,rgba(52,211,153,.52),rgba(16,185,129,.16) 46%,transparent 72%);animation:auroraDriftA 27s ease-in-out infinite alternate}.aurora-blob--gold{top:-8%;right:-18%;width:48vw;height:48vw;background:radial-gradient(circle at 55% 45%,rgba(251,191,36,.3),rgba(217,119,6,.1) 45%,transparent 72%);animation:auroraDriftB 32s ease-in-out infinite alternate}.aurora-blob--violet{bottom:-26%;left:8%;width:54vw;height:54vw;opacity:.4;background:radial-gradient(circle at 50% 50%,rgba(139,92,246,.32),rgba(99,102,241,.1) 48%,transparent 74%);animation:auroraDriftC 36s ease-in-out infinite alternate}.aurora-blob--cyan{bottom:-14%;right:-6%;width:38vw;height:38vw;opacity:.34;background:radial-gradient(circle at 50% 50%,rgba(34,211,238,.24),rgba(8,145,178,.08) 48%,transparent 72%);animation:auroraDriftD 29s ease-in-out infinite alternate}.aurora-veil{position:absolute;inset:0;background:radial-gradient(58% 46% at 50% -4%,rgba(52,211,153,.09),transparent 70%),radial-gradient(46% 38% at 82% 26%,rgba(251,191,36,.05),transparent 72%),radial-gradient(50% 42% at 12% 72%,rgba(139,92,246,.05),transparent 70%)}.aurora-vignette{position:absolute;inset:0;background:radial-gradient(130% 95% at 50% 22%,transparent 34%,rgba(5,6,11,.6) 82%,#05060b 100%),linear-gradient(180deg,transparent 60%,rgba(5,6,11,.6) 100%)}@keyframes auroraDriftA{0%{transform:translate3d(-4%,-2%,0) scale(1) rotate(0)}50%{transform:translate3d(7%,5%,0) scale(1.14) rotate(14deg)}to{transform:translate3d(-2%,9%,0) scale(1.04) rotate(-10deg)}}@keyframes auroraDriftB{0%{transform:translate3d(3%,-4%,0) scale(1.02) rotate(-8deg)}50%{transform:translate3d(-8%,6%,0) scale(1.16) rotate(10deg)}to{transform:translate3d(4%,3%,0) scale(.98) rotate(4deg)}}@keyframes auroraDriftC{0%{transform:translate3d(-3%,4%,0) scale(1.04) rotate(6deg)}50%{transform:translate3d(9%,-5%,0) scale(1.13) rotate(-12deg)}to{transform:translate3d(-6%,-2%,0) scale(1) rotate(2deg)}}@keyframes auroraDriftD{0%{transform:translate3d(2%,5%,0) scale(1) rotate(0)}50%{transform:translate3d(-6%,-6%,0) scale(1.18) rotate(16deg)}to{transform:translate3d(5%,-3%,0) scale(1.05) rotate(-6deg)}}.fx-grid{position:fixed;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.032) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.032) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 72% 62% at 50% 20%,#000 0%,rgba(0,0,0,.5) 46%,transparent 78%);mask-image:radial-gradient(ellipse 72% 62% at 50% 20%,#000 0%,rgba(0,0,0,.5) 46%,transparent 78%);opacity:.62}.fx-noise{position:fixed;inset:0;z-index:2;pointer-events:none;opacity:.048;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");background-size:180px 180px}.fx-particles{position:fixed;inset:0;z-index:1;width:100%;height:100%;pointer-events:none;opacity:.85}.fx-cursor-glow{position:fixed;top:0;left:0;z-index:1;width:520px;height:520px;border-radius:50%;pointer-events:none;opacity:0;background:radial-gradient(circle,rgba(52,211,153,.11) 0%,rgba(52,211,153,.05) 34%,rgba(139,92,246,.03) 52%,transparent 70%);transition:opacity .55s ease;will-change:transform}.fx-cursor-glow.is-visible{opacity:1}.fx-scroll-progress{position:fixed;top:0;left:0;right:0;z-index:130;height:3px;transform-origin:0 50%;background:linear-gradient(90deg,#34d399,#fbbf24 42%,#fb7185 74%,#22d3ee);box-shadow:0 0 18px #34d39973;pointer-events:none}@media(max-width:720px){.aurora-blob{filter:blur(58px);opacity:.42}.fx-grid{background-size:44px 44px;opacity:.5}.fx-noise{opacity:.036}.fx-cursor-glow{display:none}}@media(prefers-reduced-motion:reduce){.aurora-blob,.fx-particles,.fx-cursor-glow,.fx-scroll-progress{animation:none!important}.fx-particles,.fx-cursor-glow{display:none}}:root{--bg: #05060b;--bg-soft: #0a0c14;--panel: rgba(255, 255, 255, .045);--panel-strong: rgba(255, 255, 255, .075);--line: rgba(255, 255, 255, .09);--line-strong: rgba(255, 255, 255, .16);--text: #f5f7fb;--text-soft: #c3c9d6;--muted: #8b93a7;--green: #34d399;--green-deep: #059669;--gold: #fbbf24;--gold-deep: #d97706;--red: #fb7185;--violet: #8b5cf6;--cyan: #22d3ee;--accent-gradient: linear-gradient(115deg, #34d399 0%, #fbbf24 48%, #fb7185 100%);--radius-sm: 12px;--radius: 20px;--radius-lg: 28px;--shadow-soft: 0 24px 80px -32px rgba(0, 0, 0, .75);--font-display: "Space Grotesk", "Inter", system-ui, sans-serif;--font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, monospace;--font-ethiopic: "Noto Sans Ethiopic", "Nyala", "Abyssinica SIL", sans-serif;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}h1,h2,h3,h4,p{margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}img{max-width:100%;display:block}::selection{background:#fbbf2447;color:#fff}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff24;border-radius:999px;border:3px solid var(--bg)}:focus-visible{outline:2px solid rgba(251,191,36,.75);outline-offset:3px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.app-shell{position:relative;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}html[lang=am]{--font-body: var(--font-ethiopic);--font-display: var(--font-ethiopic)}html[lang=am] body{line-height:1.62}.skip-link{position:fixed;top:-60px;left:16px;z-index:500;padding:10px 16px;border-radius:0 0 12px 12px;background:#0c1220;border:1px solid var(--line-strong);color:var(--text);font-size:13px;transition:top .2s ease}.skip-link:focus-visible{top:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}body.has-overlay{overflow:hidden}.app-header{position:sticky;top:0;z-index:90;background:linear-gradient(180deg,#06070deb,#06070d9e);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;width:min(1120px,calc(100% - 56px));margin:0 auto;min-height:62px;padding:9px 0}.brand{display:inline-flex;align-items:center;gap:10px;border-radius:12px;color:var(--text)}.brand:hover .brand-mark{border-color:#34d3998c;box-shadow:0 0 0 4px #34d3991a,0 10px 24px -14px #34d399b3}.brand-mark{display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:10px;border:1px solid var(--line-strong);background:linear-gradient(150deg,#34d3993d,#fbbf241f 55%,#8b5cf629),#ffffff0a;color:#d7fbe9;box-shadow:inset 0 1px #ffffff29;transition:border-color .25s ease,box-shadow .25s ease}.brand-mark svg{width:19px;height:19px}.brand-name{font-family:var(--font-display);font-size:16px;font-weight:600;letter-spacing:-.01em;white-space:nowrap}.lang-toggle{display:inline-flex;position:relative;align-items:center;gap:2px;padding:4px;border-radius:999px;border:1px solid var(--line-strong);background:#ffffff0b;box-shadow:inset 0 1px #ffffff12,0 12px 28px -22px #000000e6}.lang-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:12.5px;font-weight:600;letter-spacing:.01em;white-space:nowrap;transition:color .2s ease}.lang-btn:hover{color:var(--text-soft)}.lang-btn.is-active{color:#062019}.lang-btn--am .lang-label{font-family:var(--font-ethiopic);font-size:13px}.lang-pill{position:absolute;inset:0;border-radius:999px;background:linear-gradient(115deg,#34d399,#6ee7b7 55%,#fbbf24 130%);box-shadow:0 8px 20px -10px #34d399d9,inset 0 1px #ffffff73}.lang-label{position:relative;z-index:1}.app-main{position:relative;z-index:3;flex:1;padding:36px 0 56px}.app-container{width:min(1120px,calc(100% - 56px));margin:0 auto}.intro{margin:0 0 22px;animation:riseIn .55s cubic-bezier(.22,.8,.24,1) both}.intro-title{position:relative;font-family:var(--font-display);font-size:clamp(25px,3vw,33px);font-weight:600;letter-spacing:-.025em;line-height:1.15;color:var(--text)}.intro-title:before{content:"";position:absolute;left:0;top:-13px;width:34px;height:2px;border-radius:999px;background:var(--accent-gradient);box-shadow:0 0 14px #34d3998c}.intro-sub{margin-top:7px;max-width:62ch;color:var(--muted);font-size:14.5px}@keyframes riseIn{0%{opacity:0;transform:translate3d(0,14px,0)}to{opacity:1;transform:translateZ(0)}}.glass{position:relative;border-radius:26px;border:1px solid var(--line-strong);background:linear-gradient(158deg,#ffffff13,#ffffff07 46%,#ffffff0d),#080a11b8;box-shadow:0 36px 100px -44px #000000e6,inset 0 1px #ffffff14;-webkit-backdrop-filter:blur(22px) saturate(135%);backdrop-filter:blur(22px) saturate(135%)}.panel-sheen{position:absolute;top:0;left:8%;right:8%;height:1px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(52,211,153,.55) 28%,rgba(251,191,36,.4) 62%,transparent);pointer-events:none}.tool-panel,.results-panel{overflow:hidden;animation:riseIn .6s cubic-bezier(.22,.8,.24,1) both}.tool-body{display:flex;flex-direction:column;gap:24px;padding:28px 30px 30px}.tool-section{display:flex;flex-direction:column;gap:13px}.section-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.section-num{display:inline-flex;align-items:center;justify-content:center;min-width:26px;padding:2px 7px;border-radius:999px;border:1px solid var(--line);background:#ffffff08;color:var(--muted);font-family:var(--font-mono);font-size:10px;letter-spacing:.1em}.section-title{font-family:var(--font-display);font-size:16.5px;font-weight:600;letter-spacing:-.01em;color:var(--text)}.section-hint{display:flex;align-items:flex-start;gap:6px;margin:0;color:var(--muted);font-size:12.5px;line-height:1.5}.section-hint svg{flex:none;margin-top:2px;opacity:.8}.tool-divider{height:1px;background:linear-gradient(90deg,transparent,var(--line-strong) 18%,var(--line-strong) 82%,transparent);opacity:.75}.field-row{display:grid;grid-template-columns:1.55fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field-label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}.field-label svg{opacity:.75}.field-shell{position:relative;display:flex;align-items:center;border-radius:14px;border:1px solid var(--line);background:#04060b85;transition:border-color .22s ease,box-shadow .22s ease,background .22s ease}.field-shell:hover{border-color:var(--line-strong)}.field-shell:focus-within{border-color:#34d3998c;background:#04060bb3;box-shadow:0 0 0 4px #34d3991a,0 14px 34px -24px #34d399cc}.field-input{width:100%;min-width:0;padding:12px 15px;border:0;outline:0;background:transparent;color:var(--text);font-size:14.5px}.field-input::placeholder{color:#8b93a7a8}.field-input--mono{font-family:var(--font-mono);font-size:13px;letter-spacing:.03em}.irn-box{position:relative;border-radius:18px;border:1px solid var(--line);background:#04060b80;overflow:hidden;transition:border-color .22s ease,box-shadow .22s ease}.irn-box:hover{border-color:var(--line-strong)}.irn-box:focus-within{border-color:#34d39980;box-shadow:0 0 0 4px #34d39914,0 20px 44px -32px #34d399b3}.irn-textarea{display:block;width:100%;min-height:124px;max-height:320px;resize:vertical;padding:15px 17px;border:0;outline:0;background:transparent;color:var(--text);font-family:var(--font-mono);font-size:12.5px;line-height:1.75;letter-spacing:.01em;tab-size:2}.irn-textarea::placeholder{color:#8b93a79e;line-height:1.75}.irn-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 12px;border-top:1px dashed var(--line);background:#ffffff05}.parse-chips{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.parse-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;border:1px solid transparent;font-size:11.5px;line-height:1.35;white-space:nowrap;transition:color .2s ease,border-color .2s ease,background .2s ease}.parse-chip b{font-family:var(--font-mono);font-weight:600}.parse-chip--valid{color:var(--green);border-color:#34d3994d;background:#34d39917}.parse-chip--dupe{color:var(--gold);border-color:#fbbf244d;background:#fbbf2414}.parse-chip--invalid{color:var(--red);border-color:#fb71854d;background:#fb718514}.parse-chip.is-empty{color:var(--muted);border-color:var(--line);background:#ffffff06}.irn-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tool-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:10px;border:1px solid var(--line);background:#ffffff0a;color:var(--text-soft);font-size:12px;font-weight:500;white-space:nowrap;transition:color .18s ease,border-color .18s ease,background .18s ease}.tool-btn:hover:not(:disabled){color:var(--text);border-color:var(--line-strong);background:#ffffff13}.tool-btn:disabled{opacity:.45;cursor:not-allowed}.tool-btn.is-ok{color:var(--green);border-color:#34d39959;background:#34d3991a}.columns-section{border-radius:18px;border:1px solid var(--line);background:#ffffff06;overflow:hidden;transition:border-color .22s ease}.columns-section:hover{border-color:var(--line-strong)}.accordion-trigger{display:flex;align-items:center;gap:10px;width:100%;padding:14px 16px;border:0;background:transparent;color:var(--text);text-align:left;transition:background .18s ease}.accordion-trigger:hover{background:#ffffff09}.accordion-icon{color:var(--muted);flex:none}.accordion-title{font-family:var(--font-display);font-size:15px;font-weight:600;letter-spacing:-.01em}.accordion-meta{display:inline-flex;align-items:center;gap:10px;margin-left:auto}.accordion-count{color:var(--muted);font-family:var(--font-mono);font-size:11px;white-space:nowrap}.accordion-chevron{color:var(--muted);flex:none;transition:transform .3s cubic-bezier(.22,.8,.24,1)}.accordion-trigger[aria-expanded=true]{background:#ffffff08}.accordion-trigger[aria-expanded=true] .accordion-chevron{transform:rotate(180deg)}.accordion-body{overflow:hidden;border-top:1px dashed var(--line);padding:0 16px 16px}.col-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px 22px;padding-top:16px}.col-group{display:flex;flex-direction:column;gap:9px;min-width:0}.col-group-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.col-group-title{color:var(--text-soft);font-size:11.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase}.col-group-count{color:var(--muted);font-family:var(--font-mono);font-size:10.5px}.col-chips{display:flex;flex-wrap:wrap;gap:7px}.col-chip{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border-radius:999px;border:1px solid var(--line);background:#ffffff08;color:var(--text-soft);font-size:11.5px;font-weight:500;white-space:nowrap;transition:color .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.col-chip:hover{color:var(--text);border-color:var(--line-strong)}.col-chip.is-on{color:#04221a;border-color:transparent;background:linear-gradient(120deg,#34d399,#6ee7b7 70%,#a7f3d0);font-weight:600;box-shadow:0 8px 20px -12px #34d399e6}.col-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px dashed var(--line)}.col-action-buttons{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tool-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:20px 30px 24px;border-top:1px solid var(--line);background:#04060b47}.action-status{display:flex;flex-direction:column;gap:3px;min-width:0}.action-status-line{color:var(--text-soft);font-size:13px;font-weight:500}.action-buttons{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:999px;font-weight:600;letter-spacing:.005em;white-space:nowrap;overflow:hidden;transition:box-shadow .25s ease,background .25s ease,border-color .25s ease,color .25s ease}.btn-content{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px}.btn--sm{padding:8px 13px;font-size:12.5px}.btn--md{padding:11px 18px;font-size:13.5px}.btn--lg{padding:13px 22px;font-size:14.5px}.btn--full{width:100%}.btn--primary{background:linear-gradient(115deg,#34d399,#10b981 46%,#34d399);color:#04211a;box-shadow:0 20px 44px -18px #10b981b3,inset 0 1px #ffffff80}.btn--primary:hover:not(:disabled){box-shadow:0 24px 54px -16px #10b981d9,inset 0 1px #ffffff8c}.btn--secondary{background:#fff1;border-color:var(--line-strong);color:var(--text)}.btn--secondary:hover:not(:disabled){background:#ffffff1a}.btn--ghost{background:#ffffff05;border-color:var(--line);color:var(--text-soft)}.btn--ghost:hover:not(:disabled){color:var(--text);border-color:var(--line-strong);background:#ffffff0d}.btn--danger{background:#fb71851f;border-color:#fb718561;color:#ffb3c0}.btn--danger:hover:not(:disabled){background:#fb71852e;border-color:#fb718599}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-shine{position:absolute;inset:0;z-index:0;background:linear-gradient(110deg,transparent 32%,rgba(255,255,255,.4) 48%,rgba(255,255,255,.15) 54%,transparent 66%);transform:translate3d(-130%,0,0);transition:transform .75s cubic-bezier(.22,.8,.24,1);pointer-events:none}.btn--primary:hover .btn-shine{transform:translate3d(130%,0,0)}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.fetch-progress{overflow:hidden;border-top:1px dashed var(--line);background:#04060b3d}.fetch-progress-inner{padding:14px 30px 18px}.fetch-progress-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.fetch-progress-label{display:inline-flex;align-items:center;gap:7px;color:var(--text-soft);font-size:12.5px}.fetch-progress-pct{color:var(--green);font-family:var(--font-mono);font-size:12px}.fetch-progress-track{position:relative;height:6px;border-radius:999px;background:#ffffff12;overflow:hidden}.fetch-progress-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#34d399,#fbbf24);box-shadow:0 0 16px #34d399a6}.error-banner{display:flex;align-items:center;gap:11px;overflow:hidden;margin-bottom:18px;padding:11px 14px;border-radius:16px;border:1px solid rgba(251,113,133,.34);background:linear-gradient(120deg,#fb718529,#fb71850d);color:#ffdbe2}.error-banner-icon{flex:none;color:var(--red)}.error-banner-text{flex:1;min-width:0;margin:0;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.error-banner-close{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:9px;border:1px solid transparent;background:transparent;color:#ffdbe2;transition:background .18s ease,border-color .18s ease}.error-banner-close:hover{background:#ffffff17;border-color:#ffffff24}.results-panel{margin-top:26px}.results-body{display:flex;flex-direction:column;gap:20px;min-width:0;padding:26px 30px 30px}.results-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.results-head-copy{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.results-title{font-family:var(--font-display);font-size:20px;font-weight:600;letter-spacing:-.015em}.results-count{padding:3px 10px;border-radius:999px;border:1px solid var(--line);background:#ffffff09;color:var(--muted);font-size:11.5px;white-space:nowrap}.results-tag{padding:4px 10px;border-radius:8px;border:1px solid rgba(34,211,238,.24);background:#22d3ee12;color:var(--cyan);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em}.summary-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:6px;padding:14px;border-radius:18px;border:1px solid var(--line);background:linear-gradient(150deg,#ffffff0c,#ffffff05),#04060b4d}.summary-cell{display:flex;flex-direction:column;gap:4px;min-width:0;padding:6px 10px;border-radius:12px}.summary-cell+.summary-cell{border-left:1px solid var(--line)}.summary-label{color:var(--muted);font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.summary-value{display:inline-flex;align-items:baseline;gap:4px;min-width:0;color:var(--text);font-family:var(--font-display);font-size:clamp(15px,1.55vw,19px);font-weight:600;letter-spacing:-.015em;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.summary-cell.is-total .summary-value{background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.summary-currency{font-family:var(--font-mono);font-size:9.5px;font-style:normal;letter-spacing:.06em;color:var(--muted)}.export-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.export-action{display:flex;align-items:center;gap:12px;padding:13px 16px;border-radius:16px;border:1px solid var(--line);background:linear-gradient(150deg,#ffffff0e,#ffffff05),#04060b52;color:var(--text);text-align:left;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.export-action:hover:not(:disabled){border-color:#34d39966;box-shadow:0 18px 40px -28px #34d399d9;background:linear-gradient(150deg,#34d3991a,#ffffff08),#04060b61}.export-action:disabled{opacity:.55;cursor:not-allowed}.export-action-icon{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:12px;border:1px solid var(--line-strong);background:#ffffff0d;color:var(--green)}.export-action-copy{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.export-action-label{font-family:var(--font-display);font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.export-action-hint{color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.export-action-arrow{flex:none;color:var(--muted);transition:color .2s ease}.export-action:hover:not(:disabled) .export-action-arrow{color:var(--green)}.invoice-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:12px}.invoice-card{position:relative;display:flex;flex-direction:column;gap:12px;min-width:0;padding:17px 17px 15px;border-radius:18px;border:1px solid var(--line);background:linear-gradient(165deg,#ffffff0e,#ffffff05 58%),#04060b42;transition:border-color .22s ease,box-shadow .22s ease}.invoice-card:hover{border-color:var(--line-strong);box-shadow:0 24px 50px -34px #34d39980}.ic-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.ic-ident{display:flex;flex-direction:column;gap:2px;min-width:0}.ic-doc{font-family:var(--font-display);font-size:15px;font-weight:600;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ic-date{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:11.5px}.pill{display:inline-flex;align-items:center;gap:5px;flex:none;padding:4px 9px;border-radius:999px;border:1px solid transparent;font-size:11px;font-weight:600;white-space:nowrap}.pill--cash{color:var(--green);border-color:#34d3994d;background:#34d39917}.pill--credit{color:var(--gold);border-color:#fbbf244d;background:#fbbf2414}.ic-buyer{display:flex;flex-direction:column;gap:1px;min-width:0}.ic-buyer-name,.ic-irn{min-width:0}.ic-buyer-name{font-size:13.5px;font-weight:500;color:var(--text-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ic-tin{color:var(--muted);font-size:11px;letter-spacing:.04em;text-transform:uppercase}.ic-tin b{color:var(--text-soft);font-family:var(--font-mono);font-size:11.5px;font-weight:500;letter-spacing:.03em}.ic-irn{margin-top:3px;color:#8b93a7d1;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ic-meta{display:flex;flex-wrap:wrap;gap:5px}.ic-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:7px;border:1px solid var(--line);background:#ffffff07;color:var(--muted);font-size:10.5px;font-weight:500;white-space:nowrap}.ic-chip--excise{color:var(--gold);border-color:#fbbf2442;background:#fbbf2412}.ic-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:auto;padding-top:11px;border-top:1px solid var(--line)}.ic-total{display:flex;flex-direction:column;gap:0;min-width:0}.ic-total-label{color:var(--muted);font-size:9.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.ic-total-value{display:inline-flex;align-items:baseline;gap:4px;font-family:var(--font-display);font-size:17px;font-weight:600;letter-spacing:-.015em;font-variant-numeric:tabular-nums;white-space:nowrap}.ic-total-value small{color:var(--muted);font-family:var(--font-mono);font-size:9.5px;font-weight:500;letter-spacing:.05em}.ic-actions{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}.ic-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:9px;border:1px solid var(--line);background:#ffffff08;color:var(--text-soft);font-size:11px;font-weight:500;white-space:nowrap;transition:color .18s ease,border-color .18s ease,background .18s ease}.ic-btn:hover:not(:disabled){color:var(--text);border-color:var(--line-strong);background:#ffffff12}.ic-btn--accent{color:var(--green);border-color:#34d39947;background:#34d39912}.ic-btn--accent:hover:not(:disabled){color:#d1fae5;border-color:#34d39980;background:#34d39924}.ic-btn--danger{color:#ffb3c0d9;border-color:#fb718533;background:#fb71850f}.ic-btn--danger:hover:not(:disabled){color:#ffdbe2;border-color:#fb718573;background:#fb718521}.ic-btn:disabled{opacity:.45;cursor:not-allowed}.failures-panel{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border-radius:16px;border:1px solid rgba(251,113,133,.28);background:linear-gradient(140deg,#fb718517,#fb718508)}.failures-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.failures-title{display:inline-flex;align-items:center;gap:7px;color:#ffc2cc;font-family:var(--font-display);font-size:13.5px;font-weight:600}.failures-count{padding:1px 8px;border-radius:999px;border:1px solid rgba(251,113,133,.32);background:#fb71851f;color:var(--red);font-family:var(--font-mono);font-size:10.5px}.failure-list{display:flex;flex-direction:column;margin:0;padding:0;list-style:none;max-height:210px;overflow:auto}.failure-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:7px 0;border-top:1px dashed rgba(251,113,133,.18);font-size:12px}.failure-item:first-child{border-top:0}.failure-irn{max-width:100%;color:#ffb0be;font-family:var(--font-mono);font-size:10.5px;word-break:break-all}.failure-reason{color:var(--text-soft)}.results-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:38px 20px;text-align:center}.results-empty-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;border:1px solid var(--line);background:#ffffff09;color:var(--muted)}.results-empty-title{color:var(--text-soft);font-size:14px}.results-empty-hint{color:var(--muted);font-size:12.5px}.results-skeleton{display:flex;flex-direction:column;gap:12px}.skeleton-status{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:12.5px}.skeleton-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:12px}.skeleton-card{display:flex;flex-direction:column;gap:9px;padding:17px;border-radius:18px;border:1px solid var(--line);background:#ffffff06}.sk-line,.sk-block{display:block;height:9px;border-radius:999px;background:linear-gradient(90deg,#ffffff0e,#ffffff24,#ffffff0e);background-size:220% 100%;animation:skShimmer 1.6s ease-in-out infinite}.sk-line--wide{width:58%;height:11px}.sk-line--short{width:38%}.sk-block{width:100%;height:42px;margin-top:4px;border-radius:12px}@keyframes skShimmer{0%{background-position:120% 0}to{background-position:-120% 0}}.app-footer{position:relative;z-index:3;margin-top:auto;border-top:1px solid var(--line);background:#04060b52}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;width:min(1120px,calc(100% - 56px));margin:0 auto;padding:16px 0 22px}.footer-note{max-width:62ch;color:var(--muted);font-size:11.5px;line-height:1.55}.footer-badges{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.footer-badge{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:10.5px;font-weight:500;letter-spacing:.03em;white-space:nowrap}.footer-badge svg{color:#34d399b3}.toast-layer{position:fixed;z-index:400;top:78px;right:max(28px,calc((100vw - 1120px)/2));display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{display:flex;align-items:flex-start;gap:11px;width:min(350px,calc(100vw - 32px));padding:13px 14px;border-radius:16px;border:1px solid var(--line-strong);background:linear-gradient(158deg,#ffffff13,#ffffff05),#090c14eb;box-shadow:0 28px 70px -28px #000000f2;-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);pointer-events:auto}.toast--success{border-color:#34d39961}.toast--error{border-color:#fb71856b}.toast--info{border-color:#22d3ee57}.toast-icon{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:9px;background:#ffffff0e}.toast--success .toast-icon{color:var(--green)}.toast--error .toast-icon{color:var(--red)}.toast--info .toast-icon{color:var(--cyan)}.toast-copy{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.toast-title{color:var(--text);font-size:13px;font-weight:600;line-height:1.4}.toast-detail{color:var(--muted);font-size:11.5px;line-height:1.45;word-break:break-word}.toast-close{display:grid;place-items:center;flex:none;width:24px;height:24px;border-radius:7px;border:0;background:transparent;color:var(--muted);transition:background .18s ease,color .18s ease}.toast-close:hover{color:var(--text);background:#ffffff14}.modal-backdrop{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:24px;background:#030409bd;-webkit-backdrop-filter:blur(16px) saturate(125%);backdrop-filter:blur(16px) saturate(125%)}.modal-panel{display:flex;flex-direction:column;width:min(1040px,100%);height:92vh;max-height:92vh;border-radius:24px;border:1px solid var(--line-strong);background:linear-gradient(158deg,#ffffff12,#ffffff05 52%),#090b12f0;box-shadow:0 50px 130px -40px #000000f2,inset 0 1px #ffffff17;overflow:hidden}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:16px 20px 13px;border-bottom:1px solid var(--line)}.modal-head-copy{min-width:0}.modal-title{font-family:var(--font-display);font-size:17.5px;font-weight:600;letter-spacing:-.01em}.modal-sub{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:3px;color:var(--muted);font-size:11.5px}.modal-doc{color:var(--text-soft);font-family:var(--font-mono);font-size:11px}.modal-dot{opacity:.55}.modal-close{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:10px;border:1px solid var(--line);background:#ffffff0b;color:var(--text-soft);transition:color .18s ease,border-color .18s ease,background .18s ease}.modal-close:hover{color:var(--text);border-color:var(--line-strong);background:#ffffff17}.modal-body{display:flex;flex:1;min-height:0;padding:16px 20px}.preview-viewport{display:flex;align-items:flex-start;justify-content:center;flex:1;min-width:0;min-height:0;overflow:auto}.preview-sheet{position:relative;flex:none;overflow:hidden;border-radius:3px;background:#fff;box-shadow:0 34px 90px -30px #000000f2,0 0 0 1px #ffffff29}.preview-sheet-inner{transform-origin:top left;will-change:transform}.preview-frame{display:block;border:0;background:#fff}.preview-loading{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:20px;background:#f2f2ef;color:#5a6068;font-family:var(--font-body);font-size:12.5px;text-align:center}.modal-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:13px 20px;border-top:1px solid var(--line);background:#04060b4d}.modal-note{display:flex;flex-direction:column;gap:1px;max-width:48ch;color:var(--muted);font-size:11px;line-height:1.45}.modal-note span{color:#8b93a7b8;font-size:10.5px}.modal-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.export-overlay{position:fixed;inset:0;z-index:350;display:grid;place-items:center;padding:24px;background:#030409b3;-webkit-backdrop-filter:blur(12px) saturate(120%);backdrop-filter:blur(12px) saturate(120%)}.export-card{display:flex;flex-direction:column;align-items:center;gap:16px;width:min(360px,100%);padding:30px 26px 24px;border-radius:24px;border:1px solid var(--line-strong);background:linear-gradient(158deg,#ffffff14,#ffffff05 55%),#090b12f2;box-shadow:0 46px 120px -40px #000000f2,inset 0 1px #ffffff17;text-align:center}.export-ring-wrap{position:relative;width:120px;height:120px}.export-ring{display:block;transform:rotate(-90deg)}.export-ring-track{stroke:#ffffff14}.export-ring-fill{filter:drop-shadow(0 0 8px rgba(52,211,153,.55));transition:stroke-dashoffset .45s cubic-bezier(.22,.8,.24,1)}.export-pct{position:absolute;inset:0;display:grid;place-items:center;color:var(--text);font-family:var(--font-display);font-size:26px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.export-copy{display:flex;flex-direction:column;gap:4px}.export-title{background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;font-family:var(--font-display);font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.export-label{color:var(--text);font-size:14px}.export-hint{color:var(--muted);font-size:11.5px;line-height:1.5}@media(max-width:900px){.app-main{padding:28px 0 44px}.tool-body,.results-body{padding:22px 22px 24px}.tool-actions{padding:18px 22px 20px}.fetch-progress-inner{padding:12px 22px 16px}.invoice-list,.skeleton-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media(max-width:680px){.header-inner,.app-container,.footer-inner{width:calc(100% - 36px)}.header-inner{min-height:56px;padding:8px 0}.intro{margin-bottom:18px}.intro-sub{font-size:13.5px}.field-row{grid-template-columns:1fr}.tool-body,.results-body{padding:20px 16px 22px;gap:20px}.tool-actions{flex-direction:column;align-items:stretch;padding:16px 16px 20px;gap:14px}.action-status{order:2}.action-buttons{order:1;flex-direction:column;align-items:stretch}.action-buttons .btn{width:100%}.fetch-progress-inner{padding:12px 16px 16px}.irn-toolbar{justify-content:center}.irn-actions{width:100%;justify-content:flex-end}.summary-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:10px}.summary-cell{padding:6px 8px}.summary-cell+.summary-cell{border-left:0}.summary-cell:nth-child(3n+2),.summary-cell:nth-child(3n+3){border-left:1px solid var(--line)}.summary-cell:nth-child(n+4){border-top:1px solid var(--line)}.summary-value{font-size:16px}.export-actions{grid-template-columns:1fr}.invoice-list,.skeleton-grid{grid-template-columns:minmax(0,1fr)}.results-head{align-items:flex-start}.footer-inner{flex-direction:column;align-items:flex-start;gap:10px;padding:14px 0 20px}.toast-layer{inset:auto 16px 18px}.toast{width:100%}.modal-backdrop{padding:0;align-items:flex-end}.modal-panel{width:100%;height:94vh;max-height:94vh;border-radius:20px 20px 0 0}.modal-head,.modal-foot{padding-left:16px;padding-right:16px}.modal-body{padding:12px 16px}.modal-foot{flex-direction:column;align-items:stretch;gap:10px}.modal-actions{display:grid;grid-template-columns:1fr 1fr}.modal-actions .btn:last-child{grid-column:1 / -1}.export-card{padding:26px 20px 20px}}@media(max-width:420px){.header-inner{gap:8px}.brand-mark{width:29px;height:29px;border-radius:9px}.brand-name{font-size:15px}.lang-toggle{padding:3px}.lang-btn{padding:6px 8px;font-size:11.5px}.lang-btn--am .lang-label{font-size:12px}.parse-chip{font-size:10.5px;padding:3px 7px}.tool-btn{font-size:11.5px;padding:6px 9px}.ic-btn span{display:none}.ic-btn{padding:7px}.summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-cell:nth-child(3n+2),.summary-cell:nth-child(3n+3){border-left:0}.summary-cell:nth-child(2n+2){border-left:1px solid var(--line)}.summary-cell:nth-child(n+3){border-top:1px solid var(--line)}.summary-cell:nth-child(2){border-top:0}.accordion-trigger{flex-wrap:wrap;row-gap:4px}.accordion-meta{width:100%;justify-content:space-between;margin-left:36px}.col-actions{flex-direction:column;align-items:flex-start}.modal-actions{grid-template-columns:1fr}.modal-actions .btn:last-child{grid-column:auto}}@media(prefers-reduced-motion:reduce){.btn-shine,.intro,.tool-panel,.results-panel,.sk-line,.sk-block{animation:none!important;transition:none!important}.sk-line,.sk-block{background:#ffffff14}.preview-sheet-inner{will-change:auto}}@media print{.app-header,.app-footer,.fx-aurora,.fx-grid,.fx-noise,.fx-particles,.fx-cursor-glow,.toast-layer,.modal-backdrop,.export-overlay,.skip-link{display:none!important}}.results-anchor{scroll-margin-top:96px}.modal-panel{width:min(640px,100%)}
