:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1b1b20;background:#1d1d1f;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink:#1b1b20;--muted:#6d6d78;--line:#e8e8ed;--accent:#5962dd;--sidebar:#f3f3f6;--ease:cubic-bezier(.32,.72,0,1)}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #8b91eb;outline-offset:3px}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;display:block}::selection{background:#dfe1ff;color:#22234e}[hidden]{display:none!important}.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}
.viewport{height:100dvh;min-height:560px;padding:26px;display:flex}.boot,.login,.app{background:#fff;border-radius:16px;width:100%;min-width:0;overflow:hidden}.boot{display:flex;align-items:center;justify-content:center;gap:12px;color:#676773;font-size:14px}.brand-mark{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;border-radius:11px;background:#232328;color:#fff;font-size:19px;font-weight:650;letter-spacing:-.035em;flex:none}.login{position:relative}.login-top{display:flex;align-items:center;gap:11px;padding:27px 32px}.brand-name{font-size:21px;font-weight:750;letter-spacing:-.035em}.brand-name span{color:var(--accent)}.login-center{width:min(370px,calc(100% - 48px));position:absolute;left:50%;top:48%;transform:translate(-50%,-50%)}.login-icon,.dialog-symbol{width:44px;height:44px;border-radius:13px;background:#f1f1f5;display:grid;place-items:center;color:#3f4048}.login-icon{margin-bottom:22px}.login h1{margin:0;font-size:29px;letter-spacing:-.035em}.login p{color:#6b6b75;line-height:1.55;font-size:14px}.login-form{margin-top:29px;display:grid;gap:9px}.login-form label{font-size:13px;font-weight:650}.login-form input{height:48px;border:1px solid #d9d9e0;border-radius:8px;padding:0 13px;font-size:16px;color:var(--ink);background:white}.login-form .primary-button{margin-top:10px}.login-foot{margin-top:35px;color:#8a8a94;font-size:12px}.form-error{margin:1px 0!important;color:#a52d35!important;font-size:13px!important}
.app{display:flex}.sidebar{width:258px;flex:none;background:var(--sidebar);display:flex;flex-direction:column;padding:24px 15px 17px}.workspace{display:flex;align-items:center;gap:11px;padding:0 9px 28px}.workspace div{display:flex;flex-direction:column;gap:3px;min-width:0}.workspace strong{font-size:15px;letter-spacing:-.01em}.workspace small{font-size:11px;color:#777784}.workspace-chevron{margin-left:auto;color:#90909c;font-size:20px}.sidebar-scroll{overflow-y:auto;flex:1}.nav-heading{font-size:10px;letter-spacing:.075em;font-weight:700;color:#858590;margin:0 10px 10px}.results-heading{margin-top:32px}.nav-group{display:flex;flex-direction:column;gap:4px}.nav-item{width:100%;min-height:43px;display:flex;align-items:center;gap:12px;padding:0 11px;color:#494953;border:0;background:transparent;text-align:left;border-radius:9px;font-size:13px}.nav-item>span:nth-child(2){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-item svg{width:19px;height:19px;color:#686875}.nav-item.active{background:#e3e4fa;color:#4b53b9;font-weight:650}.nav-item.active svg{color:#626bda}.nav-count{margin-left:auto;font-size:11px;color:#858590;font-variant-numeric:tabular-nums}.nav-item.active .nav-count{color:#626bba}.status-dot,.online-dot{display:inline-block;border-radius:50%;width:8px;height:8px;flex:none}.status-dot.relevant{background:#418f74}.status-dot.review{background:#c8903f}.status-dot.excluded{background:#a1a1aa}.online-dot{width:7px;height:7px;background:#66a98e}.sidebar-footer{padding:14px 10px 0;border-top:1px solid #e1e1e7}.footer-note{display:flex;align-items:center;gap:8px;color:#777782;font-size:11px}.logout{border:0;background:none;color:#666672;padding:15px 0 2px;display:flex;align-items:center;justify-content:space-between;width:100%;font-size:12px}.logout svg{width:16px;height:16px}
.main{min-width:0;flex:1;position:relative;display:flex;flex-direction:column;background:#fff}.topbar{height:75px;flex:none;border-bottom:1px solid #eeeeF1;display:flex;align-items:center;justify-content:space-between;padding:0 36px}.breadcrumbs{display:flex;align-items:center;gap:12px;color:#94949e;font-size:13px}.breadcrumbs strong{color:#34343b;font-weight:650}.breadcrumbs svg{width:14px;height:14px;color:#a2a2ab}.topbar-right{display:flex;align-items:center;gap:18px}.demo-badge{display:flex;align-items:center;gap:7px;color:#73737d;font-size:12px}.avatar{height:34px;width:34px;border-radius:10px;display:grid;place-items:center;background:#ebebef;color:#666670;font-size:13px;font-weight:650}.main-scroll{overflow:auto;flex:1}.content{max-width:1570px;margin:0 auto;padding:36px 36px 160px}.heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.heading-row h1{font-size:25px;letter-spacing:-.03em;line-height:1.2;margin:0;font-weight:700}.heading-row p{color:#777782;font-size:13px;margin:8px 0 0}.view-indicator{border:1px solid #e9e9ed;border-radius:8px;padding:9px;color:#73737d}.view-indicator svg{width:17px;height:17px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:28px;padding-bottom:18px;border-bottom:1px solid #eeeeF1}.search{position:relative;width:min(320px,50%);color:#92929c}.search>span:first-child{position:absolute;left:12px;top:50%;transform:translateY(-50%)}.search svg{width:17px;height:17px}.search input{width:100%;height:42px;background:#f7f7f9;border:1px solid transparent;border-radius:8px;padding:0 12px 0 39px;color:var(--ink);font-size:16px}.search input::placeholder{color:#858590}.toolbar-right{display:flex;align-items:center;gap:21px}.file-count{font-size:12px;color:#858590;white-space:nowrap;font-variant-numeric:tabular-nums}.type-filter{display:flex;align-items:center;position:relative;color:#44444d}.type-filter select{appearance:none;background:transparent;border:0;height:42px;padding:0 22px 0 0;font-size:13px;cursor:pointer}.type-filter>span:last-child{position:absolute;right:0;pointer-events:none}.type-filter svg{width:15px;height:15px}
.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:29px 20px;padding-top:24px}.file-card{min-width:0}.file-open{border:0;background:none;padding:0;width:100%;text-align:left;color:inherit}.thumb{height:180px;background:#f3f3f5;border:1px solid #ececf0;border-radius:10px;overflow:hidden;display:flex;align-items:flex-start;justify-content:center;position:relative;transition:border-color 140ms ease}.thumb img{width:100%;height:100%;object-fit:contain;object-position:center top;display:block}.file-type{position:absolute;top:10px;left:10px;padding:5px 7px;border-radius:5px;background:rgba(255,255,255,.94);font-size:10px;font-weight:700;color:#55555f;letter-spacing:.025em}.page-count{position:absolute;right:10px;bottom:10px;padding:5px 7px;border-radius:5px;background:rgba(255,255,255,.94);font-size:10px;color:#65656e;font-variant-numeric:tabular-nums}.file-title{display:block;margin-top:11px;font-size:13px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.file-subtitle{display:flex;align-items:center;gap:7px;margin-top:5px;font-size:11px;color:#858590;min-width:0}.file-subtitle span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-subtitle .dot-separator{color:#b3b3bb}.result-pill{margin-top:8px;display:inline-flex;align-items:center;gap:6px;padding:4px 7px;border-radius:6px;font-size:10px;font-weight:650}.result-pill.KEEP{color:#277456;background:#e9f4ef}.result-pill.REVIEW{color:#93651f;background:#f9f1e3}.result-pill.DROP{color:#66666f;background:#f1f1f3}.result-pill .status-dot{width:6px;height:6px}.empty{text-align:center;color:#777782;padding:80px 20px}.empty>div{display:grid;place-items:center;margin:auto auto 15px;color:#92929b}.empty h2{font-size:16px;color:#292930;margin:0}.empty p{font-size:13px;margin:8px 0}.load-more-wrap{text-align:center;margin-top:28px}.secondary-button,.primary-button{min-height:42px;border-radius:8px;padding:0 15px;font-size:13px;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:9px}.secondary-button{border:1px solid #dedee4;background:white;color:#41414a}.primary-button{border:1px solid #202025;background:#202025;color:white}.primary-button.compact{min-width:116px}.icon-label svg{width:16px;height:16px}
.action-dock{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:center;pointer-events:none;padding:50px 15px 26px;background:linear-gradient(0deg,#fff 34%,rgba(255,255,255,0))}.dock-inner{display:flex;align-items:center;flex-direction:column;gap:8px;pointer-events:auto}.dock-inner>span{font-size:11px;color:#888891}.classify-button{display:flex;align-items:center;justify-content:center;gap:11px;min-width:188px;height:55px;padding:0 17px 0 21px;border:0;border-radius:999px;background:#202024;color:#fff;font-size:14px;font-weight:700;box-shadow:0 7px 18px rgba(25,25,30,.17);transition:transform 140ms var(--ease),background-color 140ms ease}.classify-button svg{width:18px;height:18px}.classify-count{font-size:11px;font-weight:600;color:#d0d0d5;background:#414146;padding:5px 8px;border-radius:999px;font-variant-numeric:tabular-nums}.classify-button:active{transform:scale(.97)}
dialog{color:var(--ink);border:0;padding:0;box-shadow:0 18px 55px rgba(20,20,26,.22)}dialog::backdrop{background:rgba(22,22,28,.40);animation:fade-in 200ms var(--ease)}dialog[open]{animation:dialog-in 200ms var(--ease)}.run-dialog{width:min(470px,calc(100% - 36px));border-radius:16px;padding:26px}.dialog-head{display:flex;align-items:center;justify-content:space-between}.dialog-symbol{color:#4f55b2;background:#ededfb}.dialog-symbol svg{width:21px;height:21px}.icon-button{border:0;background:transparent;width:42px;height:42px;display:grid;place-items:center;color:#73737e;border-radius:8px}.icon-button svg{width:19px;height:19px}.run-dialog h2{font-size:22px;letter-spacing:-.025em;margin:24px 0 7px}.dialog-copy{color:#73737e;font-size:13px;line-height:1.55;margin:0}.progress-label{display:flex;justify-content:space-between;align-items:baseline;margin-top:28px;font-size:12px;color:#7c7c86;font-variant-numeric:tabular-nums}.progress-label strong{font-size:14px;color:#2d2d34}.progress-track{height:8px;border-radius:99px;background:#ededf1;overflow:hidden;margin-top:10px}.progress-fill{width:100%;height:100%;background:#6268dc;border-radius:99px;transform:scaleX(0);transform-origin:left;transition:transform 180ms ease-out}.run-detail{display:flex;justify-content:space-between;gap:16px;color:#888892;font-size:11px;margin-top:10px;font-variant-numeric:tabular-nums}.run-detail span:first-child{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.run-results{display:grid;gap:11px;border-top:1px solid #eeeeF1;border-bottom:1px solid #eeeeF1;padding:17px 0;margin-top:25px}.run-results>div{display:flex;align-items:center;gap:9px;font-size:12px;color:#696973}.run-results strong{margin-left:auto;color:#3a3a42;font-variant-numeric:tabular-nums}.run-note{font-size:11px;line-height:1.5;color:#898993;margin:17px 0 0}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:24px}
.viewer{width:min(1080px,calc(100% - 50px));height:min(850px,calc(100% - 50px));border-radius:15px;overflow:hidden}.viewer[open]{display:flex;flex-direction:column}.viewer-head{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 20px;border-bottom:1px solid #eeeeF1}.viewer-title-group{display:flex;align-items:center;gap:12px;min-width:0}.file-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:9px;background:#f2f2f6;color:#666673;flex:none}.viewer-title-group>div{min-width:0}.viewer-title-group h2{font-size:14px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.viewer-title-group p{font-size:11px;color:#898993;margin:5px 0 0}.viewer-controls{display:flex;align-items:center;gap:6px}.viewer-toolbar{min-height:58px;padding:9px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.segmented{display:flex;gap:3px;background:#f1f1f4;border-radius:8px;padding:3px}.segmented button{border:0;background:transparent;border-radius:6px;min-height:34px;padding:0 12px;color:#6c6c76;font-size:12px}.segmented button.selected{background:#fff;color:#292930;box-shadow:0 1px 3px rgba(30,30,35,.09);font-weight:650}.viewer-status{font-size:11px;color:#777782}.preview{flex:1;min-height:0;background:#ececf0;overflow:auto;display:flex;justify-content:center;align-items:flex-start}.preview iframe{width:100%;height:100%;border:0}.preview img{max-width:100%;max-height:none;object-fit:contain}.preview pre{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;font:13px/1.7 ui-monospace,SFMono-Regular,monospace;color:#35353d;background:white;padding:36px;width:min(760px,100%);min-height:100%;margin:0}.preview-loading{color:#777782;font-size:13px;margin:50px auto}
.workspace-chevron svg{width:17px;height:17px}.login-form .primary-button svg{width:17px;height:17px}
@keyframes dialog-in{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes fade-in{from{opacity:0}to{opacity:1}}
@media(hover:hover) and (pointer:fine){.nav-item:not(.active):hover{background:#e9e9ee}.file-open:hover .thumb{border-color:#bfc1d6}.secondary-button:hover{background:#f7f7fa}.icon-button:hover{background:#f2f2f5}.classify-button:hover{background:#35353b}.logout:hover{color:#27272d}}
@media(max-width:850px){.viewport{padding:0;min-height:100dvh}.app,.login,.boot{border-radius:0}.sidebar{width:205px;padding-left:10px;padding-right:10px}.topbar{padding:0 22px}.content{padding-left:22px;padding-right:22px}.file-grid{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:24px 14px}.thumb{height:160px}}
@media(max-width:600px){.app{flex-direction:column}.sidebar{width:100%;height:auto;padding:13px 16px 10px;display:block}.workspace{padding:0 0 12px}.workspace .brand-mark{width:34px;height:34px;font-size:16px}.workspace small,.workspace-chevron,.nav-heading,.results-heading,.sidebar-footer{display:none}.sidebar-scroll{overflow-x:auto;overflow-y:hidden;display:flex;gap:6px}.nav-group{flex-direction:row;gap:5px}.nav-item{min-height:38px;white-space:nowrap;width:auto;padding:0 10px;gap:7px}.nav-item svg{width:16px;height:16px}.nav-count{margin-left:1px}.main{min-height:0}.topbar{height:58px;padding:0 17px}.topbar-right .demo-badge{display:none}.avatar{height:30px;width:30px}.content{padding:24px 16px 145px}.heading-row h1{font-size:22px}.heading-row p{font-size:12px}.toolbar{margin-top:20px;gap:8px}.search{width:60%}.toolbar-right{gap:9px}.file-count{display:none}.file-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px;padding-top:18px}.thumb{height:145px}.viewer{width:calc(100% - 20px);height:calc(100% - 30px)}.viewer-head{padding:10px}.viewer-title-group h2{max-width:180px}.viewer-controls .icon-label span:last-child{display:none}.viewer-toolbar{padding-left:12px;padding-right:12px}.action-dock{padding-bottom:18px}}
.mobile-logout{display:none;border:0;background:transparent;color:#454550;font-size:13px;font-weight:600;padding:10px 0 10px 10px;white-space:nowrap}
.workspace small,.footer-note,.nav-heading,.nav-count,.file-subtitle,.dock-inner>span,.run-detail,.run-note,.viewer-title-group p,.viewer-status,.login-foot{font-size:12px;color:#656570}
.breadcrumbs,.file-count,.heading-row p,.progress-label{color:#656570}
.search input::placeholder{color:#686872}
.file-type,.page-count,.result-pill{font-size:12px}
.page-count{color:#5e5e68}
.nav-item.active .nav-count{color:#444c9d}
@media(max-width:600px){.mobile-logout{display:inline-flex;align-items:center}.topbar-right .avatar{display:none}}
:root{--accent:#194134}
::selection{background:#edf0c8;color:#152d26}
button:focus-visible,input:focus-visible,select:focus-visible{outline-color:#194134}
.brand-mark{background:#194134}
.nav-item.active{background:#edf2e3;color:#194134}
.nav-item.active svg,.nav-item.active .nav-count{color:#194134}
.dialog-symbol{background:#f4f6e5;color:#194134}
.progress-fill{background:#194134}
.classify-button>span:first-child{color:#dce169}
.heading-actions{display:flex;align-items:center;gap:12px;flex:none}
.upload-open svg{width:17px;height:17px}
.upload-open{white-space:nowrap;transition:background-color 150ms ease,transform 150ms var(--ease)}
.upload-open:active{transform:scale(.97)}
.thumb-placeholder{align-self:center;display:grid;place-items:center;color:#708378}
.thumb-placeholder svg{width:38px;height:38px;stroke-width:1.2}
.thumb img{transition:transform 200ms var(--ease)}
.file-card.newly-added{animation:file-arrive 260ms var(--ease) both}
@keyframes file-arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.upload-dialog{width:min(480px,calc(100% - 36px));border-radius:16px;padding:26px}
.upload-dialog h2{font-size:22px;letter-spacing:-.025em;margin:24px 0 7px}
.upload-drop{margin-top:24px;min-height:148px;border:1px dashed #a8b6a9;border-radius:12px;background:#fafbed;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:20px;text-align:center;cursor:pointer;color:#194134;transition:background-color 150ms ease,border-color 150ms ease}
.upload-drop strong{font-size:13px}
.upload-drop>span:last-child{font-size:12px;color:#526157;line-height:1.4}
.upload-drop-icon svg{width:21px;height:21px}
.upload-drop.drag-over{background:#eef3df;border-color:#194134}
.upload-drop:has(+ #upload-input:focus-visible){outline:3px solid #194134;outline-offset:3px}
.upload-progress .progress-label{margin-top:19px}
.upload-message{min-height:18px;color:#5b6c61;font-size:12px;line-height:1.5;margin:16px 0 0;overflow-wrap:anywhere}
.upload-message.error{color:#a12b32}
.storage-warning{margin:18px 0 0;padding:12px 14px;border-radius:8px;background:#faf3e7;color:#704d18;font-size:13px;line-height:1.5}
@media(hover:hover) and (pointer:fine){.file-open:hover .thumb img{transform:scale(1.015)}.upload-drop:hover{border-color:#194134;background:#f5f7e9}.upload-open:hover{background:#f6f8f1}}
@media(max-width:600px){.heading-actions .view-indicator{display:none}.upload-open{min-height:40px;padding:0 10px;font-size:12px}.heading-actions{gap:0}.upload-dialog{padding:22px}.upload-dialog h2{margin-top:19px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
