:root{--bg:#f4f6f8;--surface:#fff;--surface-muted:#f8fafc;--border:#dfe4ea;--border-strong:#c7d0dc;--text:#17202a;--muted:#667085;--muted-2:#98a2b3;--primary:#2854c5;--primary-soft:#e8eefc;--green:#217a4b;--green-soft:#e7f5ee;--orange:#b75b00;--orange-soft:#fff1df;--red:#b42318;--red-soft:#fee4e2;--sidebar:#181c22;--shadow:0 1px 2px #1018280f}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--bg);color:var(--text);margin:0;font-family:Noto Sans JP,Hiragino Sans,Yu Gothic,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#c9d2de;border-radius:999px}.appShell{grid-template-columns:232px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--sidebar);color:#fff;flex-direction:column;height:100vh;display:flex;position:sticky;top:0}.brand{border-bottom:1px solid #ffffff14;align-items:center;gap:10px;padding:20px 18px 16px;display:flex}.brandMark{background:var(--primary);border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.brandTitle{font-size:14px;font-weight:700;line-height:1.3}.brandSub{color:#ffffff7a;margin-top:2px;font-size:10px}.nav{flex-direction:column;flex:1;gap:3px;padding:12px 10px;display:flex}.navButton{color:#ffffff9e;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:9px 12px;font-size:13px;font-weight:500;text-decoration:none;display:flex}.navButton:hover,.navButtonActive{color:#fff;background:#2854c538}.sidebarFooter{color:#ffffffb3;border-top:1px solid #ffffff14;padding:12px 16px;font-size:12px}.main{flex-direction:column;min-width:0;display:flex}.topbar{z-index:10;background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;height:58px;padding:0 24px;display:flex;position:sticky;top:0}.topbar h1{margin:0;font-size:16px;line-height:1.4}.breadcrumbs{color:var(--muted);align-items:center;gap:7px;margin-bottom:4px;font-size:12px;display:flex}.breadcrumbs a,.breadcrumbs button{color:var(--primary);font:inherit;background:0 0;border:0;padding:0;font-weight:700;text-decoration:none}.topbarActions{align-items:center;gap:10px;display:flex}.content{padding:24px}.stack{flex-direction:column;gap:18px;display:flex}.row{gap:12px;display:flex}.rowBetween{justify-content:space-between;align-items:center;gap:14px;display:flex}.grid{gap:16px;display:grid}.grid2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px}.cardHeader{padding:16px 18px 0}.cardBody{padding:18px}.cardTitle{margin:0;font-size:14px;font-weight:700}.muted{color:var(--muted)}.small{font-size:12px}.kpi{flex-direction:column;gap:8px;min-width:0;padding:16px;display:flex}.kpiLabel{color:var(--muted);font-size:12px;font-weight:600}.kpiValue{font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;font-size:24px;font-weight:800;overflow:hidden}.kpiSub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.button{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:8px 12px;font-size:13px;font-weight:700;display:inline-flex}.button:hover{border-color:var(--border-strong)}.buttonPrimary{border-color:var(--primary);background:var(--primary);color:#fff}.buttonGhost{color:var(--primary);background:0 0;border-color:#0000}.buttonDanger{border-color:var(--red-soft);color:var(--red);background:var(--red-soft)}.iconButton{border:1px solid var(--border);background:var(--surface);width:36px;height:36px;color:var(--text);border-radius:8px;place-items:center;display:inline-grid}.iconButton:hover{border-color:var(--border-strong)}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.input,.select,.textarea{border:1px solid var(--border);width:100%;min-height:36px;color:var(--text);background:#fff;border-radius:8px;outline:none;padding:8px 10px;font-size:13px}.textarea{resize:vertical;min-height:116px;line-height:1.7}.input:focus,.select:focus,.textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.formGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.fieldFull{grid-column:1/-1}.label{color:var(--muted);font-size:12px;font-weight:700}.tableWrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:13px}.table th{color:var(--muted);letter-spacing:0;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 12px;font-size:11px;font-weight:700}.table td{vertical-align:middle;border-bottom:1px solid #eef2f6;padding:12px}.table tbody tr:hover{background:var(--surface-muted)}.clickableRow{cursor:pointer}.right{text-align:right}.nowrap{white-space:nowrap}.wrap{white-space:normal}.badge{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:22px;padding:2px 9px;font-size:12px;font-weight:700;display:inline-flex}.badgeBlue{background:var(--primary-soft);color:var(--primary)}.badgeGreen{background:var(--green-soft);color:var(--green)}.badgeOrange{background:var(--orange-soft);color:var(--orange)}.badgeRed{background:var(--red-soft);color:var(--red)}.badgeGray{color:#475467;background:#eef2f6}.progress{background:#e9eef5;border-radius:999px;width:100%;min-width:120px;height:7px;overflow:hidden}.progressBar{background:var(--primary);border-radius:999px;height:100%}.panel{border:1px solid var(--border);background:var(--surface-muted);border-radius:8px;padding:16px}.automationRow{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px 0;display:grid}.automationRow:last-child{border-bottom:0}.toggle{color:var(--muted);white-space:nowrap;align-items:center;gap:8px;font-size:13px;font-weight:700;display:inline-flex}.dropzone{border:1px dashed var(--border-strong);background:var(--surface);min-height:132px;color:var(--muted);text-align:center;cursor:pointer;border-radius:8px;align-content:center;place-items:center;gap:8px;padding:22px;transition:border-color .16s,background .16s,color .16s;display:grid}.dropzone input{display:none}.dropzone strong{color:var(--text);font-size:14px}.dropzone span{font-size:12px}.dropzoneActive{border-color:var(--primary);color:var(--primary);background:#eef4ff}.modalBackdrop{z-index:50;background:#11182775;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modalPanel{border:1px solid var(--border);background:var(--surface);border-radius:8px;width:min(100%,980px);max-height:calc(100vh - 48px);overflow:auto;box-shadow:0 18px 60px #10182838}.modalHeader{z-index:1;background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex;position:sticky;top:0}.invoicePreviewShell{background:#eef2f6}.invoicePaper{color:#17202a;border:1px solid var(--border);width:min(100%,820px);box-shadow:var(--shadow);background:#fff;margin:20px auto;padding:44px}.invoiceTop{grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:32px;display:grid}.invoiceTitle{margin-bottom:28px;font-size:30px;font-weight:800}.invoicePartner{margin-bottom:10px;font-size:18px;font-weight:700;line-height:1.5}.invoiceMeta{gap:8px;font-size:13px;display:grid}.invoiceMeta div,.invoiceSummary div{justify-content:space-between;gap:18px;display:flex}.invoiceMeta span,.invoiceSummary span{color:var(--muted)}.invoiceCompany{justify-items:end;gap:4px;margin-top:28px;font-size:13px;line-height:1.6;display:grid}.invoiceAmountBox{border-top:2px solid var(--text);border-bottom:2px solid var(--text);justify-content:space-between;align-items:baseline;gap:18px;margin:34px 0 24px;padding:16px 18px;display:flex}.invoiceAmountBox span{font-size:14px;font-weight:700}.invoiceAmountBox strong{font-variant-numeric:tabular-nums;font-size:28px}.invoiceLineTable{border-collapse:collapse;width:100%;font-size:13px}.invoiceLineTable th{background:var(--surface-muted);color:var(--muted);border:1px solid var(--border);text-align:left;white-space:nowrap;padding:10px;font-size:11px}.invoiceLineTable td{border:1px solid var(--border);vertical-align:top;padding:12px 10px}.invoiceSummary{gap:10px;width:min(100%,320px);margin:20px 0 28px auto;font-size:13px;display:grid}.invoiceSummaryTotal{border-top:1px solid var(--border-strong);padding-top:10px;font-size:16px}.invoiceFooterGrid{color:var(--muted);grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;font-size:12px;line-height:1.7;display:grid}.invoiceFooterGrid div{gap:3px;display:grid}.invoiceFooterGrid strong{color:var(--text)}.compareGrid{background:var(--surface-muted);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:16px;display:grid}.originalDocumentPane,.extractedResultPane{border:1px solid var(--border);background:var(--surface);border-radius:8px;align-content:start;gap:14px;min-width:0;padding:16px;display:grid}.paneHeader{justify-content:space-between;align-items:center;gap:12px;display:flex}.documentPreview{border:1px dashed var(--border-strong);min-height:240px;color:var(--muted);text-align:center;background:#f8fafc;border-radius:8px;align-content:center;place-items:center;gap:10px;padding:20px;display:grid}.documentPreview strong{color:var(--text);overflow-wrap:anywhere}.sourceTextBox{border:1px solid var(--border);background:var(--surface-muted);min-height:110px;max-height:220px;color:var(--muted);white-space:pre-wrap;border-radius:8px;padding:12px;font-size:13px;line-height:1.7;overflow:auto}.definitionList{gap:8px;margin:0;font-size:13px;display:grid}.definitionList div{grid-template-columns:92px minmax(0,1fr);gap:12px;display:grid}.definitionList dt{color:var(--muted)}.definitionList dd{overflow-wrap:anywhere;margin:0;font-weight:700}.split{grid-template-columns:minmax(0,1fr) 360px;gap:16px;display:grid}.tabs{border-bottom:1px solid var(--border);gap:4px;display:flex;overflow-x:auto}.tabButton{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 14px;font-size:13px;font-weight:700}.tabButtonActive{color:var(--primary);border-color:var(--primary)}.empty{text-align:center;color:var(--muted);padding:32px 16px;font-size:13px}.auditList{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.auditList li{border-bottom:1px solid #eef2f6;padding-bottom:10px}@media (max-width:1100px){.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr}}@media (max-width:760px){.appShell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.brand{padding:12px 14px}.nav{flex-direction:row;padding:8px 10px 12px;overflow-x:auto}.navButton{white-space:nowrap}.sidebarFooter{display:none}.topbar{flex-direction:column;align-items:flex-start;height:auto;padding:12px 14px}.topbarActions,.toolbar,.rowBetween,.row{align-items:stretch;width:100%}.topbarActions,.rowBetween,.row{flex-direction:column}.content{padding:14px}.grid2,.grid3,.grid4,.formGrid,.compareGrid{grid-template-columns:1fr}.table{min-width:860px}.modalBackdrop{place-items:stretch stretch;padding:10px}.modalPanel{max-height:calc(100vh - 20px)}.invoicePaper{margin:10px;padding:24px 18px;overflow-x:auto}.invoiceTop,.invoiceFooterGrid{grid-template-columns:1fr}.invoiceCompany{justify-items:start}.invoiceLineTable{min-width:640px}.invoiceAmountBox{flex-direction:column;align-items:flex-start}}
