:root{--ink:#233d36;--muted:#77857c;--green:#164e45;--lime:#d9eeaa;--paper:#f7f8f4;--line:#e4e9e0;--danger:#b24436;--gold:#926322;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans CJK JP","PingFang SC",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0;font-size:14px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-color:#679c7c}button,a{touch-action:manipulation}button{cursor:pointer;background:white;color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:10px 14px;font-weight:500;transition:background .15s}button:hover{background:#edf2e8}button:disabled{opacity:.45;cursor:not-allowed}button.primary,.button.primary{background:var(--green);color:white;border-color:var(--green)}button.primary:hover,.button.primary:hover{background:#24695b}button.soft{background:#e7efdf;border-color:#e7efdf}.danger{color:var(--danger)}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}.button{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:9px;padding:10px 14px;background:white;font-weight:500;color:var(--ink)}h1,h2,h3,p{margin-top:0}h1{font-size:27px;font-weight:650;letter-spacing:-.7px;margin-bottom:8px}h2{font-size:20px;letter-spacing:-.3px}h3{font-size:15px}p{line-height:1.7}.muted,small{color:var(--muted)}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.9px;text-transform:uppercase;color:var(--muted)}.workspace{display:grid;grid-template-columns:234px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:31px 20px 24px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:28px}.brand{display:flex;align-items:center;gap:11px;font-size:19px;font-weight:700;letter-spacing:-.5px}.brand img{width:36px;height:36px}.brand small{display:block;font-size:10px;font-weight:400;letter-spacing:1px;margin-top:3px}.side-nav{display:grid;gap:5px}.nav-button{display:flex;text-align:left;align-items:center;gap:12px;width:100%;border:0;padding:12px 14px;border-radius:8px;background:none;color:#758077}.nav-button.active{background:var(--green);color:white}.nav-icon{font-size:17px;width:20px;text-align:center}.batch-list{display:grid;gap:5px;margin-top:14px;max-height:38vh;overflow:auto}.batch-link{display:flex;align-items:center;gap:9px;border:0;background:none;padding:9px 12px;text-align:left;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.batch-link.active{background:#f0f4e8;color:var(--green)}.batch-dot{width:6px;height:6px;border:1px solid #9ab284;border-radius:50%;flex-shrink:0}.side-bottom{margin-top:auto}.license-card{padding:15px;border:1px solid var(--line);background:#f8faf4;border-radius:10px;font-size:11px;line-height:1.8}.online-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#4a9b64;margin-right:6px}.language{display:flex;gap:5px;margin-top:15px}.language button{flex:1;font-size:11px;padding:7px 8px}.language .active{border-color:#708e68;background:#f0f5e9}.main-shell{min-width:0}.topbar{height:82px;padding:0 40px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff9}.breadcrumb{font-size:12px;color:var(--muted)}.breadcrumb strong{color:var(--ink);font-weight:500}.top-actions{display:flex;gap:9px;align-items:center}.version{font-size:10px;letter-spacing:.8px;border:1px solid var(--line);border-radius:5px;padding:5px 8px;color:var(--muted)}main{padding:35px 40px;max-width:1700px;margin:auto}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:26px}.page-heading p{font-size:12px;margin-bottom:0;color:var(--muted)}.date-chip{font-size:11px;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:13px;background:white;margin-bottom:27px}.stat{padding:23px 25px;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat-label{font-size:11px;color:var(--muted);margin-bottom:13px}.stat-value{font-size:28px;font-weight:600;letter-spacing:-1px}.stat-value .unit{font-size:11px;color:var(--muted);font-weight:400;letter-spacing:0;margin-left:5px}.stat-note{margin-top:10px;color:var(--muted);font-size:10px}.stat:last-child .stat-value{color:var(--green)}.toolbar{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:21px;flex-wrap:wrap}.filters{display:flex;gap:6px;flex-wrap:wrap}.filter{border:0;background:transparent;font-size:12px;color:var(--muted);padding:9px 12px}.filter.active{background:#e5edda;color:var(--green)}.search{position:relative}.search input{width:228px;font-size:12px;padding:10px 12px 10px 30px;border:1px solid var(--line);border-radius:8px;background:white}.search span{position:absolute;top:10px;left:11px;color:var(--muted)}.receipt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:17px}.receipt-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;cursor:pointer;transition:transform .15s,box-shadow .15s;position:relative}.receipt-card:hover{transform:translateY(-2px);box-shadow:0 5px 16px #233d360b}.receipt-card.selected{border-color:#9db68a}.receipt-image{height:178px;background:#edf0e9;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:13px}.receipt-image img{height:100%;width:100%;object-fit:contain;filter:drop-shadow(0 3px 4px #0001)}.receipt-content{padding:15px 17px 17px}.card-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted);margin-bottom:10px}.receipt-content h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0 0 8px;font-size:13px;font-weight:600}.amount{font-size:20px;font-weight:600;letter-spacing:-.5px;margin-top:12px}.amount small{font-size:10px;letter-spacing:0;font-weight:400;margin-right:5px}.card-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:13px;font-size:10px;color:var(--muted)}.badge{display:inline-flex;gap:4px;align-items:center;padding:4px 7px;border-radius:5px;font-size:10px;line-height:1.25;color:#678251;background:#eef4e6}.badge.review,.badge.pending{background:#faf0d9;color:#96722c}.badge.retake,.badge.conflict{background:#fae9e1;color:#b15c43}.badge.duplicate,.badge.excluded,.badge.deleted{background:#eef0ed;color:#7d8279}.badge.confirmed{background:#e2f0e7;color:#3b8060}.selection{position:absolute;left:11px;top:11px;width:18px;height:18px;accent-color:var(--green)}.empty{border:1px dashed #c8d6bf;border-radius:14px;background:#fbfcf8;text-align:center;padding:52px 20px;min-height:290px;display:flex;align-items:center;justify-content:center;flex-direction:column}.empty .empty-symbol{font-size:26px;background:#eaf0df;border-radius:14px;width:59px;height:59px;display:grid;place-items:center;margin-bottom:19px;color:#668555}.empty h2{font-size:18px;margin-bottom:10px}.empty p{font-size:12px;max-width:410px;color:var(--muted);margin-bottom:22px}.drop-target.drag{outline:3px solid #9cb778;outline-offset:5px}.note{font-size:11px;color:var(--muted);line-height:1.7;padding-top:16px}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;margin:20px 0}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px}.panel-heading h2{font-size:15px;margin:0}.panel p{font-size:12px;color:var(--muted)}.job{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:15px 0;border-top:1px solid var(--line)}.job:first-child{border-top:0}.job-title{font-size:12px;margin-bottom:7px}.job-meta{font-size:10px;color:var(--muted)}progress{appearance:none;width:100%;height:5px;border:none;border-radius:9px;background:#eff2e9;margin-top:12px}progress::-webkit-progress-bar{background:#eff2e9;border-radius:9px}progress::-webkit-progress-value{background:#91ae74;border-radius:9px}.job button{padding:6px 10px;font-size:10px}.job-error{color:var(--danger);font-size:11px;margin-top:7px;line-height:1.6}.notice{background:#f0f5e8;border:1px solid #e0e9d3;color:#668052;padding:12px 16px;border-radius:9px;font-size:11px;line-height:1.7;margin:0 0 22px}.notice.warning{background:#fff6e7;border-color:#efe3c9;color:#8f702f}.split{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.section-table{width:100%;border-collapse:collapse;font-size:12px}.section-table td,.section-table th{padding:15px 10px;text-align:left;border-bottom:1px solid var(--line)}.section-table th{font-size:11px;color:var(--muted);font-weight:500}.section-table button{padding:7px 10px;font-size:11px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.settings-grid .panel{margin:0}.settings-grid .wide{grid-column:1/-1}.info-list{display:grid;grid-template-columns:100px 1fr;gap:13px;font-size:12px;margin:20px 0}.info-list dt{color:var(--muted)}.info-list dd{margin:0}label.field{display:grid;gap:7px;font-size:11px;color:var(--muted)}input,textarea,select{border:1px solid #dfe6d9;border-radius:7px;padding:10px 11px;color:var(--ink);background:white;min-width:0}textarea{resize:vertical;min-height:74px;line-height:1.6}.field input,.field textarea,.field select{width:100%}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.fields .wide{grid-column:1/-1}.check-label{display:flex;align-items:flex-start;gap:9px;font-size:11px;line-height:1.7;color:var(--muted)}input[type=checkbox]{accent-color:var(--green);margin:3px 0}.source-row{padding:14px 0;border-top:1px solid var(--line);font-size:12px;display:flex;gap:12px;align-items:center;justify-content:space-between}.source-row:first-child{border:0}.source-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:65%}footer{padding:13px 40px 23px;display:flex;justify-content:space-between;color:#95a08f;font-size:10px;gap:12px}.backdrop{position:fixed;inset:0;background:#213c3659;z-index:20}.drawer{position:fixed;right:0;top:0;bottom:0;width:min(850px,95vw);background:var(--paper);z-index:21;box-shadow:-10px 0 50px #13282026;display:flex;flex-direction:column}.drawer-header{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;background:white;border-bottom:1px solid var(--line)}.drawer-header h2{font-size:17px;margin:0}.drawer-body{padding:24px;overflow:auto;flex:1}.drawer-grid{display:grid;grid-template-columns:250px minmax(0,1fr);gap:24px}.detail-image{background:#e9eee3;border-radius:9px;padding:12px;position:sticky;top:0;max-height:68vh}.detail-image img{width:100%;max-height:58vh;object-fit:contain}.detail-image a{display:block;text-align:center;font-size:11px;margin-top:12px}.detail-label{font-size:11px;margin-bottom:10px}.drawer-footer{padding:15px 24px;background:white;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:10px}.drawer-footer button{font-size:12px}.tax-grid{display:grid;grid-template-columns:1fr 1fr 1fr 30px;gap:6px;margin-bottom:6px}.tax-grid input{width:100%;padding:8px;font-size:11px}.tax-grid button{padding:5px;font-size:11px}.readings{margin-top:23px;font-size:11px}.reading{padding:12px;background:white;border:1px solid var(--line);border-radius:7px;margin-top:8px}.reading pre{white-space:pre-wrap;word-break:break-word;font-size:10px;line-height:1.7;max-height:250px;overflow:auto}details summary{cursor:pointer;line-height:1.8}.modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(580px,92vw);max-height:86vh;overflow:auto;z-index:23;background:var(--paper);border-radius:15px;padding:27px}.modal h2{font-size:20px}.modal video{max-width:100%;max-height:45vh;background:#172920;border-radius:9px}.modal-footer{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(300px,1fr) minmax(360px,1fr);background:white}.login-story{background:var(--green);color:#f3f8e8;padding:60px max(30px,8vw);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.login-story .eyebrow{color:#bdd69e}.login-story h1{font-size:48px;line-height:1.2;margin:26px 0;letter-spacing:-2px}.login-story p{color:#b9ccbb;max-width:350px;font-size:13px}.login-story .brand{position:absolute;top:48px;left:max(30px,8vw)}.login-story .paper-mark{margin-top:35px;width:175px;height:220px;background:#f2f6e7;border-radius:9px;transform:rotate(-8deg);box-shadow:18px 15px 0 #ffffff12;padding:30px 23px}.paper-mark i{display:block;height:5px;background:#c6d5b6;border-radius:2px;margin:15px 0}.paper-mark i:first-child{width:60%;height:8px;background:#8fae7e}.paper-mark i:last-child{width:70%;margin-top:35px}.login-form{padding:55px max(28px,7vw);display:flex;flex-direction:column;justify-content:center}.login-form h2{font-size:28px;letter-spacing:-1px;margin:17px 0 12px}.login-form p{font-size:12px;color:var(--muted);line-height:1.8}.login-form form{display:grid;gap:19px;margin:24px 0 15px}.login-form input[type=password]{font-size:15px;letter-spacing:1px;padding:15px}.login-footnote{font-size:10px!important;margin-top:20px}.login-form .language{max-width:170px}.error-text{font-size:12px;color:var(--danger);line-height:1.7}.upload-status{margin-bottom:15px;font-size:12px;padding:14px;border:1px solid var(--line);background:white;border-radius:9px}#connection{position:sticky;top:0;z-index:30;background:#fff1d5;color:#84632b;text-align:center;font-size:12px;padding:11px}#toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);max-width:90vw;z-index:50;padding:13px 20px;background:#244e42;color:#fff;border-radius:10px;font-size:12px;box-shadow:0 7px 25px #0002}.all-select{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:8px}.batch-tools{display:flex;gap:7px}.batch-tools button{font-size:11px;padding:8px 10px}[hidden]{display:none!important}@media(min-width:1500px){.receipt-grid{grid-template-columns:repeat(auto-fill,minmax(245px,1fr))}.receipt-image{height:205px}}@media(max-width:1050px){.workspace{grid-template-columns:190px 1fr}.sidebar{padding:25px 13px}.topbar{padding:0 25px}main{padding:28px 25px}.stat{padding:20px 17px}.drawer-grid{grid-template-columns:210px minmax(0,1fr)}.settings-grid{grid-template-columns:1fr}.login-story{padding:50px 35px}.login-story .brand{left:35px}.login-story h1{font-size:38px}.login-form{padding:40px}}@media(max-width:760px){.workspace{display:block}.sidebar{position:static;width:100%;height:auto;padding:16px 18px;display:block;border-bottom:1px solid var(--line)}.sidebar .brand{font-size:17px}.sidebar .brand img{width:30px;height:30px}.sidebar .side-nav{display:flex;gap:5px;margin-top:14px}.nav-button{justify-content:center;padding:10px;font-size:11px;gap:7px}.sidebar .side-bottom,.sidebar .batch-section{display:none}.topbar{height:65px;padding:0 18px}.version{display:none}.top-actions{gap:6px}.top-actions button,.top-actions a{font-size:11px;padding:9px 11px}main{padding:24px 18px}.page-heading{align-items:start}.page-heading .date-chip{display:none}h1{font-size:24px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:22px}.stat{padding:18px}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.stat-value{font-size:25px}.toolbar{gap:13px}.search{width:100%}.search input{width:100%}.receipt-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.receipt-image{height:155px}.receipt-content{padding:12px}.card-top{font-size:9px}.badge{font-size:9px}.amount{font-size:18px}.fields{gap:12px}.drawer-grid{display:block}.detail-image{position:static;max-height:300px;margin-bottom:22px}.detail-image img{max-height:245px}.drawer-body{padding:19px}.drawer-footer{padding:12px;flex-wrap:wrap}.drawer-footer .split{gap:5px}.drawer-footer button{padding:10px;font-size:11px}.login-shell{display:block}.login-story{padding:40px 26px 27px;min-height:240px}.login-story .brand{position:static}.login-story h1{font-size:31px;margin:22px 0 12px}.login-story .paper-mark,.login-story>p,.login-story>.eyebrow{display:none}.login-form{padding:32px 26px}.section-table th:nth-child(3),.section-table td:nth-child(3){display:none}.batch-tools{flex-wrap:wrap}footer{padding:10px 18px;font-size:9px}.source-row{align-items:flex-start}.settings-grid{display:block}.settings-grid .panel{margin-bottom:16px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.video-options{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px;font-size:12px}.video-options select{max-width:100%;padding:8px 10px}.video-options span{font-size:11px;color:var(--muted)}.upload-status .panel-heading{margin-bottom:0;align-items:flex-start;flex-wrap:wrap}#upload-message{min-width:0;overflow-wrap:anywhere;flex:1 1 250px}.upload-status button{font-size:11px;padding:7px 10px}.import-report li{overflow-wrap:anywhere}.import-report ul{padding-left:19px}.upload-status progress{display:block}
