:root{--paper:#f3f0e9;--ink:#171816;--muted:#696b66;--line:#cbc8bf;--blue:#1547e8;--blue-dark:#0c2d9b;--error:#a52a20;--success:#1e6848}*{box-sizing:border-box}html{background:var(--paper)}body{color:var(--ink);background:linear-gradient(90deg, transparent 49.95%, #17181609 50%, transparent 50.05%), var(--paper);margin:0;font-family:Inter,Segoe UI,Arial,sans-serif}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}.shell{min-height:100svh}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:72px;padding:0 4vw;display:flex}.brand{letter-spacing:-.04em;font-family:Georgia,Times New Roman,serif;font-size:25px;text-decoration:none}.nav{align-items:center;gap:24px;font-size:13px;display:flex}.nav a{color:var(--muted);text-decoration:none}.nav a:hover{color:var(--ink)}.workspace{width:min(1180px,92vw);margin:0 auto;padding:64px 0 100px;animation:.48s cubic-bezier(.2,.8,.2,1) both rise}.workspace-head{border-bottom:1px solid var(--ink);grid-template-columns:minmax(0,1fr) minmax(280px,420px);align-items:end;gap:8vw;padding-bottom:48px;display:grid}.eyebrow{color:var(--blue);letter-spacing:.13em;text-transform:uppercase;margin:0 0 14px;font-size:12px;font-weight:700}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.045em;font-family:Georgia,Times New Roman,serif;font-weight:400}h1{margin-bottom:0;font-size:clamp(46px,7vw,92px);line-height:.94}h2{font-size:clamp(30px,4vw,52px)}.lede{color:var(--muted);margin:0;font-size:17px;line-height:1.55}.upload-grid{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:6vw;padding:48px 0;display:grid}.dropzone{text-align:center;cursor:pointer;background:#ffffff3d;border:1px dashed #8f918b;place-content:center;min-height:270px;transition:border-color .18s,background .18s,transform .18s;display:grid}.dropzone:hover,.dropzone.dragging{border-color:var(--blue);background:#1547e80e;transform:translateY(-2px)}.dropzone strong{margin-bottom:8px;font-size:20px;display:block}.dropzone span{color:var(--muted);font-size:13px}.dropzone input{display:none}.form-stack{flex-direction:column;justify-content:space-between;gap:24px;display:flex}.field{gap:9px;display:grid}.field label{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:12px}.field input,.field select{width:100%;color:var(--ink);border:0;border-bottom:1px solid var(--line);background:0 0;outline:none;padding:14px 0}.field input:focus,.field select:focus{border-color:var(--blue)}.check{color:var(--muted);align-items:center;gap:9px;font-size:14px;display:flex}.check input{accent-color:var(--blue)}.button{color:#fff;background:var(--blue);cursor:pointer;border:0;justify-content:center;align-items:center;min-height:50px;padding:0 24px;text-decoration:none;transition:background .16s,transform .16s;display:inline-flex}.button:hover{background:var(--blue-dark);transform:translateY(-1px)}.button:disabled{opacity:.45;cursor:not-allowed;transform:none}.button.secondary{color:var(--ink);border:1px solid var(--line);background:0 0}.button.danger{background:var(--error)}.status-area{padding-top:48px}.status-line{justify-content:space-between;align-items:baseline;gap:20px;display:flex}.status-line h2{margin-bottom:12px}.status-code{color:var(--muted);font:12px ui-monospace,monospace}.progress{background:var(--line);height:3px;margin:26px 0 36px;overflow:hidden}.progress>span{background:var(--blue);height:100%;transition:width .5s cubic-bezier(.2,.8,.2,1);display:block}.progress.indeterminate>span{width:35%;animation:1.35s ease-in-out infinite scan}.file-list{border-top:1px solid var(--line)}.file-row{border-bottom:1px solid var(--line);grid-template-columns:1fr 120px 140px;gap:20px;padding:17px 0;font-size:13px;display:grid}.file-path{overflow-wrap:anywhere}.file-kind,.file-state{color:var(--muted)}.file-state.failed,.error{color:var(--error)}.file-state.completed{color:var(--success)}.file-state.has-tooltip{cursor:help;position:relative}.file-error-tooltip{z-index:10;color:#fff;background:var(--ink);text-transform:none;overflow-wrap:anywhere;width:min(420px,70vw);padding:10px 12px;font-size:12px;line-height:1.45;display:none;position:absolute;bottom:calc(100% + 10px);right:0;box-shadow:0 8px 24px #0000002e}.file-state.has-tooltip:hover .file-error-tooltip,.file-state.has-tooltip:focus .file-error-tooltip{display:block}.notice{color:var(--muted);padding:16px 0;font-size:13px;line-height:1.5}.login{grid-template-columns:1.15fr .85fr;min-height:100svh;display:grid}.login-poster{color:#fff;background:var(--blue);flex-direction:column;justify-content:space-between;padding:5vw;display:flex}.login-poster .brand{font-size:30px}.login-poster h1{max-width:760px;font-size:clamp(56px,8.5vw,132px)}.login-poster p{opacity:.72;max-width:460px;margin:0}.login-panel{place-items:center;padding:8vw;display:grid}.login-form{width:min(100%,380px)}.login-form h2{margin-bottom:40px}.login-form .button{width:100%;margin-top:26px}.table{border-collapse:collapse;width:100%;font-size:13px}.table th{color:var(--muted);text-align:left;border-bottom:1px solid var(--ink);padding:12px 10px;font-weight:500}.table td{border-bottom:1px solid var(--line);vertical-align:top;padding:16px 10px}.admin-section{border-bottom:1px solid var(--line);padding:42px 0}.admin-section h2{margin-bottom:24px;font-size:36px}.inline-form{align-items:end;gap:16px;max-width:620px;display:flex}.inline-form .field{flex:1}.tag{letter-spacing:.06em;text-transform:uppercase;font-size:11px}.tag.COMPLETED{color:var(--success)}.tag.FAILED,.tag.PARTIAL{color:var(--error)}@keyframes rise{0%{opacity:0;transform:translateY(18px)}}@keyframes scan{0%{transform:translate(-110%)}to{transform:translate(300%)}}@media (max-width:760px){.topbar{height:62px}.workspace{padding-top:38px}.workspace-head,.upload-grid{grid-template-columns:1fr;gap:32px}.workspace-head{padding-bottom:34px}.upload-grid{padding:34px 0}.dropzone{min-height:210px}.file-row{grid-template-columns:1fr 80px}.file-kind{display:none}.login{grid-template-columns:1fr}.login-poster{min-height:44svh;padding:28px}.login-poster h1{font-size:clamp(46px,15vw,74px)}.login-panel{place-items:start stretch;padding:42px 28px}.inline-form{flex-direction:column;align-items:stretch}.table-wrap{overflow-x:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
