:root{--brand:#278517;--brand-hover:#1f6c12;--brand-logo:#40ba21;--brand-tint:#eff9ec;--brand-border:#9fd392;--grid-vertical:#c5ccd4;color:#1d2433;font-synthesis:none;text-rendering:optimizelegibility;background:#f6f7f9;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#f6f7f9;min-width:320px}body{min-height:100vh;margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline-offset:2px;outline:3px solid #40ba214d}h1,h2,p{margin-top:0}h1{letter-spacing:-.035em;margin-bottom:.5rem;font-size:clamp(1.8rem,4vw,2.5rem);line-height:1.12}h2{margin-bottom:0;font-size:1.25rem}.muted,.subtitle{color:#667085}.eyebrow{color:var(--brand);letter-spacing:.11em;text-transform:uppercase;margin-bottom:.55rem;font-size:.72rem;font-weight:750}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-frame{min-height:100vh}.top-bar{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;border-bottom:1px solid #dfe3e8;justify-content:space-between;align-items:center;height:64px;padding:0 clamp(1rem,4vw,3rem);display:flex;position:sticky;top:0}.brand-link{border-radius:6px;align-items:center;display:inline-flex}.brand-logo{width:auto;height:38px;display:block}.top-actions{align-items:center;gap:.65rem;display:flex}.locale-switch{background:#f6f7f9;border:1px solid #d0d5dd;border-radius:8px;padding:3px;display:inline-flex}.locale-switch button{color:#667085;cursor:pointer;background:0 0;border:0;border-radius:5px;min-width:34px;min-height:32px;padding:0 .4rem;font-size:.72rem;font-weight:760}.locale-switch button[aria-pressed=true]{color:var(--brand);background:#fff;box-shadow:0 1px 3px #1018281f}.button-primary,.button-secondary,.icon-button{cursor:pointer;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;min-height:44px;padding:0 1rem;font-weight:680;text-decoration:none;transition:background-color .14s,border-color .14s,transform .14s;display:inline-flex}.button-primary,.button-secondary{gap:.48rem}.icon{flex:none}.button-primary{color:#fff;background:var(--brand)}.button-primary:hover{background:var(--brand-hover)}.button-secondary{color:#344054;background:#fff;border-color:#d0d5dd}.button-secondary:hover{background:#f9fafb;border-color:#98a2b3}.button-primary:active,.button-secondary:active{transform:translateY(1px)}button:disabled{opacity:.58;cursor:not-allowed}.upload-page,.job-page{place-items:center;min-height:calc(100vh - 64px);padding:clamp(1.25rem,5vw,4rem);display:grid}.upload-panel,.progress-panel,.state-panel{background:#fff;border:1px solid #dfe3e8;border-radius:12px;width:min(100%,680px);padding:clamp(1.4rem,4vw,2.5rem);box-shadow:0 18px 55px #10182812}.subtitle{margin-bottom:2rem;font-size:1.02rem}.drop-zone{text-align:center;cursor:pointer;background:#fbfcfd;border:1.5px dashed #98a2b3;border-radius:12px;place-content:center;justify-items:center;gap:.75rem;min-height:280px;padding:2rem;transition:border-color .14s,background-color .14s,box-shadow .14s;display:grid}.drop-zone:hover,.drop-zone.dragging{border-color:var(--brand-logo);background:var(--brand-tint);box-shadow:inset 0 0 0 1px #40ba2124}.drop-zone p{margin-bottom:0;font-size:1.1rem;font-weight:700}.drop-zone span{color:#667085;font-size:.9rem}.drop-zone button{min-height:44px;color:var(--brand);border:1px solid var(--brand-border);cursor:pointer;background:#fff;border-radius:9px;align-items:center;gap:.45rem;margin-top:.35rem;padding:0 1rem;font-weight:680;display:inline-flex}.selected-file{gap:.25rem;display:grid}.selected-file strong{overflow-wrap:anywhere}.upload-actions{justify-content:flex-end;gap:.75rem;margin-top:1.25rem;display:flex}.inline-error{color:#c43232;margin:1rem 0 0;font-weight:600}.progress-panel h1{overflow-wrap:anywhere}.progress-status{color:#475467;justify-content:space-between;gap:1rem;margin:2rem 0 .65rem;display:flex}.progress-status strong{color:#1d2433}.progress-track{background:#eaecf0;border-radius:99px;height:8px;overflow:hidden}.progress-track:after{content:"";border-radius:inherit;background:var(--brand-logo);height:100%;display:block}.progress-track.is-queued:after{width:10%}.progress-track.is-indeterminate:after{width:34%;animation:1.35s ease-in-out infinite progress-slide}.job-id{color:#98a2b3;overflow-wrap:anywhere;margin:1rem 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.74rem}.connection-notice{z-index:15;color:#344054;background:#fff;border:1px solid #d0d5dd;border-radius:8px;margin:0;padding:.65rem .9rem;position:fixed;bottom:1rem;left:50%;transform:translate(-50%);box-shadow:0 8px 28px #10182824}.state-panel{text-align:center}.state-panel p{color:#667085}.state-panel .button-primary{margin-top:.5rem}.results-page{width:min(100%,1504px);margin:0 auto;padding:clamp(1.25rem,3vw,3rem)}.results-header{justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:1.5rem;display:flex}.results-header h1{overflow-wrap:anywhere;max-width:820px}.results-header p:last-child{color:#667085;margin-bottom:0}.results-actions{flex:none;gap:.75rem;display:flex}.table-tabs{scrollbar-width:thin;align-items:stretch;gap:.75rem;padding:0 0 .75rem;display:flex;overflow-x:auto}.page-tab-group{background:#fff;border:1px solid #dfe3e8;border-radius:10px;flex:none;min-width:148px;padding:.55rem}.page-label{color:#667085;letter-spacing:.03em;text-transform:uppercase;align-items:center;gap:.35rem;padding:.1rem .35rem .45rem;font-size:.72rem;font-weight:720;display:flex}.page-table-tabs{gap:.3rem;display:flex}.page-table-tabs button{color:#667085;cursor:pointer;background:#f6f7f9;border:1px solid #0000;border-radius:7px;flex:none;align-items:center;gap:.35rem;min-height:36px;padding:0 .65rem;font-size:.82rem;font-weight:650;display:inline-flex}.page-table-tabs button:hover{color:#344054;background:#eef1f5}.page-table-tabs button[aria-selected=true]{color:var(--brand);border-color:var(--brand-border);background:var(--brand-tint)}.document-details{color:#667085;margin:.65rem 0}.document-details summary{cursor:pointer;border-radius:7px;align-items:center;gap:.4rem;width:fit-content;min-height:36px;padding:0 .65rem;font-size:.82rem;font-weight:680;list-style:none;display:flex}.document-details summary::-webkit-details-marker{display:none}.document-details summary:before{content:"›";font-size:1.15rem;transition:transform .12s}.document-details[open] summary:before{transform:rotate(90deg)}.document-details summary:hover{color:#344054;background:#eef1f5}.region-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:.75rem;margin-top:.55rem;display:grid}.region-card{background:#fff;border:1px solid #dfe3e8;border-radius:10px;overflow:hidden}.region-card-header{background:#f8fafc;border-bottom:1px solid #eaecf0;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem .8rem;display:flex}.region-card-header div{flex-direction:column;gap:.1rem;display:flex}.region-card-header strong{color:#344054;font-size:.84rem}.region-card-header span{color:#98a2b3;font-size:.7rem}.region-copy{min-height:30px;color:var(--brand);border:1px solid var(--brand-border);cursor:pointer;background:#fff;border-radius:7px;align-items:center;gap:.3rem;padding:0 .55rem;font-size:.72rem;font-weight:680;display:inline-flex}.region-copy:hover{background:var(--brand-tint)}.region-lines{padding:.25rem .8rem}.region-caption{color:#344054;border-bottom:1px solid #eef1f4;flex-direction:column;gap:.25rem;padding:.6rem 0;font-size:.8rem;font-weight:650;display:flex}.region-line{color:#475467;flex-wrap:wrap;gap:.35rem 1.25rem;padding:.55rem 0;font-size:.82rem;display:flex}.region-line+.region-line{border-top:1px solid #eef1f4}.region-line span{overflow-wrap:anywhere;white-space:pre-wrap;flex:120px}.table-meta{color:#667085;justify-content:flex-end;align-items:center;gap:.65rem;min-height:32px;margin-top:.55rem;font-size:.82rem;display:flex}.table-workspace{background:#fff;border:1px solid #c8d0d8;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px #10182814,0 1px 3px #10182814}.table-caption{color:#475467;background:#fcfcfd;border-bottom:1px solid #eaecf0;margin:0;padding:.75rem 1rem}.warning-badge,.status-badge{text-transform:capitalize;border-radius:99px;align-items:center;min-height:24px;padding:0 .55rem;font-size:.72rem;font-weight:750;display:inline-flex}.warning-badge{background:#fff4e5;color:#854a0e!important}.table-scroller{min-height:220px;max-height:calc(100vh - 300px);overflow:auto}.data-table{border-spacing:0;table-layout:fixed;width:max-content;min-width:100%}.data-table th,.data-table td{color:#344054;text-align:left;vertical-align:top;white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;border-bottom:1px solid #dfe3e8;padding:.72rem .8rem;position:relative}.data-table .grid-cell{border-right:1px solid var(--grid-vertical)}.data-table th{color:#245c19;border-bottom:2px solid var(--brand-border);background:var(--brand-tint);font-weight:760}.data-table td.row-spanning-cell{color:#475467;vertical-align:middle;background:#f8fafc;font-weight:680}.data-table tr:hover td{background:#fafbff}.copy-control{color:#fff;white-space:nowrap;cursor:pointer;opacity:0;visibility:hidden;background:#1d2433;border:0;border-radius:7px;align-items:center;gap:.35rem;min-height:32px;padding:0 .55rem;font-size:.72rem;font-weight:680;transition:opacity .1s,transform .1s;display:inline-flex;box-shadow:0 4px 12px #1018282e}.cell-copy{z-index:3;position:absolute;top:.35rem;right:.35rem;transform:translateY(-3px)}.data-table th:hover .cell-copy,.data-table td:hover .cell-copy,.cell-copy:focus-visible,.data-table th:focus-within .cell-copy,.data-table td:focus-within .cell-copy{opacity:1;visibility:visible;transform:translateY(0)}.row-copy-cell{z-index:4;width:0;right:0;background:0 0!important;border:0!important;padding:0!important;position:sticky!important}.row-copy{position:absolute;top:50%;right:.5rem;transform:translateY(-50%)translate(3px)}.data-table tr:hover .row-copy,.row-copy:focus-visible,.data-table tr:focus-within .row-copy{opacity:1;visibility:visible;transform:translateY(-50%)translate(0)}.column-resizer{z-index:2;cursor:col-resize;touch-action:none;background:0 0;border:0;width:10px;height:100%;padding:0;position:absolute;top:0;right:-5px}.column-resizer:after{content:"";background:0 0;border-radius:2px;width:2px;position:absolute;top:20%;bottom:20%;left:4px}.column-resizer:hover:after,.column-resizer:focus-visible:after{background:var(--brand-logo)}.toast{z-index:50;border-radius:9px;max-width:360px;padding:.75rem 1rem;position:fixed;bottom:1rem;right:1rem;box-shadow:0 12px 32px #10182833}.toast-error{color:#fff;background:#c43232}.drawer-layer{z-index:40;position:fixed;inset:0}.drawer-scrim{cursor:default;background:#10182861;border:0;width:100%;height:100%;padding:0;animation:.14s ease-out fade-in;position:absolute;inset:0}.history-drawer{background:#fff;border-left:1px solid #dfe3e8;width:min(400px,100%);height:100%;padding:1.25rem;animation:.18s ease-out drawer-in;position:absolute;top:0;right:0;overflow-y:auto;box-shadow:-20px 0 55px #10182824}.drawer-header{border-bottom:1px solid #eaecf0;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1rem;display:flex}.icon-button{color:#475467;background:#fff;border-color:#d0d5dd;width:44px;padding:0;font-size:1.5rem}.history-list{gap:.65rem;padding-top:1rem;display:grid}.history-item{color:#344054;text-align:left;cursor:pointer;background:#fff;border:1px solid #eaecf0;border-radius:9px;grid-template-columns:minmax(0,1fr) auto;gap:.35rem .75rem;width:100%;padding:.9rem;display:grid}.history-item:hover{border-color:var(--brand-border);background:var(--brand-tint)}.history-file{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.4rem;min-width:0;font-weight:680;display:flex;overflow:hidden}.history-file .icon{flex:none}.history-item time{color:#667085;grid-column:1/-1;font-size:.78rem}.status-completed{color:#176b45;background:#eaf8f1}.status-failed,.status-cancelled{color:#9d2828;background:#fff0f0}.status-queued,.status-processing{color:var(--brand);background:var(--brand-tint)}@keyframes progress-slide{0%{transform:translate(-110%)}to{transform:translate(300%)}}@keyframes drawer-in{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (width<=760px){.top-bar{padding:0 1rem}.brand-logo{height:34px}.upload-page,.job-page{align-items:start;padding:1rem}.upload-panel,.progress-panel,.state-panel{padding:1.25rem}.drop-zone{min-height:230px;padding:1.25rem}.upload-actions,.results-actions{flex-direction:column}.upload-actions>*,.results-actions>*{width:100%}.results-header{flex-direction:column;align-items:stretch;gap:1rem}.table-meta{justify-content:flex-start}.table-scroller{max-height:calc(100vh - 360px)}}@media (hover:none){.copy-control{opacity:.88;visibility:visible}.cell-copy span:last-child,.row-copy span:last-child{display:none}.cell-copy,.row-copy{justify-content:center;width:32px;padding:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
