:root{font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,sans-serif;color:#302e2b;background:#f6f5f1;font-synthesis:none;font-size:14px;--wine:#692d3b;--gold:#ad8752;--line:#e7e4dd;--muted:#85827c}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button{transition:background .15s}button:focus-visible,a:focus-visible{outline:3px solid #bd9b63;outline-offset:3px}input,select,textarea{border:1px solid #ddd9d2;border-radius:6px;background:#fff;color:#38342f;padding:9px 11px;min-width:0}input:focus,textarea:focus,select:focus{outline:2px solid #c8ad7f55;border-color:#ae8852}select{max-width:100%}input[type=checkbox]{accent-color:var(--wine)}.app{display:flex;min-height:100vh}.sidebar{width:232px;position:fixed;inset:0 auto 0 0;background:#faf9f5;border-right:1px solid var(--line);padding:32px 18px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;font-weight:700;font-size:20px;color:var(--wine);padding:0 10px}.brand-icon{background:var(--wine);color:#f5ede0;padding:10px;border-radius:11px;display:flex}.brand span{display:block;font-size:8px;letter-spacing:1.5px;color:#938371;margin-top:4px}.term{font-size:11px;color:#8c8174;margin:30px 10px 22px;letter-spacing:1px}nav{display:grid;gap:8px}nav button{display:flex;align-items:center;gap:12px;text-align:left;border:0;color:#766f65;background:transparent;padding:13px 15px;border-radius:7px;font-weight:500}nav button:hover{background:#eeeae1}nav button.active{background:var(--wine);color:#fff}nav em{font-size:10px;font-style:normal;margin-left:auto;background:#ffffff24;padding:2px 6px;border-radius:4px}.side-bottom{display:flex;gap:10px;align-items:center;color:#79766e;margin-top:auto;padding:20px 12px 0;border-top:1px solid var(--line);font-size:12px}.side-bottom small{display:block;margin-top:5px;font-size:10px;color:#9d978c}main{margin-left:232px;flex:1;min-width:0}header{height:106px;background:#ffffffc9;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:20px 38px}.eyebrow{font-size:10px;letter-spacing:1px;color:#9c8d78}h1{font-size:18px;font-weight:600;margin:7px 0 0;letter-spacing:.6px}.private{font-size:11px;color:#7d786e;display:flex;gap:7px;align-items:center;white-space:nowrap}.private span,.dot{width:6px;height:6px;border-radius:50%;background:#688372;display:inline-block}.content{padding:30px 38px;max-width:1640px;margin:auto;min-height:calc(100vh - 170px)}h2{margin:0;font-size:25px;font-weight:600;letter-spacing:.5px}p{line-height:1.8;color:#817b71}h3{font-size:17px;font-weight:600}.title-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.title-row p{font-size:12px;margin:9px 0 0}.actions{display:flex;align-items:center;gap:9px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #dcd7cd;border-radius:6px;background:#fff;color:#645d52;padding:10px 15px;font-size:12px;font-weight:500;white-space:nowrap}.button:hover{background:#f5f0e8}.button.primary{background:var(--wine);border-color:var(--wine);color:#fff}.button.primary:hover{background:#53222e}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}.stat{background:#fff;border:1px solid var(--line);padding:21px 22px;display:flex;align-items:center;justify-content:space-between;border-radius:9px}.stat span{font-size:11px;color:#8d857a}.stat strong{display:block;font-size:29px;font-weight:500;line-height:1.3;margin-top:9px;letter-spacing:.5px}.stat small{font-size:11px;font-weight:400;color:#a49a8e;margin-left:9px}.stat-icon{padding:11px;border-radius:8px;background:#f6f1eb;color:#9d7c55;display:flex}.stat:nth-child(2) .stat-icon{color:#ba8d48;background:#fbf5e8}.stat:nth-child(3) .stat-icon{color:#658876;background:#f0f6f1}.empty-upload{background:#fff;border:1px dashed #cfc3b0;border-radius:10px;min-height:410px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:48px 20px}.upload-symbol{padding:20px;background:#f6f1ea;color:#9d7c55;border-radius:50%;display:flex}.empty-upload h3{margin:22px 0 4px;font-size:20px}.empty-upload p{text-align:center;font-size:12px;margin:7px 0 24px}.steps{display:flex;align-items:center;gap:20px;color:#a39582;font-size:10px;margin-top:42px}.storage-note{display:flex;gap:8px;align-items:center;justify-content:center;color:#9a9286;font-size:10px;margin:23px 0}.docbar{display:flex;align-items:center;gap:12px;margin-bottom:15px;color:#9b825f}.docbar select{max-width:460px;background:transparent;border:0;padding-left:0;color:#655c4f;font-weight:500}.docbar .text-button{margin-left:auto}.tag{display:inline-flex;align-items:center;border:0;border-radius:4px;background:#f0eeea;color:#8c857a;padding:4px 8px;font-size:10px;white-space:nowrap}.tag.green{color:#597761;background:#ecf4ee}.tag.gold{color:#aa7a34;background:#fbf2df}.work-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(380px,1fr);gap:20px;align-items:start}.panel{background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;border-bottom:1px solid var(--line);gap:12px;min-height:58px}.panel-heading strong{font-size:12px;font-weight:600}.panel-heading select{font-size:11px;padding:5px 9px}.icon-button{padding:5px;display:flex;align-items:center;background:transparent;color:#8d806d;border:0}.paper-stage{min-height:370px;max-height:700px;overflow:auto;background:#eae8e3;padding:20px;display:flex;align-items:flex-start;justify-content:flex-start}.paper-stage img{height:auto;box-shadow:0 3px 10px #30271917}.pagination{padding:12px;display:flex;justify-content:center;align-items:center;gap:20px;color:#938573;font-size:11px}.pagination button{border:1px solid var(--line);border-radius:4px;background:#fff;padding:5px;display:flex;color:#837461}.pagination input{width:50px;text-align:center;font-size:11px;padding:3px;border-color:#eee}.review-body{padding:19px}.ocr-controls{display:flex;flex-wrap:wrap;gap:7px}.ocr-controls select{flex:1;min-width:120px;font-size:11px;padding:7px}.ocr-controls .button{font-size:11px;padding:8px 10px}.help{font-size:10px;line-height:1.8;color:#9c9286;margin:10px 0 18px}.record-empty{padding:48px 8px 36px;text-align:center;color:#c2ae91}.record-empty h3{color:#6e6251;font-size:15px}.record-empty p{font-size:11px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 12px}label{display:flex;flex-direction:column;gap:7px;font-size:11px;color:#8b7e6b}label input,label select,label textarea{width:100%;font-size:12px}.full{grid-column:1/-1}.match-box{margin-top:20px;padding:14px;background:#fcf9f2;border:1px solid #e9dfce;border-radius:6px}.match-box strong{font-size:11px;display:flex;align-items:center;gap:7px;color:#9d7841}.match-box p{font-size:11px;margin:8px 0}.match-box select{margin-top:8px;width:100%;font-size:11px}.matched{background:#f4f8f4;border-color:#d7e3d7}.candidate{display:flex;text-align:left;width:100%;background:#fff;border:1px solid #e4dccf;border-radius:4px;margin-top:6px;padding:9px;font-size:11px;color:#675c4a}.candidate span{margin-left:auto;color:var(--wine)}details{margin-top:18px;font-size:11px;color:#92816a}summary{cursor:pointer}pre{white-space:pre-wrap;word-break:break-word;background:#f6f4f0;padding:12px;font-size:11px;max-height:180px;overflow:auto;color:#6c655a}.review-footer{display:flex;justify-content:space-between;margin-top:20px;border-top:1px solid var(--line);padding-top:18px;gap:9px}.text-button{display:inline-flex;gap:6px;align-items:center;border:0;background:transparent;color:#8f704e;font-size:11px;padding:7px 0}.text-button.danger{color:#aa7a78}.record-tabs{display:flex;gap:5px;margin:12px 0 18px;flex-wrap:wrap}.record-tabs button{border:1px solid var(--line);background:#fff;padding:5px 10px;font-size:10px;color:#a18c70;border-radius:4px;display:flex;align-items:center;gap:3px}.record-tabs button.selected{border-color:#a87e55;background:#f8f1e7;color:#8f623d}.notice{padding:12px 15px;background:#edf5ed;border:1px solid #d7e6d6;border-radius:6px;margin-bottom:20px;display:flex;gap:10px;font-size:12px;align-items:center;line-height:1.8}.notice.error{background:#fbefeb;border-color:#ebd6ce;color:#9b4d40}.notice>svg{flex-shrink:0}.notice button{border:0;background:none;color:inherit;margin-left:auto;display:flex}.busy{padding:12px;background:#faf2df;border:1px solid #e7d7ae;border-radius:6px;display:flex;gap:10px;align-items:center;font-size:11px;margin-bottom:20px}.busy button{margin-left:auto;font-size:10px;background:transparent;border:0;color:#8c6836}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.compact{grid-template-columns:repeat(2,minmax(150px,260px))}.search{display:flex;align-items:center;gap:8px;color:#a69986}.search input{border:0;padding:6px;font-size:11px;min-width:210px}.table-wrap{overflow:auto;max-height:65vh}table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}th{background:#faf9f6;color:#9e8f7a;text-align:left;font-size:10px;font-weight:500;position:sticky;top:0}td,th{padding:15px 20px;border-bottom:1px solid #f0ede7}td{color:#756a5a}td small{display:block;color:#aaa093;font-size:10px;margin-top:5px}.strike{text-decoration:line-through}.source-cell{max-width:190px;overflow:hidden;text-overflow:ellipsis}.table-empty{text-align:center;padding:50px;color:#a79b88;font-size:12px}.checkbox{flex-direction:row;align-items:center;margin-top:18px;font-size:11px}.checkbox input{width:auto}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.settings-card{padding:25px}.settings-card h3{display:flex;align-items:center;gap:9px;color:#6e563a;font-size:15px;margin-top:0}.settings-card p{font-size:12px}.settings-card label{margin:14px 0}.settings-card .button{margin:8px 8px 8px 0}.settings-card a{color:#986d41;font-size:11px}.local-status{background:#f5f4ee;margin-top:20px;padding:14px;font-size:11px;line-height:2;color:#827564}.local-status .dot{margin-right:7px}.local-status small{font-size:10px;color:#a3927c}.alias-list{font-size:11px;color:#907859}.alias-list>div{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:14px}.alias-list strong{font-weight:500}footer{border-top:1px solid var(--line);padding:20px 38px;color:#a89b88;font-size:9px;display:flex;justify-content:space-between;gap:10px}.muted{color:#a39683;font-size:11px}@media (min-width:1600px){.paper-stage{min-height:460px}}@media (max-width:1200px){.sidebar{width:200px;padding:27px 12px}.brand{font-size:18px;padding:0}.brand span{font-size:7px}main{margin-left:200px}.content{padding:25px}.stats{gap:10px}.stat{padding:17px 15px}.stat-icon{padding:8px}.stat-icon svg{width:19px}.work-grid{grid-template-columns:minmax(0,1fr) minmax(340px,1fr)}header{padding:20px 25px}h1{font-size:16px}.ocr-controls select{width:100%;flex-basis:100%}.steps{gap:10px}}@media (max-width:950px){.sidebar{width:72px;padding:25px 10px}.brand{justify-content:center}.brand>div:last-child,.term,.side-bottom{display:none}nav{margin-top:35px}nav button{font-size:0;padding:15px;justify-content:center;gap:0}nav button svg{flex-shrink:0}nav em{display:none}main{margin-left:72px}.stats{grid-template-columns:repeat(2,1fr)}.work-grid{grid-template-columns:1fr}.paper-stage{min-height:250px;max-height:500px}.title-row{align-items:flex-start}.title-row .actions{flex-direction:column;align-items:stretch}.private{display:none}.settings-grid{grid-template-columns:1fr}}@media (max-width:600px){.sidebar{position:fixed;top:auto;bottom:0;width:100%;height:65px;padding:0;z-index:10;border-right:0;border-top:1px solid var(--line);background:#faf9f5}.brand{display:none}nav{margin:0;display:flex;justify-content:space-around;height:100%}nav button{font-size:9px;flex-direction:column;gap:5px;padding:9px 10px;border-radius:0;background:none!important;flex:1;color:#9a8b77}nav button.active{color:var(--wine);border-top:2px solid var(--wine)}main{margin-left:0;margin-bottom:65px}header{height:90px;padding:15px 18px}h1{font-size:14px;line-height:1.6}.content{padding:22px 16px}h2{font-size:21px}.title-row{flex-direction:column;gap:16px}.title-row .actions{flex-direction:row;width:100%;flex-wrap:wrap}.title-row p{font-size:11px}.stats{gap:9px;margin-bottom:20px}.stat{padding:15px 12px}.stat strong{font-size:25px}.stat span{font-size:10px}.stat-icon{padding:7px}.empty-upload{padding:35px 15px;min-height:380px}.steps{font-size:8px;gap:6px;flex-wrap:wrap;justify-content:center}.docbar select{max-width:calc(100% - 110px);font-size:11px}.docbar .tag{display:none}.docbar{gap:7px}.docbar .text-button{font-size:0}.paper-stage{padding:10px;max-height:450px}.panel-heading,.review-body{padding:15px}.panel-heading .actions{flex-wrap:wrap}.search input{min-width:130px;width:100%}.panel-heading .search{min-width:0}footer{padding:18px 16px;font-size:8px}footer span{display:none}.storage-note{line-height:1.8;font-size:9px;align-items:flex-start}.settings-card{padding:20px}.compact{grid-template-columns:1fr 1fr}.review-footer{flex-wrap:wrap}.checkbox{line-height:1.8}td,th{padding:13px}.busy{flex-wrap:wrap}}.auth-shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at top left,#eee4d7,#f8f6f1 65%);padding:30px;gap:15px;color:#88745c}.auth-card{width:100%;max-width:450px;background:#fff;border:1px solid #e8dfd1;padding:42px;border-radius:14px;box-shadow:0 15px 80px #5b392413}.auth-card>.brand-icon{width:62px;height:62px;align-items:center;justify-content:center;margin-bottom:25px}.auth-card h1{font-size:24px;line-height:1.65;color:#5e2c37;margin:10px 0}.auth-card p{font-size:12px;margin:12px 0 25px}.auth-card label{margin:15px 0}.auth-card input{padding:12px}.auth-card form>.button{width:100%;margin:10px 0 20px}.auth-card small{font-size:10px;line-height:1.8;color:#a49784}.auth-card .notice{font-size:11px}.recognition-start{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:23px 25px;border:1px solid #d8c5a7;border-left:5px solid var(--wine);border-radius:9px;background:#fffaf1;margin:-6px 0 24px;box-shadow:0 3px 12px #6a452207}.recognition-intro{display:flex;align-items:center;gap:15px;min-width:0}.start-symbol{padding:13px;background:#efe3d2;color:var(--wine);border-radius:10px;display:flex;flex-shrink:0}.recognition-start h3{font-size:17px;color:#5f3440;margin:0 0 5px}.recognition-start p{margin:0 0 6px;color:#76654c;font-size:12px;overflow-wrap:anywhere}.recognition-start small{font-size:11px;color:#9c8b71;line-height:1.7}.start-actions{display:flex;flex-direction:column;gap:8px;flex-shrink:0}.start-button{font-size:14px;padding:13px 20px;min-width:240px}.start-actions>.button:not(.primary){background:transparent;font-size:11px;padding:7px 12px}@media (max-width:1050px){.recognition-start{align-items:flex-start;flex-direction:column;gap:17px}.start-actions{flex-direction:row;flex-wrap:wrap;width:100%}.start-button{flex:1}}@media (max-width:600px){.recognition-start{padding:19px 15px}.recognition-intro{align-items:flex-start;gap:10px}.start-symbol{padding:9px}.recognition-start h3{font-size:16px}.start-actions{flex-direction:column}.start-button{width:100%;min-width:0;font-size:14px}.recognition-start small{font-size:10px}}@media (min-width:761px){.work-grid{grid-template-columns:minmax(0,1.2fr) minmax(340px,1fr);align-items:start}.preview-panel{position:sticky;top:12px}.paper-stage{height:calc(100dvh - 170px);min-height:300px;max-height:760px}.review-panel{min-width:0}.review-body>.match-box{margin:0 0 16px}.candidate{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;align-items:center}.candidate small{grid-column:1;display:block;line-height:1.6;font-size:11px;overflow-wrap:anywhere}.candidate span{grid-column:2;grid-row:1/3;white-space:nowrap;margin:0}.review-issues{color:#a44c35;font-size:11px;line-height:1.7}}@media (max-width:760px){.preview-panel{position:sticky;top:0;z-index:5;box-shadow:0 4px 14px #0001}.paper-stage{height:34dvh;min-height:170px;max-height:300px}.preview-panel .panel-heading{min-height:38px;padding:6px 10px}.preview-panel .pagination{padding:5px}.work-grid{gap:10px}.review-body>.match-box{margin:0 0 12px}.candidate{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px}.candidate small{display:block;grid-column:1;line-height:1.6}.candidate span{grid-column:2;grid-row:1/3;margin:0}}.engine-switch{position:sticky;top:0;z-index:7;background:#fffdf7;border:1px solid #d8c9ad;border-radius:8px;padding:12px 16px;margin:0 0 16px;display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px}.engine-switch strong{color:var(--wine)}.engine-switch select{flex:1;min-width:220px}.engine-switch span{flex-basis:100%;font-size:11px;color:#796b58;line-height:1.6}@media (min-width:761px){.preview-panel{top:115px}.paper-stage{height:calc(100dvh - 280px)}}@media (max-width:760px){.preview-panel{top:115px}.engine-switch{padding:8px}.engine-switch select{min-width:150px;font-size:12px}.engine-switch span{font-size:10px}}.engine-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}.engine-buttons .button{font-size:14px;padding:12px 20px}.engine-description{max-width:520px;font-size:11px;line-height:1.7}.engine-description p{margin:5px 0}.engine-description a{color:var(--wine);font-weight:600}.orientation-progress{display:block;font-size:10px;font-weight:400;color:var(--gold);margin-top:4px}@media (min-width:761px){.work-grid{height:calc(100dvh - 160px);min-height:440px;grid-template-columns:minmax(0,1.2fr) minmax(350px,1fr);align-items:stretch}.work-grid .preview-panel{position:relative;top:auto;min-height:0;display:flex;flex-direction:column}.work-grid .paper-stage{flex:1;min-height:0;height:auto;max-height:none;align-items:center;justify-content:center;padding:12px}.work-grid .paper-stage img{box-shadow:none}.work-grid .review-panel{height:100%;overflow-y:auto;overscroll-behavior:contain}.work-grid .review-panel>.panel-heading{position:sticky;top:0;background:#fff;z-index:2}.review-body>.match-box:first-child{margin-top:0;margin-bottom:16px}.engine-switch{top:0}}@media (max-width:760px){.engine-switch{position:relative;top:auto}.engine-buttons{gap:6px}.engine-buttons .button{flex:1;font-size:12px;padding:10px}.preview-panel{top:0!important}.review-body>.match-box:first-child{margin-top:0;margin-bottom:14px}.paper-stage{align-items:center;justify-content:center}}.engine-switch{position:relative;top:auto}.progress-overview{background:#fff;border:1px solid #dedbd3;border-radius:12px;padding:24px;margin:0 0 26px;box-shadow:0 3px 16px #30271904}.progress-topline{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}.progress-topline h3{font-size:21px;margin:0;color:#38312d}.progress-topline p{font-size:14px;margin:7px 0 0;color:#70685e}.remaining-work{display:flex;align-items:center;gap:14px;background:#f8edf0;color:#742d3f;padding:12px 20px;border:1px solid #e8c8d1;border-radius:9px}.remaining-work>span{font-size:16px;font-weight:600}.remaining-work strong{font-size:36px;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}.remaining-work small{font-size:16px;margin-left:7px}.remaining-work.is-finished{background:#eaf7ef;color:#18563f;border-color:#c0ddcb}.work-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.work-count{border:1px solid;border-radius:10px;padding:20px}.work-count.complete{background:#eaf7ef;border-color:#bfdccc;color:#18563f}.work-count.pending{background:#fff3d9;border-color:#e9ce92;color:#805009}.work-count.unread{background:#f8edf0;border-color:#e5c6cf;color:#742d3f}.count-heading{display:flex;align-items:center;gap:9px}.count-heading h4{font-size:16px;margin:0;font-weight:700}.work-count>strong{display:flex;align-items:baseline;gap:10px;font-size:clamp(38px,3.9vw,54px);line-height:1.2;font-weight:700;letter-spacing:-1px;font-variant-numeric:tabular-nums;margin-top:15px}.work-count>strong span{font-size:16px;letter-spacing:0;font-weight:600}.work-count p{color:inherit;opacity:.9;font-size:12px;margin:9px 0 0;line-height:1.6}.page-progress-label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;margin-top:24px;color:#514a42}.page-progress-label b{margin-left:12px;color:#18563f}.page-progress-track{display:flex;overflow:hidden;background:#e6e5e1;border-radius:6px;height:13px;margin:10px 0}.page-progress-track>span{height:100%;transition:width .25s}.page-progress-track .complete,.page-progress-legend .complete{background:#28734e}.page-progress-track .pending,.page-progress-legend .pending{background:#d99a2c}.page-progress-legend{display:flex;flex-wrap:wrap;gap:16px;color:#655d53;font-size:12px}.page-progress-legend span{display:flex;align-items:center;gap:6px}.page-progress-legend i{display:inline-block;width:10px;height:10px;border-radius:3px}.page-progress-legend .unread{background:#a9a7a1}.current-file-progress{margin-top:20px;padding:15px 18px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #e3d4c2;border-left:5px solid #ad8752;border-radius:7px;background:#fcf9f3}.current-file-progress>div{display:grid;gap:5px;min-width:0}.current-file-progress span{font-size:12px;color:#786a56}.current-file-progress strong{font-size:14px;overflow-wrap:anywhere}.current-file-progress small{font-size:12px;color:#756c60}.current-file-progress p{display:flex;align-items:baseline;gap:7px;margin:0;font-size:15px;font-weight:600;color:#742d3f;white-space:nowrap}.current-file-progress b{font-size:32px;line-height:1.1}.current-file-progress.is-finished{background:#eef8f1;border-color:#c0ddcb;border-left-color:#28734e}.current-file-progress.is-finished p{color:#18563f}.progress-explanation{font-size:12px;color:#71695e;margin:14px 0 0;line-height:1.7}.file-progress-list{margin-top:17px;border-top:1px solid #e6e0d6;padding-top:14px}.file-progress-list>summary{display:flex;align-items:center;gap:8px;font-size:14px;color:#614d31;font-weight:600;cursor:pointer;list-style:none}.file-progress-list>summary:after{content:"展開 ▾";font-size:12px;margin-left:auto;white-space:nowrap}.file-progress-list[open]>summary:after{content:"收起 ▴"}.file-progress-list>summary span{font-size:12px;color:#736a5d;font-weight:400}.file-progress-list>div{margin-top:13px}.file-progress-row{display:flex;align-items:center;gap:16px;padding:15px 0;border-top:1px solid #eee8de}.file-progress-name{flex:1;min-width:0}.file-progress-name>span{display:block;font-size:11px;color:#7b7162;margin-bottom:5px}.file-progress-name strong{font-size:13px;font-weight:600;overflow-wrap:anywhere}.file-progress-numbers{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:#795609}.file-progress-numbers .done-text{color:#18563f}.file-progress-row .button{color:#742d3f;border-color:#e5c6cf;background:#f8edf0;font-weight:700}.file-progress-row.is-finished .button{color:#18563f;border-color:#bfdccc;background:#eaf7ef}nav em.nav-work-count{padding:4px 7px;text-align:center;line-height:1.2}nav .nav-work-count b{display:block;font-size:14px;font-variant-numeric:tabular-nums}nav .nav-work-count small{display:block;font-size:9px;margin-top:2px;white-space:nowrap}.tag.green{color:#18563f;background:#eaf7ef}.tag.gold{color:#805009;background:#fff3d9}.review-panel .tag,.table-wrap .tag{font-size:12px;font-weight:600;padding:6px 9px}@media (max-width:1000px){.work-count{padding:16px}.count-heading h4{font-size:14px}.count-heading{gap:6px}.file-progress-row{flex-wrap:wrap}.file-progress-name{flex-basis:100%}.file-progress-numbers{flex:1}.progress-overview{padding:20px}}@media (max-width:600px){.progress-overview{padding:16px}.progress-topline{align-items:flex-start;flex-direction:column;gap:14px}.progress-topline h3{font-size:19px}.remaining-work{width:100%;justify-content:space-between;padding:12px 16px}.remaining-work strong{font-size:38px}.work-counts{grid-template-columns:1fr;gap:10px}.work-count{display:grid;grid-template-columns:1fr auto;column-gap:12px;padding:16px}.count-heading{align-self:center}.count-heading h4{font-size:16px}.work-count>strong{margin:0;grid-column:2;grid-row:1/3;font-size:38px;gap:7px;align-self:center}.work-count>strong span{font-size:14px}.work-count p{grid-column:1;margin-top:6px;font-size:11px}.current-file-progress{flex-direction:column;align-items:flex-start;gap:12px}.current-file-progress p{align-self:flex-end}.file-progress-list>summary{flex-wrap:wrap}.file-progress-list>summary span{font-size:11px}.page-progress-legend{gap:10px}.page-progress-label{font-size:13px}}.progress-topline .file-totals{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;font-weight:600}.file-totals span:first-child{color:#18563f}.file-totals span:last-child{color:#742d3f}@media (max-width:600px){.work-count>strong{flex-direction:column;align-items:flex-end;gap:2px}.work-count>strong span{line-height:1.2}}@media (min-width:951px) and (max-width:1200px){nav button{gap:8px;padding-left:12px;padding-right:12px;white-space:nowrap}}.record-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.count-unit-note{font-size:13px;color:#746c62;border:1px solid #dfd8cc;border-radius:6px;padding:7px 11px;background:#faf8f3}.page-work-section{margin-top:23px;padding-top:22px;border-top:1px solid #e5dfd4}.page-work-section .progress-topline{margin-bottom:0}.page-work-section h3{font-size:17px}.page-work-section .page-progress-label{margin-top:17px}.duplicate-upload-note{font-size:12px;background:#fff5e2;color:#805009;border-left:3px solid #c28d36;padding:9px 12px;margin:12px 0 0;line-height:1.7}.pending-photo-notice{border:1px solid #e8c98e;background:#fff5e2;color:#805009;padding:13px 15px;border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.pending-photo-notice>div{display:flex;align-items:center;gap:9px}.pending-photo-notice strong{font-size:15px}.title-row .actions{flex-wrap:wrap;justify-content:flex-end}.photo-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#231c22b8;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}.photo-dialog{width:min(880px,100%);max-height:calc(100dvh - 40px);display:flex;flex-direction:column;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 20px 70px #0004}.photo-dialog-header{height:auto;min-height:78px;padding:18px 22px;background:#fcfaf6;border-bottom:1px solid var(--line);flex-shrink:0;display:flex;align-items:center;justify-content:space-between}.photo-dialog-header h2{font-size:23px}.photo-dialog-header p{font-size:12px;margin:6px 0 0}.photo-dialog-body{padding:20px 22px;overflow-y:auto;overscroll-behavior:contain;min-height:0}.photo-tools{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.camera-panel{border:1px solid #ddd6ca;border-radius:9px;overflow:hidden;margin-bottom:18px}.camera-stage{position:relative;background:#181717;display:flex;justify-content:center;align-items:center;height:min(42dvh,390px);min-height:180px}.camera-stage video{width:100%;height:100%;object-fit:contain}.camera-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:10px;color:#fff;font-size:14px}.camera-actions{background:#faf6ef;padding:13px;display:flex;align-items:center;justify-content:space-between;gap:12px}.camera-actions p{font-size:12px;margin:0;line-height:1.6;color:#746752}.capture-button{font-size:15px;padding:12px 20px}.photo-message{padding:10px 12px;background:#f4f0e9;border-radius:6px;font-size:13px;margin:10px 0}.photo-message.error{background:#fff0ec;color:#963d2b}.photo-saved-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.photo-saved-heading h3{font-size:17px;margin:0}.photo-saved-heading h3 strong{font-size:24px;color:var(--wine);margin:0 5px}.photo-saved-heading>span{font-size:11px;color:#6c756a}.photo-save-note{font-size:12px;margin:8px 0 16px;line-height:1.7}.photo-empty{text-align:center;padding:28px;color:#9d8c74;background:#fbf9f5;border:1px dashed #dfd5c6;border-radius:7px}.photo-empty p{font-size:13px}.photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.photo-grid article{border:1px solid #dfdbd1;border-radius:7px;overflow:hidden}.photo-thumb{display:block;width:100%;padding:0;aspect-ratio:3/4;border:0;background:#ece9e3}.photo-thumb img{width:100%;height:100%;object-fit:contain}.photo-grid article>div{display:flex;justify-content:space-between;align-items:center;padding:7px 9px;background:#faf8f4}.photo-grid strong{font-size:12px;color:#685d4f}.photo-removed{font-size:12px;margin-top:16px}.photo-removed>div{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:8px 0}.photo-removed span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-removed button{display:flex;gap:5px;align-items:center;white-space:nowrap}.photo-dialog-footer{margin:0;padding:14px 22px 18px;border-top:1px solid var(--line);background:#fcfaf6;display:block;flex-shrink:0}.photo-dialog-footer label{display:flex;flex-direction:row;align-items:center;font-size:12px;gap:12px}.photo-dialog-footer select{width:auto;flex:1;max-width:270px}.photo-dialog-footer p{font-size:11px;margin:7px 0 12px;line-height:1.5}.photo-dialog-footer>div{display:flex;justify-content:flex-end;gap:10px}.photo-dialog-footer .button{font-size:14px;padding:11px 18px}.photo-lightbox{position:absolute;top:0;right:0;bottom:0;left:0;background:#19171aee;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:18px}.photo-dialog{position:relative}.photo-lightbox img{max-width:100%;max-height:75dvh;object-fit:contain;min-height:0}.photo-lightbox p{font-size:12px;color:#e9e1d6;margin:0}.photo-lightbox .button{align-self:flex-end;flex-shrink:0}@media (max-width:600px){.record-counts{grid-template-columns:1fr}.count-unit-note{font-size:12px;padding:5px 8px}.progress-topline{gap:10px}.page-work-section .remaining-work>span{font-size:14px}.pending-photo-notice{align-items:stretch;flex-direction:column}.pending-photo-notice .button{align-self:flex-end}.photo-backdrop{padding:0}.photo-dialog{height:100dvh;max-height:100dvh;border-radius:0}.photo-dialog-header{padding:14px 16px;min-height:74px}.photo-dialog-header h2{font-size:21px}.photo-dialog-body{padding:14px 16px}.photo-tools{gap:7px}.photo-tools .button{padding:9px 10px;font-size:12px}.camera-stage{height:36dvh}.camera-actions{flex-direction:column;align-items:stretch;gap:9px}.capture-button{padding:13px;font-size:16px}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.photo-saved-heading{align-items:flex-start;flex-direction:column;gap:5px}.photo-dialog-footer{padding:12px 16px max(15px,env(safe-area-inset-bottom))}.photo-dialog-footer>div .button{flex:1;padding:11px 8px}.photo-dialog-footer p{font-size:11px}.title-row .actions .button{flex:1}.title-row .actions{justify-content:flex-start}}.recognition-activity{display:flex;gap:18px;align-items:flex-start;margin:0 0 22px;padding:22px;border:1px solid #c7d9e4;border-left:6px solid #397695;border-radius:12px;background:#edf5fa;color:#20465c}.activity-icon{display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;background:#dcebf5;flex-shrink:0}.activity-main{min-width:0;flex:1}.activity-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.activity-title strong{font-size:22px;line-height:1.4}.activity-title span{font-size:16px;font-weight:700;background:#fff;padding:6px 12px;border-radius:7px}.activity-main p{font-size:13px;color:inherit;line-height:1.7;margin:7px 0}.activity-filename{overflow-wrap:anywhere;font-weight:600}.activity-numbers{display:flex;gap:24px;flex-wrap:wrap;font-size:14px;margin:13px 0 9px}.activity-numbers b{font-size:23px;margin:0 3px}.activity-track{height:9px;border-radius:8px;overflow:hidden;background:#cedce5}.activity-track i{display:block;height:100%;background:#397695;transition:width .3s}.activity-main small{display:block;font-size:12px;line-height:1.8;margin-top:9px;color:inherit}.activity-waiting,.activity-paused,.activity-offline{background:#fff7e7;border-color:#e2c48e;color:#78501a}.activity-waiting .activity-icon,.activity-paused .activity-icon,.activity-offline .activity-icon{background:#f6e8cc}.activity-completed{background:#edf7ef;border-color:#b9d6bf;color:#24583b}.activity-completed .activity-icon{background:#dceee1}.activity-completed .activity-track i{background:#387a50}.gear-turning{animation:gear-turn 3s linear infinite}@keyframes gear-turn{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.gear-turning{animation:none}.activity-track i{transition:none}}@media (max-width:600px){.recognition-activity{padding:16px 12px;gap:11px;border-left-width:4px}.activity-icon{width:42px;height:42px}.activity-icon svg{width:27px;height:27px}.activity-title strong{font-size:18px}.activity-title span{font-size:14px}.activity-numbers{gap:7px 14px;font-size:13px}.activity-numbers b{font-size:22px}.activity-main small{font-size:11px}}.recognition-live-strip{position:sticky;top:0;z-index:25;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 16px;margin-bottom:12px;border:1px solid #c7d9e4;border-radius:8px;background:#edf5fa;color:#20465c;box-shadow:0 3px 10px #0000000c}.recognition-live-strip strong{font-size:16px}.recognition-live-strip>span{font-size:13px;padding:3px 8px;background:#fff;border-radius:5px}.recognition-live-strip svg{flex-shrink:0}.recognition-live-strip.activity-completed{background:#f2f4f2;color:#48594c}.recognition-live-strip.activity-waiting,.recognition-live-strip.activity-offline,.recognition-live-strip.activity-paused{background:#fff5df;color:#78501a}.recognition-live-strip.activity-running{border-left:5px solid #397695}@media (max-width:600px){.recognition-live-strip{top:0;padding:10px;gap:7px}.recognition-live-strip strong{font-size:14px;flex:1}.recognition-live-strip>span{font-size:12px}}
