@font-face{font-family:Jakarta;src:url('/static/assets/PlusJakartaSans-Regular-ui.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Jakarta;src:url('/static/assets/PlusJakartaSans-Medium-ui.woff2') format('woff2');font-weight:500 800;font-display:swap}
@font-face{font-family:Harmony;src:url('/static/assets/HarmonyOS_Sans_SC_Regular-ui.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Harmony;src:url('/static/assets/HarmonyOS_Sans_SC_Medium-ui.woff2') format('woff2');font-weight:500 800;font-display:swap}
:root{--ink:#171717;--secondary:#555550;--muted:#74746e;--line:#e5e5e1;--soft:#f5f5f2;--paper:#fff;--gold:#dabb47;--gold-dark:#947d26;--danger:#a13c32;--radius:10px;--sidebar:218px}
*{box-sizing:border-box}body{margin:0;background:#fafaf8;color:var(--ink);font:14px/1.6 Jakarta,Harmony,sans-serif}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--gold-dark);outline-offset:3px}button{border:0}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1{font-size:28px;font-weight:600;line-height:1.35;letter-spacing:-.6px}h2{font-size:17px;font-weight:600}h3{font-size:14px;font-weight:600}small{font-size:12px}svg.icon{width:19px;height:19px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.muted{color:var(--muted)}.mono{font-variant-numeric:tabular-nums}.boot{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:14px;color:var(--muted)}.loading-mark{width:22px;height:22px;border:1.5px solid var(--line);border-top-color:var(--ink);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:var(--ink);color:#e5e5e1;display:flex;flex-direction:column;padding:33px 18px 20px;z-index:10}.brand{margin:0 15px 35px}.brand img{display:block;width:150px;height:auto}.workspace-label{font-size:11px;letter-spacing:1.5px;color:#8f8f8a;margin-top:17px}.nav-label{padding:0 15px;margin-bottom:9px;font-size:10px;letter-spacing:1.5px;color:#8f8f8a}.navigation{display:grid;gap:5px}.nav-item{display:flex;align-items:center;gap:11px;width:100%;text-align:left;border-radius:7px;background:none;color:#adada6;padding:12px 14px;position:relative;font-size:13px}.nav-item:hover{background:#242424;color:#fff}.nav-item.active{background:#2b2b29;color:#fff}.nav-item.active:before{content:'';width:2px;height:19px;background:var(--gold);position:absolute;left:0}.nav-item .badge{margin-left:auto;color:#c7c7c2;font-size:11px;background:#393937;min-width:21px;text-align:center;border-radius:4px}.sidebar-foot{margin-top:auto;border-top:1px solid #333330;padding:19px 9px 0}.connection-heading{display:flex;align-items:center;gap:7px;font-size:12px;color:#c7c7c2}.status-dot{width:6px;height:6px;border:1px solid currentColor;border-radius:50%;display:inline-block;flex-shrink:0}.sidebar-note{font-size:11px;line-height:1.7;color:#8f8f8a;margin:9px 0 16px}.checkbox-label input{accent-color:var(--ink);width:14px;height:14px;margin-top:3px}.sidebar .checkbox-label input{accent-color:#c7c7c2}.workspace{margin-left:var(--sidebar);min-height:100vh}.topbar{height:72px;padding:0 40px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.75)}.breadcrumb{display:flex;align-items:center;gap:11px;font-size:12px;color:var(--muted)}.breadcrumb svg{width:12px;height:12px;color:#aaa}.breadcrumb strong{font-weight:500;color:var(--ink)}.user-info{display:flex;gap:10px;align-items:center;font-size:12px}.user-avatar{width:31px;height:31px;border:1px solid var(--line);border-radius:50%;background:var(--soft);display:grid;place-items:center;font-size:10px;font-weight:600}.main{max-width:1350px;margin:0 auto;padding:38px 40px 50px}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:26px}.eyebrow{font-size:10px;letter-spacing:1.6px;color:var(--muted);margin-bottom:8px}.subtitle{color:var(--muted);margin-top:10px;font-size:13px}.heading-extra{display:flex;align-items:center;gap:8px;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:6px;min-height:41px;padding:10px 17px;font-size:13px;line-height:1.4;white-space:nowrap;background:var(--ink);color:#fff;border:1px solid var(--ink);font-weight:500}.btn:hover{background:#343432}.btn.secondary{background:#fff;color:var(--ink);border-color:var(--line)}.btn.secondary:hover{background:var(--soft);border-color:#c7c7c2}.btn.ghost{background:none;border-color:transparent;color:var(--secondary);padding:8px 10px}.btn.ghost:hover{background:var(--soft)}.btn.compact{min-height:33px;padding:6px 10px;font-size:12px}.btn .icon{width:16px;height:16px}.text-button{background:none;color:var(--secondary);display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:5px 0}.text-button:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}.text-button .icon{width:14px;height:14px}.icon-button{background:none;color:var(--secondary);font-size:25px;width:36px;height:36px;border-radius:5px}.icon-button:hover{background:var(--soft)}
.steps{display:flex;align-items:center;gap:0;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid var(--line)}.step{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:12px}.step-number{width:25px;height:25px;display:grid;place-items:center;border:1px solid #d8d8d2;border-radius:50%;font-size:10px}.step.current{color:var(--ink);font-weight:500}.step.current .step-number{background:var(--ink);color:#fff;border-color:var(--ink)}.step.done .step-number{background:#eeeeea;color:var(--ink);border-color:#eeeeea}.step.done .icon{width:12px;height:12px}.step-connector{height:1px;background:var(--line);width:58px;margin:0 20px}.toolbar{display:flex;justify-content:space-between;gap:14px;margin-bottom:17px}.search{position:relative;width:320px;max-width:100%}.search>.icon{position:absolute;left:13px;top:12px;width:17px;color:var(--muted)}.search input{padding-left:39px!important}.control{width:100%;height:42px;border:1px solid #dcdcd6;background:#fff;color:var(--ink);border-radius:6px;padding:9px 12px;font-size:13px;transition:border-color .15s}.control::placeholder{color:#979791}.control:hover{border-color:#bdbdb6}.control:focus{border-color:var(--gold-dark);outline:1px solid var(--gold-dark);outline-offset:0}.toolbar select{width:156px}.toolbar-left{display:flex;gap:10px}.record-count{display:flex;align-items:center;color:var(--muted);font-size:12px}.table-wrap{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.candidate-table,.history-table{width:100%;border-collapse:collapse;text-align:left}.candidate-table th,.history-table th{font-size:11px;letter-spacing:.3px;color:var(--muted);font-weight:400;background:#fafaf8;padding:13px 20px;border-bottom:1px solid var(--line)}.candidate-table td,.history-table td{padding:19px 20px;border-bottom:1px solid #eeeeea;font-size:12px;vertical-align:middle}.candidate-table tr:last-child td,.history-table tr:last-child td{border-bottom:0}.candidate-table tr.candidate-row{cursor:pointer}.candidate-row:hover{background:#fbfbf8}.candidate-row.selected{background:#f7f7f3}.candidate-row.selected td:first-child{box-shadow:inset 2px 0 0 var(--gold-dark)}.candidate-cell{display:flex;align-items:center;gap:12px;min-width:150px}.candidate-avatar{width:36px;height:36px;border-radius:7px;display:grid;place-items:center;border:1px solid var(--line);color:var(--secondary);background:var(--soft);font-size:14px;flex-shrink:0}.candidate-name{font-size:14px;font-weight:500;display:block}.candidate-email{font-size:10px;color:var(--muted);display:block;margin-top:3px}.position-list{max-width:220px;line-height:1.8}.position-extra{font-size:10px;color:var(--muted);display:block}.type-tag,.status-tag{display:inline-flex;align-items:center;gap:6px;color:var(--secondary);font-size:10px;padding:3px 8px;background:var(--soft);border-radius:4px;white-space:nowrap}.type-tag.intern{background:none;border:1px solid var(--line);color:var(--muted)}.row-radio{width:16px;height:16px;appearance:none;border:1px solid #c7c7c2;border-radius:50%;vertical-align:middle;display:inline-block;position:relative;cursor:pointer;margin:0 0 0 13px}.row-radio:checked{border-color:var(--ink)}.row-radio:checked:after{content:'';position:absolute;inset:3px;border-radius:50%;background:var(--ink)}.table-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:19px}.selection-info{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.template-note{margin-top:28px;border-top:1px solid var(--line);padding-top:19px;display:flex;gap:11px;color:var(--muted);font-size:12px}.template-note .icon{width:17px}.template-note strong{color:var(--secondary);font-weight:500}.empty{padding:64px 20px;text-align:center;color:var(--muted);font-size:13px}.empty .empty-icon{width:50px;height:50px;border:1px solid var(--line);background:var(--soft);border-radius:12px;display:grid;place-items:center;margin:0 auto 15px}.empty h2{color:var(--ink);font-size:17px;margin-bottom:8px}.empty .btn{margin-top:20px}.empty .icon{width:22px;height:22px}
.form-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:28px;align-items:start}.form-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:26px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.section-heading small{color:var(--muted);font-size:11px}.section-label{font-size:10px;color:var(--muted);letter-spacing:1px;margin-bottom:3px}.form-section+.form-section{border-top:1px solid var(--line);margin-top:27px;padding-top:23px}.fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px 17px}.field.full{grid-column:1/-1}.field label{display:flex;align-items:center;gap:4px;font-size:12px;margin-bottom:8px;color:var(--secondary)}.required{color:#8f8f8a}.input-suffix{position:relative}.input-suffix input{padding-right:60px}.input-suffix>span{position:absolute;right:12px;top:12px;font-size:11px;color:var(--muted);pointer-events:none}.field-hint{font-size:10px;color:var(--muted);margin-top:6px;line-height:1.6}.field-error{font-size:11px;color:var(--danger);margin-top:5px;min-height:0}.control[aria-invalid=true]{border-color:var(--danger)}.form-error{color:var(--danger);font-size:12px;margin-bottom:15px}.form-error:empty{display:none}.form-bottom{margin-top:24px;display:flex;justify-content:space-between;align-items:center;gap:10px}.form-bottom .muted{font-size:11px;max-width:210px}.side-stack{display:grid;gap:18px}.delivery-summary{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:22px}.delivery-summary .section-label{margin-bottom:10px}.recipient{display:flex;align-items:center;gap:11px;margin-bottom:16px}.recipient .user-avatar{width:37px;height:37px}.recipient strong{font-size:13px;font-weight:500;display:block}.recipient small{font-size:10px;color:var(--muted);display:block}.summary-row{display:flex;justify-content:space-between;gap:14px;font-size:11px;padding:9px 0;border-top:1px solid #eeeeea}.summary-row dt{color:var(--muted)}.summary-row dd{margin:0;text-align:right;max-width:70%;overflow-wrap:anywhere}.template-preview{padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:#f0f0eb}.preview-topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font-size:11px;color:var(--secondary)}.paper-preview{display:block;width:100%;padding:0;background:#fff;border:1px solid #ddddd6;box-shadow:0 5px 16px #00000006;cursor:zoom-in}.paper-preview img{width:100%;display:block;aspect-ratio:595/842;object-fit:contain}.template-caption{margin:12px 0 0;color:var(--muted);font-size:10px;line-height:1.6}.notice{display:flex;gap:9px;padding:13px 15px;border:1px solid var(--line);border-radius:6px;font-size:12px;color:var(--secondary);background:#f5f5f1;margin-bottom:20px}.notice .icon{width:17px;height:17px;margin-top:2px}.notice.warning{border-color:#d1c7a7}.result-layout{display:grid;grid-template-columns:minmax(270px,.85fr) minmax(330px,1.15fr);gap:35px;align-items:start}.result-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px}.result-icon{width:47px;height:47px;display:grid;place-items:center;border-radius:50%;background:var(--soft);margin-bottom:22px}.result-icon .icon{width:24px;height:24px}.result-card h2{font-size:22px;margin-bottom:11px;line-height:1.45}.result-card>p{color:var(--muted);font-size:12px;line-height:1.9}.result-actions{display:grid;gap:10px;margin-top:25px}.result-data{margin:22px 0 0}.delivery-timeline{margin-top:23px;display:grid;gap:15px}.timeline-item{display:flex;gap:10px;font-size:11px;color:var(--muted);align-items:center}.timeline-item .icon{width:15px;height:15px}.timeline-item.complete{color:var(--secondary)}.result-paper{border:1px solid var(--line);border-radius:8px;padding:20px;background:#eeeee9}.result-paper img{display:block;width:100%;height:auto;box-shadow:0 4px 24px #00000009}.result-preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;font-size:11px;color:var(--muted)}.paper-skeleton{aspect-ratio:595/842;background:#fff;border:1px solid var(--line);padding:40px 25px}.skeleton-line{height:8px;background:#ededeb;border-radius:2px;margin:14px 0;animation:pulse 1.6s ease-in-out infinite}.skeleton-line:nth-child(3n){width:70%}.skeleton-line:first-child{width:40%;height:14px;margin:25px auto 40px}@keyframes pulse{50%{opacity:.4}}.history-table .file-title{font-size:12px;font-weight:500;display:block;margin-bottom:3px;overflow-wrap:anywhere}.history-table .file-subtitle{font-size:10px;color:var(--muted)}.status-tag.failed{color:var(--danger);background:#f8f1ef}.history-table td:last-child{text-align:right}.access-denied{margin:45px auto;max-width:550px;border:1px solid var(--line);border-radius:12px;background:#fff}.access-denied p{max-width:340px;margin:0 auto}.mobile-brand{display:none}#toast{position:fixed;bottom:28px;left:calc(50% + var(--sidebar)/2);transform:translateX(-50%);background:var(--ink);color:#fff;padding:11px 18px;border-radius:7px;font-size:12px;z-index:50;opacity:0;pointer-events:none;transition:opacity .15s;max-width:90vw}#toast.visible{opacity:1}dialog{padding:0;border:1px solid var(--line);border-radius:10px;width:min(700px,94vw);max-height:92vh;background:#f5f5f0}dialog::backdrop{background:#0007}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0}.dialog-header strong{font-size:13px;font-weight:500}dialog>img{display:block;width:100%;padding:22px}.small-link{font-size:11px;color:var(--secondary);text-decoration:underline;text-underline-offset:3px}
@media(min-width:1600px){.main{padding-top:45px}.candidate-table td{padding-top:23px;padding-bottom:23px}}
@media(max-width:1150px){:root{--sidebar:188px}.sidebar{padding-left:12px;padding-right:12px}.brand{margin-left:11px;margin-right:11px}.brand img{width:140px}.main{padding:28px 25px 40px}.topbar{padding:0 25px}.candidate-table td,.candidate-table th,.history-table td,.history-table th{padding-left:13px;padding-right:13px}.candidate-table .submitted-col{display:none}.form-layout{gap:19px;grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr)}.form-card{padding:21px}.fields-grid{gap:17px 12px}.result-layout{gap:20px}.result-card{padding:24px}.step-connector{width:40px;margin:0 15px}}
@media(max-width:850px){.form-layout,.result-layout{grid-template-columns:1fr}.side-stack{grid-template-columns:1fr 1fr;align-items:start}.result-paper{max-width:600px}.form-bottom .muted{max-width:none}.candidate-email{max-width:170px;overflow:hidden;text-overflow:ellipsis}.history-table .date-col{display:none}}
@media(max-width:640px){:root{--sidebar:0px}.sidebar{position:static;width:100%;height:auto;padding:0;background:#171717}.brand,.nav-label,.sidebar-foot{display:none}.navigation{display:flex;gap:0;padding:8px 12px}.nav-item{justify-content:center;font-size:11px;padding:10px 7px;gap:6px;min-height:42px}.nav-item .icon{width:16px;height:16px}.nav-item.active:before{left:18px;right:18px;bottom:0;top:auto;width:auto;height:1px}.nav-item .badge{margin-left:0;font-size:9px;min-width:17px}.workspace{margin-left:0}.topbar{height:58px;padding:0 18px}.breadcrumb{font-size:10px}.user-info{font-size:10px;gap:6px}.user-avatar{width:27px;height:27px}.main{padding:25px 18px 35px}h1{font-size:25px}.page-heading{gap:12px;flex-wrap:wrap;margin-bottom:23px}.heading-extra{margin-top:0}.subtitle{font-size:12px;margin-top:8px}.eyebrow{font-size:9px}.steps{margin-bottom:23px;padding-bottom:20px;justify-content:space-between}.step{font-size:10px;gap:6px}.step-number{width:22px;height:22px}.step-connector{width:12px;margin:0 5px}.toolbar{flex-direction:column;gap:9px}.toolbar-left{width:100%}.search{flex:1;width:auto;min-width:0}.toolbar select{width:108px}.record-count{font-size:10px}.candidate-table th{font-size:10px;padding:11px 9px}.candidate-table td{padding:15px 9px}.candidate-avatar{display:none}.candidate-cell{min-width:112px}.candidate-name{font-size:12px}.candidate-email{font-size:9px;max-width:125px}.candidate-table .type-col,.candidate-table .submitted-col{display:none}.position-list{font-size:10px;max-width:145px}.position-extra{font-size:9px}.row-radio{margin-left:0}.table-foot{gap:12px}.selection-info{font-size:11px}.table-foot .btn{padding:10px 12px;font-size:12px}.template-note{font-size:11px}.form-card{padding:19px 16px}.fields-grid{gap:16px 12px}.field label{font-size:11px}.control{font-size:12px;min-width:0}.form-bottom{flex-direction:column;align-items:stretch;gap:15px}.form-bottom .muted{text-align:center;font-size:10px}.form-bottom .btn{width:100%}.side-stack{grid-template-columns:1fr}.template-preview{display:none}.delivery-summary{padding:18px}.result-layout{grid-template-columns:1fr}.result-card{padding:23px}.result-card h2{font-size:21px}.result-paper{padding:13px}.history-table th,.history-table td{padding:14px 10px}.history-table .position-col{display:none}.history-table .file-title{font-size:10px}.history-table .status-tag{font-size:9px;padding:3px 5px}#toast{left:50%;font-size:11px;bottom:17px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition:none!important;scroll-behavior:auto!important}}

.login-page{min-height:100vh;display:grid;grid-template-rows:auto 1fr}.login-brand{display:flex;align-items:center;justify-content:space-between;padding:27px 40px;background:var(--ink);color:#aaa;font-size:11px;letter-spacing:1px}.login-brand img{width:155px}.login-card{width:min(480px,calc(100% - 36px));margin:auto;padding:48px 34px;text-align:center}.login-icon{width:54px;height:54px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;background:#fff;margin:28px auto 24px}.login-card .subtitle{line-height:1.9;max-width:330px;margin:14px auto 24px}.login-card .btn{min-width:180px}.login-note{margin-top:18px;font-size:11px;color:var(--muted)}.login-message{font-size:12px;color:var(--danger);margin:0 0 22px;overflow-wrap:anywhere}.login-card h1{font-size:30px}@media(max-width:640px){.login-brand{padding:22px}.login-brand img{width:138px}.login-brand span{font-size:9px}.login-card{padding:30px 12px}.user-info #logout-button{font-size:10px}}
