:root{--page:#f4f1ea;--bg:#fffdf8;--surface:#f4f1ea;--surface-2:#ebe6db;--line:#2a1d1524;--text:#2a1d15;--muted:#75695e;--faint:#a89d90;--brown:#2a1d15;--wheat:#d9a441;--green:#2f7a46;--amber:#c98200;--red:#c4472d;--shadow:0 1px 2px #0000000a, 0 8px 24px #0000000f;--ease:cubic-bezier(.16, 1, .3, 1);--sans:"Inter", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, Menlo, monospace;font:400 14px/1.5 var(--sans);color:var(--text);background:var(--page);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{background:var(--page);margin:0}button{font:500 14px var(--sans);color:var(--text);background:var(--surface);cursor:pointer;border:0;border-radius:999px;padding:10px 18px;transition:background .2s}button:hover{background:var(--surface-2)}button.primary{background:var(--brown);color:var(--page)}button.primary:hover{background:#3b2a1f}button:disabled{opacity:.4;cursor:default;pointer-events:none}a.button{font:500 14px var(--sans);color:var(--text);background:var(--surface);border-radius:999px;padding:10px 18px;text-decoration:none;transition:background .2s}a.button:hover{background:var(--surface-2)}code{font-family:var(--mono);font-size:.92em}.caps,.eyebrow{font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.app-header{z-index:20;background:var(--page);border-bottom:1px solid var(--line);align-items:center;gap:56px;height:64px;padding:0 48px;display:flex;position:sticky;top:0}.wordmark{font:600 25px var(--sans);letter-spacing:-.045em}.grinder-r{vertical-align:baseline;width:auto;height:1em;margin-left:.02em}.nav{flex:1;gap:4px;display:flex}.app-header>.nav{margin-top:7px}.nav button{color:var(--muted);background:0 0;padding:8px 14px;font-weight:400;transition:color .2s,background .2s}.nav button:hover{color:var(--text);background:var(--surface)}.nav button.active{color:var(--text);font-weight:500}.icon{background:var(--surface);width:38px;height:38px;color:var(--muted);border-radius:9px;flex:none;place-items:center;display:grid;position:relative}.icon svg{stroke-width:1.6px;width:18px;height:18px}.login{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{gap:18px;width:min(380px,100%);padding:36px;display:grid}.login-wordmark{font-size:34px}.login-lead{color:var(--muted);margin:-6px 0 6px}.login-card label{gap:8px;display:grid}.login-card input{font:400 15px var(--sans);color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:11px 12px}.login-card input:focus{border-color:var(--text);outline:none;box-shadow:0 0 0 3px #2a1d1514}.login-card .read-warning{margin:0}.login-note{color:var(--muted);text-align:center;margin:0;font-size:13px}.login-back{color:var(--muted);justify-self:center;font-size:13px;text-decoration:none}.login-back:hover{color:var(--text)}.login-note a{color:var(--text);text-underline-offset:3px}.user{color:var(--muted);font-size:13px}.sign-out{padding:7px 14px;font-size:13px}.app{max-width:1440px;margin:0 auto;padding:32px 48px 64px}.app-main{grid-template-columns:340px 1fr;align-items:start;gap:24px;display:grid}.app-main[hidden]{display:none}.card{background:var(--bg);border:1px solid var(--line);border-radius:20px;padding:24px}.empty{background:var(--surface-2);min-height:60vh;font:400 32px/1.1 var(--sans);letter-spacing:-.03em;color:var(--faint);border-radius:20px;place-items:center;display:grid}.toggles{gap:4px;margin:16px 0 20px;display:grid}.toggle{cursor:pointer;border-radius:12px;align-items:center;gap:16px;margin:0 -12px;padding:10px 12px;transition:background .2s;display:flex;position:relative}.toggle:hover{background:var(--surface)}.toggle-text{flex:1;gap:2px;display:grid}.toggle-label{align-items:center;gap:8px;font-size:14px;font-weight:500;display:flex}.toggle-description{color:var(--muted);font-size:12px}.toggle input{opacity:0;pointer-events:none;position:absolute}.switch{background:var(--surface-2);width:36px;height:22px;transition:background .25s var(--ease);border-radius:999px;flex:none;position:relative}.switch:after{content:"";width:16px;height:16px;transition:transform .3s var(--ease);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.toggle.on .switch{background:var(--brown)}.toggle.on .switch:after{transform:translate(14px)}.toggle input:focus-visible+.switch{box-shadow:0 0 0 3px #0000001f}.cost{color:#9a5b00;font:500 10px var(--mono);letter-spacing:.04em;text-transform:uppercase;animation:fade-up .3s var(--ease) both;background:#fbefd9;border-radius:999px;padding:1px 8px}.back{color:var(--muted);background:0 0;align-items:center;gap:6px;padding:4px 0;font-size:13px;font-weight:400;display:inline-flex}.back:hover{color:var(--text);background:0 0}.back svg,.folder-head svg{width:14px;height:14px}.folder-head{align-items:center;gap:6px;margin:8px 0 4px;display:flex}.folder-head h3{font:500 20px/1.2 var(--sans);letter-spacing:-.02em;word-break:break-word;flex:1;margin:0}.folder-name-input{min-width:0;font:500 20px/1.2 var(--sans);letter-spacing:-.02em;color:var(--text);border:1px solid var(--text);border-radius:8px;outline:none;flex:1;margin:-3px 0 -3px -9px;padding:2px 8px;box-shadow:0 0 0 3px #0000000f}.folder-head button{place-items:center;padding:7px;display:grid}.new-folder{gap:8px;margin-top:16px;display:flex}.new-folder input{min-width:0;font:400 14px var(--sans);color:var(--text);border:1px solid var(--line);border-radius:999px;flex:1;padding:9px 14px}.new-folder input:focus{border-color:var(--text);outline:none}.options{gap:8px;margin:16px 0 20px;font-size:13px;display:grid}.options input{accent-color:var(--brown);margin-right:8px}.dropzone{background:var(--surface);color:var(--muted);cursor:pointer;border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:28px 16px;transition:background .2s;display:flex}.dropzone:hover{background:var(--surface-2)}.dropzone svg{width:20px;height:20px}.dropzone span{color:var(--text);font-weight:500}.dropzone input{display:none}.queue{gap:2px;margin:20px 0 0;padding:0;list-style:none;display:grid}.queue li{border-radius:12px;align-items:flex-start;gap:12px;padding:10px;transition:background .2s;display:flex}.queue li.done{cursor:pointer}.queue li.done:hover,.queue li.selected{background:var(--surface)}.queue li.selected .icon{background:var(--bg)}.queue-name{word-break:break-word;font-size:13px;font-weight:400}.queue-meta{color:var(--muted);margin-top:2px;font-size:13px}.queue-meta.faint{color:var(--faint);font-size:12px;display:block}.extract-setup .options label{align-items:flex-start;display:flex}.extract-setup .options input{margin-top:4px}.item-actions{gap:6px;margin-top:8px;display:flex}.item-actions button{place-items:center;display:grid}.item-actions svg{width:13px;height:13px}.queue li button{background:var(--bg);border:1px solid var(--line);padding:5px 12px;font-size:12px}.dot{border:2px solid var(--bg);background:var(--faint);border-radius:50%;width:10px;height:10px;position:absolute;bottom:-2px;right:-2px}.dot.running{background:var(--wheat);animation:1s ease-in-out infinite alternate pulse}.dot.done{background:var(--green)}.dot.warn{background:var(--amber)}.dot.error{background:var(--red)}@keyframes pulse{to{opacity:.35}}.document-head{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.document h2,.results h2{font:400 30px/1.15 var(--sans);letter-spacing:-.03em;word-break:break-word;margin:0}.document-head button,.document-head .button{flex:none}.read-info{background:var(--surface);border-radius:14px;margin:20px 0 24px;padding:14px 18px;font-size:14px}.read-info p{margin:4px 0 0}.read-warning{color:#9a5b00}.read-info .reread{margin-top:12px;padding:8px 16px;font-size:13px}.document-body{gap:24px;display:grid}.document-body.split{grid-template-columns:1fr 1fr}.document-original,.document-text{border:1px solid var(--line);border-radius:14px;height:75vh;overflow:hidden}.document-original iframe{border:0;width:100%;height:100%}.document-original img{max-width:100%}.document-original:has(.pdf-pages){background:var(--surface);padding:16px;overflow:auto}.pdf-page{box-shadow:var(--shadow);margin-bottom:16px;position:relative}.pdf-page canvas{width:100%;display:block}.word{background:#d9a4412e;border-bottom:1px solid #d9a441d9;position:absolute}.word:hover{background:#d9a44166}.document-text{padding:0 24px;overflow:auto}.document-text section{border-bottom:1px solid var(--line);padding:20px 0}.document-text pre{white-space:pre;font:13px/1.6 var(--mono);margin:10px 0 0;overflow-x:auto}.form-tabs{border-bottom:1px solid var(--line);margin:-6px 0 0 -14px;padding-bottom:12px}.form-tabs button.active .count{background:var(--text);color:var(--page)}.form-section{animation:fade-up .4s var(--ease) both;gap:20px;display:grid}.form-section>.add-field{background:var(--surface)}.template-form{gap:20px;display:grid}.template-form label{gap:8px;display:grid}.template-form input,.template-form textarea,.template-form select,.extract-setup select{font:400 14px var(--sans);color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;transition:border-color .2s,box-shadow .2s}.template-form textarea{font:13px/1.6 var(--mono);resize:vertical;height:calc(100vh - 420px);min-height:280px}.template-form input:focus,.template-form textarea:focus,.template-form select:focus,.extract-setup select:focus{border-color:var(--text);outline:none;box-shadow:0 0 0 3px #0000000f}.template-table{background:var(--surface);border-radius:14px}.template-table-head{cursor:pointer;align-items:center;gap:12px;padding:12px 14px 12px 16px;display:flex}.template-table-head>svg{width:16px;height:16px;color:var(--muted);transition:transform .3s var(--ease)}.template-table.open .template-table-head>svg{transform:rotate(90deg)}.template-table-name{font-weight:500}.template-table-head .spacer{flex:1}.template-table-head button{background:var(--bg);padding:6px 11px}.collapse{transition:grid-template-rows .4s var(--ease);grid-template-rows:0fr;display:grid}.template-table.open .collapse,.fold.open .collapse{grid-template-rows:1fr}.fold-head{text-align:left;background:0 0;border-radius:0;align-items:center;gap:8px;width:100%;padding:6px 0;display:flex}.fold-head:hover{background:0 0}.fold-head>svg{width:14px;height:14px;color:var(--muted);transition:transform .3s var(--ease)}.fold.open .fold-head>svg{transform:rotate(90deg)}.fold-summary{color:var(--muted);margin-left:auto;font-size:13px}.fold .options{margin:8px 0 4px}.fold .queue{margin-top:4px}.dropzone+.fold{margin-top:16px}.collapse-inner{overflow:hidden}.template-table-body{gap:10px;padding:2px 18px 18px;display:grid}.rules{background:var(--surface);border-radius:14px;gap:10px;padding:18px;display:grid}.rule{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rule select{font:400 14px var(--sans);color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:8px 10px}.rule-word{color:var(--muted);font-size:14px}.rule button{background:var(--bg);margin-left:auto;padding:6px 11px}.add-field{background:var(--bg);justify-self:start}.row{align-items:center;gap:10px;display:flex}.row input{flex:1;min-width:0}.row.field{padding-left:16px}.row button{padding:8px 12px}.template-table .row button{background:var(--bg)}.actions .spacer{flex:1}.engine-note{color:var(--muted);margin:0;font-size:13px}.saved{color:var(--green);margin:0}.new-template{width:100%;margin-top:16px}.checks{background:var(--surface);border-radius:14px}.checks-head{text-align:left;background:0 0;border-radius:14px;align-items:center;gap:10px;width:100%;padding:12px 16px;font-weight:500;display:flex}.checks-head:hover{background:var(--surface-2)}.checks-extra{color:var(--muted);font-weight:400}.checks-chevron{width:16px;height:16px;color:var(--muted);transition:transform .3s var(--ease);margin-left:auto}.checks.open .checks-chevron{transform:rotate(180deg)}.checks-icon{place-items:center;display:grid}.checks-icon svg{width:18px;height:18px}.ok>.checks-head .checks-icon,.checks-list .ok .checks-icon{color:var(--green)}.fail>.checks-head .checks-icon,.checks-list .fail .checks-icon{color:var(--red)}.unknown>.checks-head .checks-icon,.checks-list .unknown .checks-icon{color:var(--amber)}.checks.open .collapse{grid-template-rows:1fr}.checks-list{gap:10px;margin:0;padding:0 16px 14px;list-style:none;display:grid}.checks-list li{gap:10px;font-size:14px;display:flex}.checks-text{gap:2px;display:grid}.checks-message{color:var(--muted);font-size:13px}.results tbody tr.flagged td{background:#fdecea}.progress{background:var(--surface);border-radius:14px;gap:10px;padding:16px 18px;display:grid}.progress-text{justify-content:space-between;gap:16px;font-size:14px;display:flex}.progress-time{font:500 12px var(--mono);color:var(--muted)}.progress-track{background:var(--surface-2);border-radius:999px;height:6px;position:relative;overflow:hidden}.progress-done{background:var(--brown);transition:width .6s var(--ease);position:absolute;inset:0 auto 0 0}.progress-current{transition:left .6s var(--ease);background:linear-gradient(90deg,#0000,#3b281d73,#0000) 0 0/200% 100%;animation:1.4s linear infinite shimmer;position:absolute;top:0;bottom:0}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.result-folder{color:var(--muted);margin:4px 0 0}.result-tokens{font:500 11px var(--mono);letter-spacing:.04em;color:var(--faint);margin:6px 0 0}.app-main.collapsible{grid-template-columns:auto minmax(0,1fr)}.side{width:340px;transition:width .45s var(--ease);position:relative;overflow:hidden}.side.collapsed{width:52px}.side-inner{align-content:start;gap:24px;width:340px;transition:opacity .25s,visibility .25s;display:grid}.side.collapsed .side-inner{opacity:0;visibility:hidden}.side-toggle{z-index:1;background:var(--surface);width:34px;height:34px;color:var(--muted);transition:right .45s var(--ease), background .2s, color .2s;place-items:center;padding:0;display:grid;position:absolute;top:14px;right:14px}.side-toggle:hover{color:var(--text)}.side.collapsed .side-toggle{right:9px}.side-toggle svg{width:17px;height:17px}.extract-setup{align-content:start;gap:12px;display:grid}.extract-setup select{margin-bottom:12px}.extract-setup .options{margin:0 0 12px}.results{gap:24px;min-width:0;display:grid}.table-menu{z-index:31;position:relative}.table-menu-bar{background:var(--bg);box-shadow:inset 0 -1px 0 var(--line);justify-content:space-between;align-items:center;gap:16px;margin:-10px -24px 0;padding:10px 24px 12px;display:flex}.table-menu-tools{align-items:center;gap:8px;display:flex}.table-menu-tools button{padding:6px 14px;font-size:13px}.table-menu-button{background:0 0;align-items:center;gap:12px;padding:8px 12px 8px 0;display:flex}.table-menu-button:hover{background:0 0}.table-menu-current{font-size:16px;font-weight:500}.table-menu-button svg{width:16px;height:16px;color:var(--muted);transition:transform .3s var(--ease)}.table-menu.open .table-menu-button svg{transform:rotate(180deg)}.mega{background:var(--bg);transition:grid-template-rows .45s var(--ease);border-radius:0 0 20px 20px;grid-template-rows:0fr;display:grid;position:absolute;top:100%;left:-24px;right:-24px}.table-menu.open .mega{grid-template-rows:1fr}.mega-inner{overflow:hidden}.mega-items{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px 32px;padding:20px 24px 28px;display:grid}.mega-item{text-align:left;opacity:0;background:0 0;border-radius:10px;align-items:center;gap:12px;padding:6px 8px 6px 0;display:flex}.mega-item:hover{background:0 0}.mega-item:hover .mega-title{text-underline-offset:3px;text-decoration:underline}.mega-item.current .icon{background:var(--text);color:var(--page)}.table-menu.open .mega-item{animation:fade-up .5s var(--ease) both}.mega-title{font-weight:400;display:block}.backdrop{z-index:30;opacity:0;pointer-events:none;background:#0006;transition:opacity .35s;position:fixed;inset:0}.backdrop.open{opacity:1}.count{background:var(--surface);font:500 11px var(--mono);color:var(--muted);border-radius:999px;margin-left:8px;padding:1px 8px}.result-body{min-width:0;animation:fade-up .45s var(--ease) both;gap:16px;display:grid}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.result-table{gap:10px;min-width:0;display:grid}.table-scroll{border:1px solid var(--line);background:var(--bg);border-radius:6px;max-height:70vh;overflow:auto}.results table{border-collapse:collapse;width:100%;font-size:12.5px;line-height:1.4}.results thead{z-index:1;position:sticky;top:0}.results th{background:var(--surface);color:var(--muted);text-align:left;white-space:nowrap;padding:6px 10px;font-size:11.5px;font-weight:600}.results th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.results th.sortable:hover,.results th.sorted{color:var(--text)}.results th svg{vertical-align:-1px;width:12px;height:12px;margin-left:3px}.results .filters th{box-shadow:inset 0 -1px 0 var(--line);padding:0 6px 6px}.results .filters select{width:100%;min-width:60px;max-width:220px;font:400 11.5px var(--sans);color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:3px 4px}.results .filters select.active{border-color:var(--wheat);background:#fbf1dc;font-weight:600}.results .filters select:focus{border-color:var(--text);outline:none}.results td{border-top:1px solid var(--line);vertical-align:top;white-space:nowrap;padding:6px 10px}.results td.long{white-space:normal;overflow-wrap:anywhere;min-width:260px;max-width:460px}.results td.doc{color:var(--muted);text-overflow:ellipsis;max-width:220px;font-size:11.5px;overflow:hidden}.results td.num{font-family:var(--mono);font-size:11.5px}.results tbody tr:first-child td{border-top:0}.results tbody tr:hover{background:var(--surface)}.num{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right!important}.badge{background:var(--surface-2);white-space:nowrap;border-radius:4px;padding:1px 6px;font-size:11px;font-weight:600;display:inline-block}.none{color:var(--faint)}p.none{margin:0;font-size:14px}
