:root{font-family:Segoe UI,Arial,sans-serif;color:#1f2328;background:#f4f5f6;font-synthesis:none;--red: #a61b29;--red-dark: #7f1320;--ink: #1f2328;--muted: #68717b;--line: #dfe3e7;--paper: #ffffff;--green: #24744b;--gold: #a66a12;--blue: #245f91}*{box-sizing:border-box;letter-spacing:0}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(36,95,145,.25);outline-offset:1px}button:disabled{opacity:.58;cursor:wait}input,select,textarea{width:100%;min-width:0;border:1px solid #cbd1d6;border-radius:5px;background:#fff;color:var(--ink);padding:11px 12px;transition:border-color .15s,box-shadow .15s}input:hover,select:hover,textarea:hover{border-color:#9da5ad}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #245f9117;outline:none}textarea{min-height:108px;resize:vertical;line-height:1.5}label{display:grid;gap:7px;color:#414850;font-size:13px;font-weight:600}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:31px;line-height:1.15}h2{margin-bottom:0;font-size:21px;line-height:1.25}h3{margin-bottom:0;font-size:15px}.eyebrow{margin-bottom:6px;color:var(--red);font-size:11px;font-weight:800}.primary-button,.secondary-button,.danger-button,.text-button{border:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;white-space:nowrap}.primary-button{min-height:42px;border-radius:5px;padding:10px 16px;background:var(--red);color:#fff;font-weight:700;box-shadow:0 1px 2px #0000001f}.primary-button:hover{background:var(--red-dark)}.secondary-button{min-height:38px;border:1px solid #cbd1d6;border-radius:5px;padding:8px 12px;background:#fff;font-weight:700}.secondary-button:hover{border-color:#8e969e;background:#f6f7f8}.danger-button{min-height:40px;padding:9px 12px;background:transparent;color:#a1232f;font-weight:700}.text-button{background:transparent;padding:6px 0;color:var(--blue);font-weight:700}.icon-button{width:38px;height:38px;flex:0 0 38px;border:0;border-radius:5px;display:inline-grid;place-items:center;background:transparent;cursor:pointer}.icon-button:hover{background:#e9ecef}.form-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.span-2{grid-column:1 / -1}.form-error{margin:10px 0;border-left:3px solid var(--red);padding:9px 12px;background:#fff2f3;color:#8f1824;font-size:13px;font-weight:600}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-loading{min-height:100vh;display:grid;place-items:center;background:var(--ink);color:#fff}.loading-mark{font-size:34px;font-weight:800;animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{50%{opacity:.45}}.auth-screen{min-height:100vh;display:grid;grid-template-columns:minmax(330px,1.05fr) minmax(420px,.95fr);background:var(--paper)}.auth-brand{min-height:100vh;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:clamp(36px,7vw,110px);background:#21262c;color:#fff}.auth-brand:before{content:"37  ·  144  ·  288";position:absolute;right:-18px;bottom:24px;color:#31373e;font-size:clamp(44px,7vw,96px);font-weight:800;white-space:nowrap}.brand-mark{position:relative;width:max-content;border-top:6px solid #d32638;border-bottom:6px solid #d32638;padding:10px 0;font-size:clamp(54px,8vw,104px);line-height:.92;font-weight:800}.auth-brand>p{position:relative;margin:20px 0 0;font-size:15px;font-weight:700}.auth-facts{position:relative;display:grid;gap:12px;margin-top:70px;color:#d3d8dd;font-size:14px}.auth-facts span{display:flex;align-items:center;gap:10px}.auth-form-wrap{width:min(480px,100%);margin:auto;padding:42px}.auth-form-wrap h1{margin:32px 0 28px}.segmented{width:100%;display:grid;grid-template-columns:1fr 1fr;padding:3px;border-radius:6px;background:#eceff1}.segmented button{min-height:36px;border:0;border-radius:4px;background:transparent;cursor:pointer;color:var(--muted);font-weight:700}.segmented button.active{background:#fff;color:var(--ink);box-shadow:0 1px 4px #0000001a}.auth-form{display:grid;gap:17px}.auth-submit{width:100%;margin-top:5px}.app-shell{min-height:100vh;display:grid;grid-template-columns:238px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:24px 16px 16px;background:#24292f;color:#fff}.sidebar-brand{padding:0 10px 28px;display:grid;gap:5px}.sidebar-brand strong{width:max-content;border-bottom:3px solid #d32638;padding-bottom:3px;font-size:24px}.sidebar-brand span{color:#aeb6bf;font-size:12px}.sidebar nav{display:grid;gap:4px}.sidebar nav button{width:100%;min-height:44px;border:0;border-radius:5px;display:flex;align-items:center;gap:12px;padding:0 12px;background:transparent;color:#c8ced4;cursor:pointer;text-align:left}.sidebar nav button:hover{background:#30363d;color:#fff}.sidebar nav button.active{background:#fff;color:#22272e;font-weight:700}.sidebar-user{margin-top:auto;border-top:1px solid #3b424a;padding:16px 4px 0;display:flex;align-items:center;gap:9px}.sidebar-user>div{min-width:0;display:grid;gap:3px;flex:1}.sidebar-user strong,.sidebar-user small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user strong{font-size:12px}.sidebar-user small{color:#9da6af;font-size:10px}.sidebar-user .icon-button{color:#b9c0c7}.sidebar-user .icon-button:hover{background:#343b43;color:#fff}.avatar-placeholder{width:36px;height:36px;flex:0 0 36px;border-radius:50%;display:grid;place-items:center;background:#b42635;font-size:11px;font-weight:800}.workspace{min-width:0;background:#f4f5f6}.view{width:min(1240px,100%);min-height:100vh;margin:0 auto;padding:40px clamp(24px,4vw,56px) 70px}.view-header{min-height:60px;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:32px}.mobile-nav{display:none}.progress-band{display:grid;grid-template-columns:230px 1fr;gap:44px;padding:32px;background:#fff;border-top:5px solid var(--red);box-shadow:0 2px 12px #1d22270f}.progress-copy{display:grid;align-content:start;gap:5px}.progress-copy>strong{font-size:43px;line-height:1}.progress-copy p{margin:0;color:var(--muted);font-size:13px}.rank-kicker{color:var(--red);font-size:11px;font-weight:800;text-transform:uppercase}.progress-visual{align-self:center;min-width:0}.progress-track{width:100%;height:12px;border-radius:2px;overflow:hidden;background:#e6e9ec}.progress-track span{display:block;height:100%;background:var(--red);transition:width .8s ease}.rank-stops{display:grid;grid-template-columns:repeat(3,1fr);margin-top:14px}.rank-stops>div{position:relative;display:grid;gap:2px;color:#89919a;font-size:11px}.rank-stops>div:nth-child(2){text-align:center}.rank-stops>div:nth-child(3){text-align:right}.rank-stops i{position:absolute;top:-31px;width:19px;height:19px;border:3px solid #fff;border-radius:50%;background:#cbd0d5;color:var(--green)}.rank-stops>div:nth-child(2) i{left:calc(50% - 9px)}.rank-stops>div:nth-child(3) i{right:0}.rank-stops .reached{color:var(--ink)}.rank-stops .reached i{background:#fff}.rank-stops span{font-weight:700}.rank-stops small{font-size:10px}.metric-row{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);background:#fff}.metric-row>div{min-height:92px;display:grid;grid-template-columns:28px auto 1fr;align-items:center;gap:9px;padding:20px 28px;border-right:1px solid var(--line)}.metric-row>div:last-child{border-right:0}.metric-row svg{color:var(--red)}.metric-row strong{font-size:25px}.metric-row span{color:var(--muted);font-size:12px}.section-block{margin-top:40px}.section-heading{min-height:47px;display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.recent-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.document-tile,.archive-card{min-width:0;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff;text-align:left;box-shadow:0 1px 4px #14191e0a}.document-tile img{width:100%;height:142px;display:block;object-fit:cover;object-position:top;background:#e8ebee}.document-tile>div{display:grid;gap:7px;padding:14px}.document-tile strong,.archive-card strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.document-tile small,.archive-card small{color:var(--muted);font-size:11px}.status{width:max-content;max-width:100%;border-radius:3px;padding:4px 6px;background:#eceff1;color:#59616a;font-size:9px;font-weight:800;text-transform:uppercase}.status-needs_review{background:#fff1d7;color:#8a590d}.status-confirmed{background:#e4f3ea;color:#17623d}.status-processing{background:#e4eff8;color:#245b86}.status-recognition_failed{background:#fae7e9;color:#8d1d28}.empty-state,.empty-static{width:100%;min-height:180px;border:1px dashed #b8c0c7;border-radius:6px;display:grid;place-items:center;align-content:center;gap:10px;background:transparent;color:var(--muted)}.empty-state{cursor:pointer}.empty-state:hover{border-color:var(--red);color:var(--red);background:#fff}.upload-zone{position:relative;width:100%;min-height:178px;border:2px dashed #aeb6bd;border-radius:6px;display:grid;place-items:center;align-content:center;gap:8px;overflow:hidden;background:#fff;color:#3f474f;cursor:pointer}.upload-zone:hover{border-color:var(--red);background:#fffafb}.upload-zone input{display:none}.upload-zone>svg{color:var(--red)}.upload-zone>span{color:var(--muted);font-size:12px}.upload-steps{position:absolute;inset:auto 0 0;height:7px;display:grid;grid-template-columns:repeat(5,1fr);gap:3px}.upload-steps i{background:#e4e7ea;transform:scaleX(0);transform-origin:left}.is-uploading .upload-steps i{animation:fill-step 1.7s ease-in-out infinite}.is-uploading .upload-steps i:nth-child(2){animation-delay:.2s}.is-uploading .upload-steps i:nth-child(3){animation-delay:.4s}.is-uploading .upload-steps i:nth-child(4){animation-delay:.6s}.is-uploading .upload-steps i:nth-child(5){animation-delay:.8s}.is-complete{border-color:var(--green);color:var(--green)}.is-complete .upload-steps i{transform:scaleX(1);background:var(--green)}@keyframes fill-step{0%,20%{transform:scaleX(0);background:#e4e7ea}55%,90%{transform:scaleX(1);background:var(--red)}to{transform:scaleX(0)}}.archive-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.archive-card{border:1px solid var(--line);padding:0;cursor:pointer}.archive-card:hover{border-color:#9ca5ad;transform:translateY(-1px);box-shadow:0 4px 14px #14191e14}.archive-preview{position:relative;aspect-ratio:4 / 3;overflow:hidden;background:#e9ecef}.archive-preview img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}.archive-preview span{position:absolute;right:7px;bottom:7px;border-radius:3px;padding:4px 6px;background:#1f2328d1;color:#fff;font-size:9px;font-weight:700}.archive-card-copy{display:grid;gap:8px;padding:13px}.editor-backdrop{position:fixed;z-index:100;inset:0;padding:24px;display:grid;place-items:center;background:#14181cad}.document-editor{width:min(1180px,100%);height:min(860px,calc(100vh - 48px));border-radius:7px;overflow:hidden;display:grid;grid-template-rows:auto 1fr auto;background:#fff;box-shadow:0 20px 70px #00000047}.document-editor>header{min-height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;padding:12px 18px 12px 24px}.document-editor>header>div{flex:1}.document-editor>header h2{font-size:19px}.mobile-back{display:none}.editor-content{min-height:0;display:grid;grid-template-columns:minmax(360px,.9fr) minmax(420px,1.1fr)}.document-canvas{min-height:0;position:relative;display:grid;place-items:center;padding:24px;overflow:auto;background:#30353a}.document-canvas>img{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 5px 24px #00000059}.page-picker{position:absolute;bottom:14px;left:50%;transform:translate(-50%);display:flex;gap:4px;padding:4px;border-radius:5px;background:#14181ccc}.page-picker button{width:30px;height:28px;border:0;border-radius:3px;background:transparent;color:#fff;cursor:pointer}.page-picker button.active{background:#fff;color:var(--ink)}.recognition-form{min-height:0;padding:24px;overflow-y:auto;display:grid;align-content:start;gap:22px}.warning-box{border-left:4px solid var(--gold);padding:11px 13px;display:flex;gap:10px;background:#fff7e9;color:#784f10}.warning-box p{margin:0 0 4px;font-size:12px;font-weight:600}.editor-list{display:grid;gap:10px}.editor-list-title{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:6px}.editor-list-item{position:relative;display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:5px;background:#f8f9fa}.remove-item{position:absolute;z-index:1;top:4px;right:4px}.editor-list-item>label{padding-right:24px}.toggle-row{cursor:pointer}.toggle-row>input{position:absolute;opacity:0;pointer-events:none}.toggle-row>span{display:flex;align-items:center;gap:9px;font-size:13px}.toggle-row i{width:21px;height:21px;border:1px solid #adb5bd;border-radius:4px;display:grid;place-items:center;color:transparent;background:#fff}.toggle-row input:checked+span i{border-color:var(--green);background:var(--green);color:#fff}.document-editor>footer{min-height:66px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;background:#fff}.profile-view form{display:grid;gap:38px}.profile-identity{display:grid;grid-template-columns:180px 1fr;gap:32px;align-items:start}.avatar-upload{position:relative;width:180px;aspect-ratio:3 / 4;display:block;border-radius:6px;overflow:hidden;background:#dfe3e6;cursor:pointer}.avatar-upload img{width:100%;height:100%;object-fit:cover}.avatar-upload>span{width:100%;height:100%;display:grid;place-items:center;color:#59616a;font-size:34px;font-weight:800}.avatar-upload i{position:absolute;right:9px;bottom:9px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff}.avatar-upload input{display:none}.profile-fields{align-content:start}.form-section{border-top:1px solid var(--line);padding-top:28px}.rank-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.rank-selector label{cursor:pointer}.rank-selector input{position:absolute;opacity:0}.rank-selector span{min-height:78px;border:1px solid #cfd5da;border-radius:6px;display:grid;align-content:center;gap:4px;padding:14px;background:#fff}.rank-selector small{color:var(--muted);font-weight:500}.rank-selector input:checked+span{border:2px solid var(--red);padding:13px;color:var(--red);background:snow}.textarea-grid{gap:18px}.large-textarea{min-height:180px}.sticky-save{position:sticky;bottom:16px;display:flex;justify-content:flex-end;pointer-events:none}.sticky-save button{min-width:150px;pointer-events:auto;box-shadow:0 4px 18px #1c21262e}.package-hero{min-height:145px;border-left:5px solid var(--red);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 30px;background:#fff;box-shadow:0 2px 12px #1d22270f}.package-hero h2{margin:6px 0;font-size:26px}.package-hero p{margin:0;color:var(--muted)}.package-list{display:grid;border-top:1px solid var(--line)}.package-row{min-height:76px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:13px;background:#fff;padding:12px 16px}.file-icon{width:40px;height:40px;border-radius:5px;display:grid;place-items:center;background:#f1e3e5;color:var(--red)}.package-row>div{min-width:0;display:grid;gap:4px}.package-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.package-row small{color:var(--muted);font-size:11px}.package-actions{display:flex!important;flex-direction:row;gap:7px!important}@media(max-width:1040px){.recent-strip,.archive-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.editor-content{grid-template-columns:minmax(320px,.85fr) minmax(390px,1.15fr)}}@media(max-width:800px){.auth-screen{grid-template-columns:1fr}.auth-brand{min-height:250px;padding:36px 28px;justify-content:center}.brand-mark{font-size:54px}.auth-facts{display:none}.auth-form-wrap{padding:32px 24px 50px}.app-shell{display:block}.sidebar{display:none}.workspace{padding-bottom:70px}.view{padding:24px 18px 45px}.view-header{margin-bottom:24px}.view-header h1{font-size:25px}.view-header .primary-button{width:42px;padding:0;font-size:0}.mobile-nav{position:fixed;z-index:50;inset:auto 0 0;height:68px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #d5d9dd;background:#fffffff7}.mobile-nav button{border:0;display:grid;place-items:center;align-content:center;gap:3px;background:transparent;color:#747d86;font-size:10px}.mobile-nav button.active{color:var(--red);font-weight:800}.progress-band{grid-template-columns:1fr;gap:28px;padding:24px 20px}.progress-copy>strong{font-size:38px}.metric-row>div{min-height:78px;grid-template-columns:22px auto;gap:7px;padding:14px 12px}.metric-row span{grid-column:1 / -1}.metric-row strong{font-size:21px}.recent-strip,.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.document-tile img{height:120px}.editor-backdrop{padding:0}.document-editor{width:100%;height:100vh;border-radius:0}.document-editor>header{min-height:64px;padding:10px 12px}.document-editor>header>.icon-button:last-child{display:none}.mobile-back{display:inline-grid}.editor-content{display:block;overflow-y:auto}.document-canvas{height:42vh;min-height:300px}.recognition-form{overflow:visible;padding:20px 16px 100px}.document-editor>footer{position:fixed;z-index:2;inset:auto 0 0;min-height:66px}.profile-identity{grid-template-columns:112px 1fr;gap:18px}.avatar-upload{width:112px}.profile-fields{grid-template-columns:1fr}.profile-fields .span-2{grid-column:auto}.rank-selector{grid-template-columns:1fr}.package-hero{align-items:flex-start;flex-direction:column;padding:22px}.package-hero .primary-button{width:100%}.package-row{grid-template-columns:42px 1fr}.package-actions{grid-column:1 / -1}}@media(max-width:520px){.form-grid-2{grid-template-columns:1fr}.span-2{grid-column:auto}.auth-form-wrap h1{font-size:27px}.progress-band,.metric-row{margin-inline:-18px}.rank-stops span{font-size:9px}.recent-strip,.archive-grid{grid-template-columns:1fr 1fr;gap:9px}.archive-card-copy{padding:10px}.archive-preview{aspect-ratio:1 / 1}.document-tile:nth-child(n+3){display:none}.upload-zone{min-height:190px;padding:20px;text-align:center}.profile-identity{grid-template-columns:1fr}.avatar-upload{width:130px}.document-editor>footer{justify-content:flex-end}.document-editor>footer .danger-button{width:42px;padding:0;font-size:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
