:root{--brand: #f57310;--brand-hover: #d95f06;--brand-weak: #fff2e8;--bg: #f5f6f8;--surface: #ffffff;--surface-2: #fafbfc;--border: #e3e6ea;--border-strong: #cfd4da;--text: #1f2329;--text-muted: #6b7280;--draft: #6b7280;--draft-bg: #eef0f2;--saved: #1d4ed8;--saved-bg: #e7eefb;--review: #b45309;--review-bg: #fdf1de;--confirmed: #157347;--confirmed-bg: #e5f4ec;--rejected: #b42318;--rejected-bg: #fbeae8;--font-jp: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, "Yu Gothic Medium", "Yu Gothic", YuGothic, "Noto Sans JP", "Segoe UI", Roboto, sans-serif;font-family:var(--font-jp);color:var(--text)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);font-family:var(--font-jp)}input,select,textarea,button{font-family:var(--font-jp)}button{cursor:pointer}a{color:var(--brand)}.btn-primary{background:var(--brand);color:#fff;border:none;border-radius:6px;padding:9px 16px;font-size:14px;font-weight:600}.btn-primary:hover:not(:disabled){background:var(--brand-hover)}.btn-primary:disabled{opacity:.5;cursor:default}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--border-strong);border-radius:6px;padding:8px 14px;font-size:14px}.btn-ghost:hover{background:#eef1f4}.btn-danger{background:#fff;color:var(--rejected);border:1px solid var(--rejected);border-radius:6px;padding:8px 14px;font-size:14px;font-weight:600}.btn-danger:hover{background:var(--rejected-bg)}.login-page{height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#fff6ef,#ffe8d6)}.login-card{width:380px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:34px 30px;box-shadow:0 12px 44px #b45a0a26}.login-brand{text-align:center;margin-bottom:26px}.brand-logo{width:54px;height:54px;margin:0 auto 12px;background:var(--brand);color:#fff;border-radius:14px;display:grid;place-items:center;font-weight:800;font-size:24px}.login-card h1{font-size:17px;margin:0}.login-sub{color:var(--text-muted);font-size:12px;margin:6px 0 0}.field{display:block;margin-bottom:16px}.field span{display:block;font-size:13px;color:var(--text-muted);margin-bottom:6px}.field input{width:100%;padding:10px 12px;font-size:14px;border:1px solid var(--border-strong);border-radius:6px}.checkbox{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted);margin-bottom:18px}.login-card .btn-primary{width:100%}.btn-ms{display:flex;align-items:center;justify-content:center;gap:10px}.ms-logo{width:16px;height:16px;background:linear-gradient(#f25022 0,#f25022 0) 0 0/7px 7px no-repeat,linear-gradient(#7fba00 0,#7fba00 0) 9px 0/7px 7px no-repeat,linear-gradient(#00a4ef 0,#00a4ef 0) 0 9px/7px 7px no-repeat,linear-gradient(#ffb900 0,#ffb900 0) 9px 9px/7px 7px no-repeat}.login-note{font-size:12px;color:var(--text-muted);margin-top:16px;line-height:1.6}.login-note code{background:#f0f1f3;padding:1px 5px;border-radius:4px}.login-error{color:var(--rejected);font-size:13px;margin-top:12px}.login-footer{text-align:center;font-size:11px;color:var(--text-muted);margin-top:22px}.shell{display:grid;grid-template-columns:220px 1fr;grid-template-rows:56px 1fr;grid-template-areas:"brand header" "side main";height:100%;transition:grid-template-columns .15s}.shell.collapsed{grid-template-columns:60px 1fr}.shell-brand{grid-area:brand;display:flex;align-items:center;gap:10px;padding:0 16px;background:var(--surface);border-bottom:1px solid var(--border);border-right:1px solid var(--border);overflow:hidden}.shell.collapsed .shell-brand{padding:0;justify-content:center}.shell-brand .brand-mark{width:32px;height:32px;border-radius:8px;background:var(--brand);color:#fff;display:grid;place-items:center;flex:none}.shell-brand .brand-name{font-weight:700;font-size:13px;line-height:1.2;white-space:nowrap}.shell-brand .brand-sub{font-size:10px;color:var(--text-muted);white-space:nowrap}.topbar{grid-area:header;display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:var(--surface);border-bottom:1px solid var(--border)}.topbar-left{display:flex;align-items:center;gap:12px}.topbar-title{font-weight:600;font-size:15px}.icon-btn{background:transparent;border:1px solid var(--border);border-radius:6px;width:34px;height:34px;font-size:16px;color:var(--text)}.icon-btn:hover{background:#eef1f4}.topbar-right{display:flex;align-items:center;gap:12px}.topbar-user{font-size:13px;color:var(--text-muted)}.avatar{width:30px;height:30px;border-radius:50%;background:var(--brand-weak);color:var(--brand);display:grid;place-items:center;font-weight:700;font-size:13px}.sidebar{grid-area:side;background:var(--surface);border-right:1px solid var(--border);padding:14px 10px;display:flex;flex-direction:column}.side-label{font-size:11px;color:var(--text-muted);padding:6px 12px;letter-spacing:.04em}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;color:var(--text);text-decoration:none;font-size:14px;margin-bottom:2px}.nav-item:hover{background:var(--surface-2)}.nav-item.active{background:var(--brand-weak);color:var(--brand);font-weight:600}.nav-item .ico{width:18px;text-align:center;flex:none}.shell.collapsed .nav-item{justify-content:center;padding:10px 0}.nav-spacer{flex:1}.nav-logout{color:var(--rejected);background:none;border:none;width:100%;cursor:pointer}.main{grid-area:main;overflow:auto;padding:22px 24px}.page-title{font-size:20px;margin:0 0 4px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.page-actions{display:flex;gap:10px}.filterbar{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px 16px;margin-bottom:16px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}.chips{display:flex;gap:6px}.chip{padding:5px 12px;border-radius:16px;border:1px solid var(--border-strong);background:#fff;font-size:13px;color:var(--text-muted)}.chip.on{background:var(--brand-weak);border-color:var(--brand);color:var(--brand);font-weight:600}.filterbar input,.filterbar select{padding:8px 10px;font-size:14px;border:1px solid var(--border-strong);border-radius:6px;background:#fff}.filterbar .grow{flex:1;min-width:160px}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow-x:auto}table.tbl{border-collapse:collapse;width:100%;font-size:13px;white-space:nowrap}.tbl thead th{position:sticky;top:0;background:var(--surface-2);color:var(--text-muted);font-weight:600;text-align:left;padding:11px 14px;border-bottom:1px solid var(--border-strong);cursor:default}.tbl thead th.sortable{cursor:pointer}.tbl tbody td{padding:10px 14px;border-bottom:1px solid var(--border)}.tbl tbody tr:hover{background:var(--surface-2)}.tbl .num{text-align:right}.empty,.loading{text-align:center;color:var(--text-muted);padding:44px 0}.link-btn{background:none;border:none;color:var(--brand);font-size:13px;padding:0;text-decoration:underline}.badge{display:inline-block;padding:2px 9px;border-radius:11px;font-size:12px;font-weight:600}.badge-btn{border:0;cursor:pointer;font-family:inherit}.badge-btn:disabled{cursor:default;opacity:.85}.badge-btn.b-review:hover:not(:disabled){filter:brightness(.95);box-shadow:0 0 0 2px var(--brand-weak)}.b-draft{background:var(--draft-bg);color:var(--draft)}.b-saved{background:var(--saved-bg);color:var(--saved)}.b-review{background:var(--review-bg);color:var(--review)}.b-confirmed{background:var(--confirmed-bg);color:var(--confirmed)}.b-rejected{background:var(--rejected-bg);color:var(--rejected)}.b-unread{background:#fdeaea;color:#c0392b}.b-read{background:var(--confirmed-bg);color:var(--confirmed)}.count-badge{display:inline-block;min-width:22px;text-align:center;padding:1px 7px;border-radius:10px;font-size:12px;font-weight:700;background:var(--draft-bg);color:var(--text-muted)}.count-badge.hot{background:var(--review-bg);color:var(--review)}.pager{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 4px;font-size:13px;color:var(--text-muted)}.scan-grid{display:grid;grid-template-columns:1fr 320px;gap:16px;align-items:start}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px}.card h3{margin:0 0 12px;font-size:14px}.dropzone{border:2px dashed var(--border-strong);border-radius:10px;padding:46px 20px;text-align:center;color:var(--text-muted);cursor:pointer}.dropzone.drag{border-color:var(--brand);background:var(--brand-weak);color:var(--brand)}.dropzone.processing{border-style:solid;border-color:var(--brand);background:var(--brand-weak);cursor:default}.spinner{width:34px;height:34px;margin:0 auto 12px;border:3px solid var(--border-strong);border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.up-stage{font-weight:700;color:var(--brand);font-size:14px}.up-file{font-size:12px;color:var(--text-muted);margin-top:4px}.up-bar{height:6px;max-width:320px;margin:12px auto 8px;background:var(--draft-bg);border-radius:4px;overflow:hidden}.up-bar>i{display:block;height:100%;width:40%;background:var(--brand);border-radius:4px;animation:indet 1.2s ease-in-out infinite}@keyframes indet{0%{margin-left:-40%}to{margin-left:100%}}.dz-sub{font-size:12px;margin-top:8px}.watcher-row{display:flex;justify-content:space-between;font-size:13px;padding:7px 0;border-bottom:1px dashed var(--border)}.watcher-row:last-child{border-bottom:none}.toggle{position:relative;width:40px;height:22px}.toggle input{display:none}.toggle .track{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--border-strong);border-radius:12px;transition:.15s}.toggle input:checked+.track{background:var(--brand)}.toggle .knob{position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;transition:.15s}.toggle input:checked+.track+.knob{left:20px}.progress{height:8px;background:var(--draft-bg);border-radius:5px;overflow:hidden;width:120px;display:inline-block;vertical-align:middle}.progress>i{display:block;height:100%;background:var(--brand)}.pill{font-size:12px;font-weight:600}.pill.waiting{color:var(--text-muted)}.pill.ocr{color:var(--brand)}.pill.done{color:var(--confirmed)}.pill.failed{color:var(--rejected)}.verify{display:flex;flex-direction:column;height:calc(100vh - 100px)}.verify-toolbar{display:flex;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 14px;margin-bottom:12px}.verify-toolbar .file{font-weight:600;font-size:14px}.split{display:flex;align-items:stretch;flex:1;min-height:0}.pane{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:auto;padding:12px;min-width:0}.pane.pdf{display:flex;align-items:stretch;justify-content:center;background:#f0f1f3;padding:0}.pane.pdf object,.pane.pdf iframe,.pane.pdf embed{width:100%;height:100%;border:none;background:#fff}.splitter{flex:none;width:10px;margin:0 2px;cursor:col-resize;position:relative}.splitter:before{content:"";position:absolute;top:0;bottom:0;left:4px;width:2px;background:var(--border-strong);border-radius:2px}.splitter:hover:before{background:var(--brand)}.drag-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;cursor:col-resize}.pdf-placeholder{color:var(--text-muted);text-align:center;padding:40px}.hdr-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.hdr-fields label{font-size:12px;color:var(--text-muted);display:block}.hdr-fields input,.hdr-fields select{width:100%;padding:7px 9px;border:1px solid var(--border-strong);border-radius:6px;font-size:13px}.detail-tbl{font-size:12px}.detail-tbl input{width:100%;border:1px solid transparent;background:transparent;padding:4px 6px;font-size:12px;border-radius:4px;text-align:right}.detail-tbl input:focus{border-color:var(--brand);background:#fff;outline:none}.detail-tbl .txt{text-align:left;width:100%;border:1px solid transparent;background:transparent;padding:4px 6px;font-size:12px;border-radius:4px}.detail-tbl .txt:focus{border-color:var(--brand);background:#fff;outline:none}.detail-tbl td{vertical-align:middle}.detail-tbl select.txt{cursor:pointer;min-width:74px}.detail-tbl .acts{white-space:nowrap}.detail-tbl .row-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end}.detail-tbl .link-btn.del{color:var(--rejected);text-decoration:none;font-size:14px;line-height:1}.add-row{margin-top:10px}.detail-tbl tr.sel{background:var(--brand-weak)}.detail-tbl th.grp{text-align:center;background:var(--surface-2);color:var(--text-muted);font-weight:700;font-size:11px;letter-spacing:.04em;border-bottom:1px solid var(--border);border-left:2px solid var(--border-strong)}.detail-tbl th.sub{font-size:11px;font-weight:600;white-space:nowrap;color:var(--text-muted);background:var(--surface-2);border-bottom:1px solid var(--border)}.detail-tbl thead th.sub,.detail-tbl tbody td{border-right:1px solid var(--border)}.detail-tbl .num input{text-align:right;min-width:84px}.detail-tbl td input{min-width:84px}.detail-tbl td.remarks-cell{min-width:240px}.detail-tbl textarea.remarks{width:100%;min-width:220px;resize:vertical;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;font:inherit;line-height:1.4;padding:4px 6px;border:1px solid var(--border);border-radius:4px;background:transparent;field-sizing:content;min-height:1.8em}.detail-tbl textarea.remarks:disabled{color:var(--text);opacity:1}.detail-tbl tr.rowreview td{box-shadow:inset 3px 0 0 var(--review)}.verify-right{display:flex;flex-direction:column}.verify-right .table-wrap{flex:1;min-height:0;overflow:auto}.detail-tbl thead th{height:30px;padding:0 8px}.detail-tbl thead tr:nth-child(2) th{top:30px}.detail-tbl td.fz{position:sticky;z-index:2;background:var(--surface)}.detail-tbl thead th.fz{z-index:6;background:var(--surface-2)}.detail-tbl tbody tr:hover td.fz{background:var(--surface-2)}.detail-tbl .fz1{left:0;min-width:90px;max-width:90px}.detail-tbl .fz2{left:90px;min-width:80px;max-width:80px}.detail-tbl .fz3{left:170px;min-width:76px;max-width:76px}.detail-tbl .fz4{left:246px;min-width:130px;max-width:130px}.detail-tbl .fz5{left:376px;min-width:110px;max-width:110px;word-break:break-all}.detail-tbl .fz6{left:486px;min-width:90px;max-width:90px;border-right:2px solid var(--border-strong)}.summary-bar{display:flex;gap:20px;flex-wrap:wrap;padding:12px 14px;margin-top:12px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;font-size:13px}.summary-bar b{font-size:15px}.action-bar{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.warn{color:var(--review);font-size:13px}.warn-banner{background:var(--review-bg);color:var(--review);border:1px solid #f3d9a8;border-radius:8px;padding:8px 12px;font-size:13px;margin-bottom:10px}.err-banner{background:var(--rejected-bg);color:var(--rejected);border:1px solid #f0c4bf;border-radius:8px;padding:8px 12px;font-size:13px;margin-bottom:10px;font-weight:600}.toast{position:fixed;bottom:24px;right:24px;background:var(--text);color:#fff;padding:12px 18px;border-radius:8px;font-size:14px;box-shadow:0 8px 24px #00000040}.flash-center{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;z-index:100;pointer-events:none}.flash-center-box{background:#1f2329eb;color:#fff;padding:20px 40px;border-radius:12px;font-size:20px;font-weight:700;box-shadow:0 12px 40px #00000059;animation:flashpop .18s ease-out}@keyframes flashpop{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#14141e73;display:grid;place-items:center;z-index:50}.modal{width:420px;background:var(--surface);border-radius:12px;padding:22px}.modal h2{font-size:16px;margin:0 0 12px}.pdf-modal{width:80vw;height:88vh;background:var(--surface);border-radius:12px;display:flex;flex-direction:column;overflow:hidden}.pdf-modal-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);font-weight:600;font-size:14px}.pdf-modal object{flex:1;border:none}.pdf-modal a.btn-ghost{text-decoration:none}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
