@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Inter:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;1,600&display=swap";:root{font-family:Inter,system-ui,sans-serif;color:#1d211c;background:#f4f1e8;font-synthesis:none;--ink: #1d211c;--muted: #707369;--paper: #fbfaf5;--cream: #f4f1e8;--line: #dcd8cc;--moss: #334a38;--green: #6e8c66;--rust: #c65d3a}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.app-shell{min-height:100vh;display:grid;grid-template-columns:270px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;padding:30px 22px 22px;background:#252a24;color:#f7f3e8;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;font-family:Playfair Display,serif;font-size:20px;line-height:1}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;font-style:italic}.brand small{display:block;margin-top:5px;font:500 8px/1 DM Mono,monospace;letter-spacing:.18em;opacity:.57}.new-run-button{margin:36px 0 30px;border:0;border-radius:3px;background:#f3efe3;color:var(--ink);padding:13px 14px;text-align:left;cursor:pointer;font-weight:600}.new-run-button span{margin-right:8px;color:var(--rust)}.sidebar-label,.eyebrow{text-transform:uppercase;letter-spacing:.13em;font:500 10px/1.2 DM Mono,monospace}.sidebar-label{opacity:.48;padding:0 10px 10px}.history-list{overflow-y:auto;margin:0 -5px}.history-row{position:relative;display:flex;align-items:stretch;border-radius:4px}.history-row:hover,.history-row.selected{background:#ffffff13}.history-item{min-width:0;flex:1;display:grid;grid-template-columns:8px 1fr;gap:11px;padding:12px 30px 12px 10px;border:0;border-radius:4px;background:transparent;color:inherit;text-align:left;cursor:pointer}.history-delete{position:absolute;top:50%;right:7px;width:23px;height:23px;transform:translateY(-50%);border:0;border-radius:50%;background:transparent;color:inherit;opacity:.42;cursor:pointer;font:400 17px/1 Inter,sans-serif}.history-delete:hover{background:#ffffff1c;opacity:1}.history-item strong{display:block;font-size:12px;font-weight:600}.history-item small{display:block;margin-top:4px;font:400 9px/1.3 DM Mono,monospace;opacity:.52}.status-dot{width:6px;height:6px;border-radius:50%;background:#959b92;margin-top:4px}.status-dot.running,.status-dot.queued{background:#dfad5b;box-shadow:0 0 0 3px #dfad5b1f}.status-dot.completed{background:#8eb184}.status-dot.completed_with_errors,.status-dot.failed{background:#d97959}.empty-history{font-size:12px;opacity:.45;padding:0 10px}.logout-button{margin-top:auto;border:0;background:transparent;color:inherit;opacity:.54;text-align:left;padding:10px;cursor:pointer;font-size:11px}.main-panel{min-width:0}.page-content{padding:58px clamp(32px,6vw,90px) 60px;max-width:1500px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;padding-bottom:40px;border-bottom:1px solid var(--line)}.eyebrow{color:var(--rust);margin-bottom:14px}h1,h2,p{margin-top:0}h1{margin-bottom:14px;font:600 clamp(35px,4vw,57px)/1.05 "Playfair Display",serif;letter-spacing:-.025em;max-width:800px}.page-header p{color:var(--muted);max-width:680px;font-size:14px;line-height:1.7}.header-mark{font:500 56px/1 DM Mono,monospace;color:transparent;-webkit-text-stroke:1px #c9c4b7}.extraction-form{padding-top:30px}.input-section{background:#ffffff61;border:1px solid var(--line);padding:25px;margin-bottom:18px}.input-heading{display:grid;grid-template-columns:36px 1fr auto;gap:14px;align-items:start}.step-number{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:var(--moss);color:#fff;font:500 10px DM Mono,monospace}.input-heading h2{font:600 19px/1.2 Playfair Display,serif;margin-bottom:5px}.input-heading p{color:var(--muted);font-size:11px}code{background:#e5e0d3;padding:2px 5px;font:10px DM Mono,monospace}.counter{font:10px DM Mono,monospace;color:var(--muted)}.counter.over{color:var(--rust)}textarea{width:100%;min-height:145px;margin-top:16px;padding:16px;resize:vertical;border:1px solid #cbc6b9;background:var(--paper);color:var(--ink);border-radius:2px;font:12px/1.8 DM Mono,monospace;outline:none}textarea:focus,input:focus{border-color:var(--green);box-shadow:0 0 0 3px #6e8c661f}textarea::placeholder{color:#aaa89f}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:26px}.primary-button{border:0;border-radius:2px;background:var(--moss);color:#fff;padding:14px 19px;font-weight:600;cursor:pointer}.primary-button:hover:not(:disabled){background:#263c2c;transform:translateY(-1px)}.primary-button:disabled{opacity:.48;cursor:not-allowed}.run-button{min-width:190px;display:flex;justify-content:space-between}.form-error{color:#9f3e26;font-size:12px}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(320px,1fr) minmax(420px,1fr);background:var(--paper)}.login-art{position:relative;overflow:hidden;background:var(--moss);color:#f4f0e4;display:grid;place-items:center}.specimen{width:190px;height:190px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.6);border-radius:50%;font:italic 600 120px Playfair Display,serif;z-index:1}.login-art p{position:absolute;bottom:42px;left:48px;font:italic 600 27px/1.3 Playfair Display,serif}.orbit{position:absolute;border:1px solid rgba(255,255,255,.12);border-radius:50%}.orbit-one{width:520px;height:520px}.orbit-two{width:780px;height:780px}.login-card{width:min(390px,calc(100% - 50px));margin:auto}.login-card .brand{margin-bottom:80px;color:var(--moss)}.login-card h1{font-size:45px}.muted{color:var(--muted);line-height:1.65;font-size:13px}.login-card label{display:block;margin:30px 0 14px;font-size:11px;font-weight:600}.login-card input{width:100%;display:block;margin-top:8px;padding:14px;border:1px solid var(--line);background:#fff;outline:none}.login-card .primary-button{width:100%;margin-top:12px}.results-header{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:25px}.results-header h1{font-size:clamp(33px,4vw,49px)}.run-status-line{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:11px}.status-pill{padding:6px 9px;border-radius:20px;font:500 9px DM Mono,monospace;text-transform:uppercase;letter-spacing:.05em;background:#dfdbcf;color:#65675f}.status-pill.completed{background:#dce8d8;color:#395338}.status-pill.running,.status-pill.queued{background:#f1e2c4;color:#78582b}.status-pill.completed_with_errors,.status-pill.failed{background:#f1d9d1;color:#874630}.results-actions{display:flex;gap:8px;align-items:center}.secondary-button,.icon-button{border:1px solid #c9c5b9;background:#ffffff73;color:var(--ink);padding:10px 13px;border-radius:2px;text-decoration:none;cursor:pointer;font-size:11px}.secondary-button:hover,.icon-button:hover{background:#fff}.secondary-button.disabled{pointer-events:none;opacity:.4}.icon-button{font-size:16px;padding:6px 10px}.icon-button.danger{color:#a34830}.progress-track{height:3px;background:#ded9cc;overflow:hidden;margin-bottom:24px}.progress-track div{height:100%;background:var(--rust);transition:width .35s ease}.run-errors{margin:0 0 22px;padding:17px 19px;border:1px solid #dfb7a9;border-left:3px solid var(--rust);background:#f8e9e2}.run-errors-heading{display:flex;align-items:flex-start;gap:11px}.run-errors-heading>span{width:23px;height:23px;flex:0 0 23px;display:grid;place-items:center;border-radius:50%;background:var(--rust);color:#fff;font:600 11px DM Mono,monospace}.run-errors-heading strong{display:block;color:#713722;font-size:12px}.run-errors-heading p{margin:4px 0 0;color:#855745;font-size:10px}.run-errors ul{margin:13px 0 0 34px;padding:11px 0 0 16px;border-top:1px solid #e5c6ba}.run-errors li{margin:6px 0;color:#7d4b39;font:10px/1.5 DM Mono,monospace}.run-errors li a{display:inline-block;min-width:150px;margin-right:12px;color:#713722;font-weight:500}.table-card{background:var(--paper);border:1px solid var(--line);box-shadow:0 12px 32px #2c30280d}.table-scroll{overflow:auto;max-height:calc(100vh - 260px)}table{width:100%;border-collapse:collapse;min-width:760px;font-size:11px}th{position:sticky;top:0;z-index:2;background:#e9e5da;color:#6f7169;padding:12px 15px;text-align:left;text-transform:uppercase;letter-spacing:.08em;font:500 8px DM Mono,monospace;border-bottom:1px solid var(--line)}td{min-width:145px;max-width:280px;padding:15px;border-bottom:1px solid #e8e4da;vertical-align:top}tbody tr:hover{background:#faf8f1}.property-column{position:sticky;left:0;z-index:4;min-width:170px}.product-column{min-width:205px;max-width:280px;color:var(--ink);font-family:Inter,sans-serif;font-size:10px;font-weight:700;text-transform:none;letter-spacing:0;overflow-wrap:anywhere}.property-cell{position:sticky;top:auto;left:0;z-index:1;min-width:170px;padding:15px;background:#f0ede4;color:#62655d;border-bottom:1px solid #e0dcd1;text-align:left;font:500 9px DM Mono,monospace;text-transform:uppercase;letter-spacing:.06em}tbody tr:hover .property-cell{background:#eae6db}.link-cell a{display:inline-block;max-width:190px;overflow:hidden;color:var(--moss);font-weight:700;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.link-cell a span{color:var(--rust)}.page-state{display:inline-flex;align-items:center;border-radius:20px;padding:5px 8px;font:500 8px DM Mono,monospace;text-transform:uppercase}.page-state.success{background:#e3ebdf;color:#496346}.page-state.has-tooltip{position:relative;cursor:help}.page-state.has-tooltip:after{position:absolute;top:calc(100% + 7px);left:0;z-index:10;width:max-content;max-width:min(310px,70vw);padding:8px 10px;border:1px solid #c9c5b9;border-radius:3px;background:#252a24;color:#f7f3e8;box-shadow:0 8px 20px #1d211c2e;content:attr(data-tooltip);font:500 10px/1.45 Inter,sans-serif;letter-spacing:0;opacity:0;pointer-events:none;text-transform:none;transform:translateY(-3px);transition:opacity .12s ease,transform .12s ease;white-space:normal}.page-state.has-tooltip:hover:after,.page-state.has-tooltip:focus-visible:after{opacity:1;transform:translateY(0)}.page-state.failed{background:#f0dcd5;color:#98482f}.page-state.working{background:#eee4d0;color:#735e36}.page-state.working i{width:5px;height:5px;margin-right:5px;border-radius:50%;background:currentColor;animation:pulse 1s infinite alternate}.page-failure{min-width:180px}.page-failure small{display:block;margin-top:7px;color:#8d5542;font:9px/1.45 DM Mono,monospace;white-space:normal}.found-value{font-weight:600;color:#283b2c}.not-found,.cell-placeholder{color:#9a9a93;font-style:italic}.cell-loading{display:block;width:75%;height:11px;background:linear-gradient(90deg,#ece8de,#f7f5ee,#ece8de);background-size:200% 100%;animation:shimmer 1.3s infinite}.loading-screen,.compact-loading,.center-message{min-height:100vh;display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;color:var(--muted);font:10px DM Mono,monospace}.compact-loading{min-height:60vh}.loader{width:26px;height:26px;border:2px solid #d4d0c5;border-top-color:var(--rust);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{to{opacity:.25}}@keyframes shimmer{to{background-position:-200% 0}}@media(max-width:850px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:17px 20px;flex-direction:row;align-items:center;gap:14px}.sidebar .brand{margin-right:auto}.new-run-button{margin:0;width:auto}.sidebar-label,.history-list,.logout-button{display:none}.page-content{padding:35px 20px 45px}.results-header{align-items:flex-start;flex-direction:column}.login-page{grid-template-columns:1fr}.login-art{display:none}.login-card{padding:40px 0}.login-card .brand{margin-bottom:60px}}@media(max-width:580px){.sidebar .brand small{display:none}.new-run-button{font-size:0}.new-run-button span{margin:0;font-size:18px}.page-header{gap:10px}.header-mark{display:none}.input-section{padding:18px}.input-heading{grid-template-columns:31px 1fr}.counter{grid-column:2}.form-footer{align-items:stretch;flex-direction:column}.results-actions{width:100%;flex-wrap:wrap}.secondary-button{flex:1;text-align:center}}
