:root{--bg:#f4f6f5;--surface:#fff;--ink:#233631;--muted:#74817b;--line:#e4e9e6;--brand:#245f51;--brand-dark:#163c37;--soft:#edf5ef;--amber:#a56816;--amber-bg:#fff5e4;--red:#b34343;--blue:#376f9d;--radius:12px;--shadow:0 8px 28px #243f3712}
*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;color:var(--ink);font-size:14px;line-height:1.6}button,input,select,textarea{font:inherit}button,a,input,select,textarea{ -webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #65a592;outline-offset:3px}svg.icon{width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}h1,h2,h3,p{margin:0}h1{font-size:28px;font-weight:650;letter-spacing:-.7px;line-height:1.4}h2{font-size:17px;font-weight:650}h3{font-size:15px;font-weight:650}.muted{color:var(--muted)}.small{font-size:12px}.mono,.amount{font-variant-numeric:tabular-nums}.amount{font-weight:600;white-space:nowrap}.skip{position:absolute;top:-60px;left:16px;z-index:100;background:white;padding:12px}.skip:focus{top:12px}.initial-loading{padding:100px 24px;text-align:center;color:var(--muted)}
.shell{min-height:100vh;display:grid;grid-template-columns:220px minmax(0,1fr)}.sidebar{position:fixed;width:220px;inset:0 auto 0 0;background:var(--brand-dark);color:#c9dbd3;display:flex;flex-direction:column;padding:30px 18px 20px;z-index:20}.brand{display:flex;align-items:center;gap:12px;color:#fff;padding:0 10px 32px}.brand-mark{display:grid;place-items:center;width:38px;height:40px;border:1px solid #78998b;border-radius:9px;font-weight:700;letter-spacing:-2px;color:#deeee4;font-size:19px}.brand strong{display:block;font-size:16px;letter-spacing:1px}.brand small{font-size:10px;letter-spacing:1.8px;color:#94b3a6}.nav-caption{font-size:10px;letter-spacing:2px;color:#82a597;padding:0 14px 10px}.nav-item{display:flex;gap:12px;align-items:center;color:#bcd1c7;min-height:47px;padding:10px 14px;border-radius:7px;margin-bottom:7px}.nav-item:hover{text-decoration:none;background:#ffffff09;color:#fff}.nav-item.active{background:#d6e9de;color:#163c37;font-weight:600}.nav-item .icon{width:18px;height:18px}.side-foot{margin-top:auto;padding:20px 12px 0;border-top:1px solid #ffffff16;font-size:11px;color:#8eafa0}.side-foot strong{display:block;font-size:12px;color:#bdd3c8;font-weight:500;margin-bottom:4px}.workspace{grid-column:2;min-width:0}.topbar{height:73px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 38px;background:#ffffffc9;gap:20px}.crumb{font-size:12px;color:#8b9690}.crumb span{padding:0 10px;color:#bdc5c0}.top-right{display:flex;align-items:center;gap:16px}.today{font-size:12px;color:var(--muted)}.user{display:flex;align-items:center;gap:9px;font-size:12px}.avatar{width:30px;height:30px;display:grid;place-items:center;background:#dfece3;color:#315f4d;border-radius:50%;font-weight:600}.user small{display:block;color:var(--muted);font-size:10px;line-height:1.3}.main{padding:28px 38px 40px;max-width:1600px;margin:auto}.preview-bar{display:flex;align-items:center;gap:9px;margin-bottom:24px;padding:10px 14px;background:#e9f0ed;border:1px solid #dbe5df;border-radius:7px;color:#557366;font-size:12px}.preview-bar .dot{width:6px;height:6px;border-radius:50%;background:#5a8871;flex-shrink:0}.preview-bar a{margin-left:auto;white-space:nowrap}.page-heading{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:25px}.page-heading p{margin-top:6px;font-size:13px;color:var(--muted)}.eyebrow{display:block;color:var(--muted);font-size:10px;letter-spacing:2px;margin-bottom:7px;font-weight:600}.btn{border:1px solid var(--line);border-radius:7px;min-height:38px;padding:8px 14px;display:inline-flex;justify-content:center;align-items:center;gap:7px;color:var(--ink);background:#fff;line-height:1.4;font-size:13px;white-space:nowrap}.btn:hover{background:#f4f7f5;text-decoration:none}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover{background:#1c4c41}.btn.danger{color:var(--red);border-color:#efcaca}.btn.small{min-height:31px;font-size:12px;padding:5px 9px}.btn.ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn .icon{width:16px;height:16px}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:25px}.metric{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:19px 21px;position:relative;min-height:136px;display:block;color:inherit}.metric:hover{border-color:#b8cfc1;text-decoration:none;box-shadow:var(--shadow)}.metric-top{display:flex;justify-content:space-between;font-size:12px;color:#728079;align-items:center}.metric-icon{width:30px;height:30px;background:#f0f4f1;border-radius:8px;display:grid;place-items:center;color:#688c79}.metric-icon .icon{width:16px;height:16px}.metric-value{font-size:34px;font-weight:650;line-height:1.3;margin:4px 0;font-variant-numeric:tabular-nums;letter-spacing:-1px}.metric-note{font-size:11px;color:var(--muted)}.metric:first-child .metric-icon{color:#ae792e;background:var(--amber-bg)}.metric:first-child .metric-value{color:#9d681d}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;min-width:0}.panel-head{padding:19px 23px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:14px}.panel-head p{font-size:12px;color:var(--muted);margin-top:3px}.panel-head a{font-size:12px;white-space:nowrap}.panel-body{padding:22px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:20px}.dash-main{display:grid;gap:22px;align-content:start}.dash-side{display:grid;gap:20px;align-content:start}.flow{display:flex;padding:22px 23px;gap:0;align-items:flex-start}.flow-step{flex:1;position:relative;min-width:0;text-align:center}.flow-step:not(:last-child):after{content:"";position:absolute;top:13px;left:calc(50% + 23px);right:calc(-50% + 23px);border-top:1px dashed #cad7ce}.step-number{display:grid;place-items:center;width:28px;height:28px;background:#f0f4f1;border:1px solid #dee7e0;border-radius:50%;margin:0 auto 9px;font-size:11px;color:#6c8878}.flow-step.current .step-number{background:var(--brand);color:white;border-color:var(--brand)}.flow-step strong{font-size:12px;font-weight:500}.flow-step small{display:block;font-size:10px;color:var(--muted);margin-top:2px}.flow-caption{border-top:1px solid var(--line);padding:12px 23px;font-size:11px;color:var(--muted);background:#fafcfb}.count{font-size:11px;border-radius:4px;background:#edf3ef;padding:1px 6px;color:#648070;margin-left:6px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}.data-table th{font-size:11px;font-weight:500;color:#88938d;background:#fafcfb;padding:12px 20px;border-bottom:1px solid var(--line);white-space:nowrap}.data-table td{padding:16px 20px;border-bottom:1px solid #edf0ee;vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fafcfb}.data-table .primary-text{display:block;color:#32493c;font-weight:500;font-size:12px;max-width:270px;overflow-wrap:anywhere}.data-table .secondary-text{display:block;font-size:10px;color:#93a098;margin-top:3px}.data-table .code{font-size:10px;color:#8b9990;white-space:nowrap}.data-table .action-cell{text-align:right;white-space:nowrap}.status{display:inline-flex;align-items:center;gap:5px;border-radius:5px;padding:3px 8px;font-size:10px;line-height:1.6;white-space:nowrap;color:#71837a;background:#f0f3f1}.status:before{content:"";width:4px;height:4px;background:currentColor;border-radius:50%}.status-review,.status-needs_info,.status-pdf_review,.status-pending{background:#fff4e0;color:#a37323}.status-ready{background:#eaf1fb;color:#527baf}.status-issuing,.status-partial{background:#eeedfa;color:#7a6ea2}.status-awaiting_platform,.status-valid{background:#eaf4ee;color:#497b5f}.status-completed{background:#edf2ef;color:#7e9485}.status-void,.status-rejected{background:#fbeeee;color:#b96565}.timeline{padding:20px 21px}.timeline-item{padding:0 0 20px 19px;border-left:1px solid #e1e8e3;position:relative}.timeline-item:last-child{padding-bottom:0;border:0}.timeline-item:before{position:absolute;content:"";width:6px;height:6px;border-radius:50%;background:#9ab2a1;left:-3.5px;top:7px;box-shadow:0 0 0 3px #fff}.timeline-item strong{display:block;font-size:11px;font-weight:500;line-height:1.7}.timeline-item p{font-size:10px;color:var(--muted);margin-top:3px}.timeline-item a{font-size:10px}.rule-card{padding:22px;background:#f1f6f2;border:1px solid #dde7df;border-radius:var(--radius)}.rule-card .rule-icon{color:#72927d;margin-bottom:12px}.rule-card h3{font-size:13px}.rule-card p{font-size:11px;color:#809285;line-height:1.9;margin-top:8px}.path-example{background:white;border:1px solid #e1e9e3;border-radius:7px;font-size:11px;padding:11px 12px;color:#59755f;overflow-wrap:anywhere;margin-top:14px}.connection{display:flex;align-items:center;gap:8px;padding-top:14px;font-size:10px;color:var(--muted)}.connection:before{content:"";width:5px;height:5px;border-radius:50%;background:#b7c4bc}.connection.on:before{background:#64a47c}.footer-note{font-size:10px;color:#a0aba3;margin-top:25px;text-align:center}.empty{text-align:center;padding:50px 20px;color:var(--muted)}.empty .icon{width:34px;height:34px;margin-bottom:10px;color:#a8bbae}.empty h3{font-size:14px;color:#6b8172;margin-bottom:6px}.empty p{font-size:12px}.empty .btn{margin-top:17px}.toolbar{padding:17px 20px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-bottom:1px solid var(--line)}.search{position:relative;flex:1;min-width:170px}.search .icon{position:absolute;left:11px;top:11px;width:15px;height:15px;color:#94a198}.search input{padding-left:34px}.toolbar input,.toolbar select{height:37px;font-size:12px}.toolbar select{width:auto;max-width:180px}.filter-tabs{display:flex;gap:7px;padding:0 0 16px;overflow:auto}.filter-tab{padding:6px 13px;background:transparent;border:1px solid transparent;border-radius:6px;font-size:12px;color:#7b8b80;white-space:nowrap}.filter-tab.active{background:#e2ede6;border-color:#cfdfd3;color:#315e43}.pager{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}input,select,textarea{width:100%;border:1px solid #dce4de;border-radius:6px;padding:9px 11px;color:var(--ink);background:#fff;line-height:1.5;min-width:0}input::placeholder,textarea::placeholder{color:#a7b1aa}input[type=checkbox]{width:16px;height:16px;accent-color:var(--brand);cursor:pointer}input[readonly],textarea[readonly]{background:#f7f9f7;color:#63776b}textarea{resize:vertical;min-height:105px}label.field{display:block;font-size:12px;color:#607365}.field>span{display:block;margin-bottom:6px}.field .required{font-style:normal;color:#b97946;margin-left:3px}.field small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 19px}.span-2{grid-column:1/-1}.form-section{margin-top:24px;padding-top:21px;border-top:1px solid var(--line)}.form-section h3{margin-bottom:15px}.form-note{padding:10px 13px;background:#f2f6f3;color:#718878;font-size:11px;border-radius:6px;margin-bottom:17px}.form-error{padding:10px 13px;background:#fff0ec;color:#a55241;border:1px solid #f2d5cc;border-radius:6px;font-size:12px;margin-bottom:16px;overflow-wrap:anywhere}.form-error:empty{display:none}dialog{border:1px solid #dfe8e2;border-radius:14px;width:min(920px,calc(100% - 36px));max-height:90vh;padding:0;box-shadow:0 24px 80px #0e2a3450;color:var(--ink)}dialog::backdrop{background:#15362b55;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;padding:23px 26px;border-bottom:1px solid var(--line);gap:16px;position:sticky;top:0;background:#fff;z-index:3}.dialog-head h2{font-size:20px;line-height:1.4}.dialog-head p{font-size:12px;color:var(--muted);margin-top:6px}.dialog-body{padding:24px 26px;max-height:calc(90vh - 170px);overflow:auto}.dialog-foot{padding:16px 26px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px;background:#fafcfb;position:sticky;bottom:0}.dialog-foot .muted{margin-right:auto;align-self:center;font-size:11px}.close{width:30px;height:30px;display:grid;place-items:center;padding:0;background:none;border:0;color:#8a998f;border-radius:5px;flex-shrink:0}.close:hover{background:#edf3ef}.checkbox-label{display:flex;gap:9px;align-items:flex-start;font-size:12px;color:#6b8172}.checkbox-label input{margin:3px 0 0;flex-shrink:0}.detail-head{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.back-link{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);margin-bottom:18px}.back-link .icon{width:16px;height:16px}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px}.stack{display:grid;gap:21px;align-content:start;min-width:0}.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 24px}.fact dt{font-size:11px;color:#87978d;margin-bottom:5px}.fact dd{margin:0;font-size:13px;overflow-wrap:anywhere;white-space:pre-wrap}.facts dl{margin:0;min-width:0}.amount-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:19px 22px;background:#f8fbf9;border-bottom:1px solid var(--line);gap:12px}.amount-strip small{font-size:10px;color:#819487;display:block;margin-bottom:5px}.amount-strip strong{font-size:19px;font-weight:600;font-variant-numeric:tabular-nums}.source-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.9;background:#f8faf9;border:1px solid #e8eeea;border-radius:6px;padding:13px;max-height:230px;overflow:auto;margin:0}.file-list{display:grid;gap:8px;margin-top:12px}.file-row{display:flex;gap:9px;align-items:center;border:1px solid var(--line);border-radius:6px;padding:9px 11px;min-width:0}.file-row .icon{color:#7d9d89;width:18px;height:18px}.file-row .file-info{flex:1;min-width:0}.file-row .file-info span{display:block;font-size:11px;overflow-wrap:anywhere}.file-row small{font-size:10px;color:var(--muted)}.file-row a{font-size:11px}.upload-label{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;border:1px dashed #b9cec0;border-radius:8px;background:#f7faf7;text-align:center;padding:23px 12px;cursor:pointer;color:#52745b;font-size:12px}.upload-label input{position:absolute;width:1px;height:1px;opacity:0}.upload-label:focus-within{outline:3px solid #65a592;outline-offset:3px}.upload-label small{font-size:10px;color:#96a59a}.upload-results{display:grid;gap:6px;font-size:11px}.upload-results div{padding:8px 11px;border-radius:5px;background:#edf6ef;margin-top:6px;overflow-wrap:anywhere}.upload-results .failed{background:#fff1ed;color:#a55440}.invoice-card{border:1px solid var(--line);border-radius:8px;padding:16px;margin-top:12px}.invoice-card:first-child{margin-top:0}.invoice-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.invoice-card h3{font-size:12px;overflow-wrap:anywhere;min-width:0}.invoice-card p{font-size:11px;color:var(--muted);margin-top:5px;overflow-wrap:anywhere}.invoice-card .actions{margin-top:13px}.issue-list{background:var(--amber-bg);color:#9e722e;padding:9px 12px;margin:11px 0 0;border-radius:5px;font-size:11px}.invoice-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.pdf-frame{width:100%;height:480px;border:1px solid var(--line);border-radius:7px;background:#f5f6f6}.invoice-editor .form-grid{gap:12px}.invoice-editor label.field{font-size:11px}.invoice-editor input{font-size:12px}.pill{display:inline-flex;padding:2px 7px;font-size:10px;background:#eaf2ed;color:#678571;border-radius:5px}.info-banner{padding:13px 16px;border:1px solid #dfebe3;border-radius:8px;background:#edf5ef;font-size:12px;color:#5d7b67;margin-bottom:20px}.info-banner.warning{background:#fff6e9;border-color:#f1e0bf;color:#9b7c46}.info-banner .icon{vertical-align:middle;margin-right:6px;width:16px;height:16px}.company-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.company-card{padding:24px}.company-logo{width:42px;height:42px;border-radius:9px;background:#e6f0e9;color:#618269;display:grid;place-items:center;margin-bottom:18px}.company-card h3{font-size:15px;line-height:1.6}.company-card p{font-size:11px;color:var(--muted);margin:8px 0 15px;overflow-wrap:anywhere}.company-card .actions{padding-top:14px;border-top:1px solid var(--line);margin-top:15px}.settings-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:22px;align-items:start}.integration-row{display:flex;align-items:flex-start;gap:13px;padding:17px 0;border-bottom:1px solid var(--line)}.integration-row:first-child{padding-top:0}.integration-row:last-child{border:0;padding-bottom:0}.integration-row .service-icon{display:grid;place-items:center;width:35px;height:35px;border:1px solid var(--line);background:#f5f8f6;border-radius:8px;color:#749482;flex-shrink:0}.integration-row .service-icon .icon{width:19px;height:19px}.integration-info{flex:1;min-width:0}.integration-row strong{font-size:13px;font-weight:500}.integration-row p{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.8}.setting-list{display:grid;gap:16px}.setting-item{font-size:12px}.setting-item span{display:block;font-size:10px;color:var(--muted);margin-bottom:5px}.members{display:grid;gap:12px}.member{display:flex;gap:10px;align-items:center;min-width:0}.member-info{flex:1;min-width:0}.member-info strong{display:block;font-size:12px}.member-info small{font-size:10px;color:var(--muted)}.toasts{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);z-index:100;display:grid;gap:9px;max-width:calc(100% - 30px);width:max-content;pointer-events:none}.toast{background:#234a3b;color:#fff;border-radius:8px;padding:12px 20px;box-shadow:var(--shadow);font-size:13px;overflow-wrap:anywhere}.toast.error{background:#9a4b40}.login-page{display:grid;place-items:center;min-height:100vh;padding:30px;background:#eef3ef}.login-card{max-width:400px;width:100%;padding:34px;background:white;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.login-card .brand{color:var(--ink);padding:0 0 26px}.login-card .brand-mark{background:var(--brand-dark)}.login-card form{display:grid;gap:18px}.login-card h1{font-size:22px;margin-bottom:5px}.login-card>p{font-size:12px;color:var(--muted);margin-bottom:23px}.login-card .btn{width:100%;margin-top:5px}.job-card{padding:11px 13px;background:#f8faf8;border:1px solid var(--line);border-radius:7px;font-size:11px;margin-top:10px;overflow-wrap:anywhere}.job-card p{color:var(--muted);margin-top:5px}.job-card .btn{margin-top:9px}.candidate-grid{width:100%;font-size:11px;border-collapse:collapse;margin:10px 0}.candidate-grid th,.candidate-grid td{text-align:left;padding:6px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.candidate-grid th{color:var(--muted);font-weight:400;width:90px}.job-result pre{max-height:250px;overflow:auto;font-size:11px;white-space:pre-wrap}.login-foot{font-size:11px;color:var(--muted);margin-top:22px;text-align:center}.busy{pointer-events:none;opacity:.65}.mobile-only{display:none}.table-check{width:18px;padding-right:0!important}.bulkbar{padding:14px 20px;display:flex;justify-content:space-between;gap:10px;align-items:center;background:#f4f8f5;border-top:1px solid var(--line);font-size:12px}.logs details{font-size:11px;color:var(--muted);margin-top:6px}.logs pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:10px;background:#f5f7f5;padding:9px;border-radius:5px}.status-label-line{display:flex;justify-content:space-between;gap:10px;align-items:center}.name-preview{padding:12px;background:#eff5f0;border-radius:6px;font-size:11px;color:#698271;overflow-wrap:anywhere}.body-loading{padding:70px;text-align:center;color:var(--muted)}
@media(min-width:1600px){.main{padding-top:32px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 320px}.data-table td{padding-top:19px;padding-bottom:19px}}
@media(max-width:1200px){.shell{grid-template-columns:190px minmax(0,1fr)}.sidebar{width:190px;padding-left:13px;padding-right:13px}.brand{gap:9px;padding-left:5px;padding-right:5px}.brand strong{font-size:14px}.topbar{padding:0 25px}.main{padding:25px}.dashboard-grid{grid-template-columns:minmax(0,1fr)}.dash-side{grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:minmax(0,1fr) 290px}.data-table td,.data-table th{padding-left:15px;padding-right:15px}.company-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics{gap:12px}.metric{padding:16px}}
@media(max-width:850px){.shell{grid-template-columns:76px minmax(0,1fr)}.sidebar{width:76px;padding:24px 11px}.brand{padding:0 0 28px;justify-content:center}.brand>div:last-child,.nav-caption,.nav-item>span,.side-foot{display:none}.nav-item{justify-content:center;padding:13px 0;gap:0}.nav-item .icon{width:20px;height:20px}.topbar{padding:0 22px;height:65px}.main{padding:22px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.metric{min-height:120px;padding:16px 19px}.metric-value{font-size:30px}.detail-grid,.settings-grid{grid-template-columns:1fr}.detail-grid>.stack:last-child{grid-template-columns:1fr 1fr}.detail-grid>.stack:last-child>.panel:last-child{grid-column:1/-1}.page-heading h1{font-size:25px}.today{display:none}.company-grid{gap:15px}.invoice-editor{grid-template-columns:1fr}.pdf-frame{height:300px}}
@media(max-width:600px){body{font-size:13px}.shell{display:block}.sidebar{position:fixed;inset:auto 0 0;width:100%;height:66px;padding:4px 7px;display:block;background:#fff;border-top:1px solid var(--line);box-shadow:0 -3px 15px #18392c05}.sidebar .brand,.side-foot,.nav-caption{display:none}.sidebar nav{display:flex;justify-content:space-around}.nav-item{display:flex;flex-direction:column;gap:2px;margin:0;flex:1;color:#81958a;min-height:54px;border-radius:6px;padding:6px 3px}.nav-item>span{display:block;font-size:9px}.nav-item .icon{width:18px;height:18px}.nav-item.active{color:var(--brand);background:#edf5ef}.workspace{padding-bottom:65px}.main{padding:19px 16px 28px}.topbar{height:57px;padding:0 16px}.crumb{font-size:11px}.crumb span{padding:0 6px}.user{gap:6px}.user small{display:none}.user .avatar{height:27px;width:27px;font-size:11px}.user>div:last-child{font-size:10px}.preview-bar{font-size:10px;padding:8px 10px;margin-bottom:19px;align-items:flex-start;gap:6px}.preview-bar .dot{margin-top:5px}.preview-bar a{display:none}.page-heading{margin-bottom:21px;gap:10px;align-items:flex-start}.page-heading h1{font-size:23px}.page-heading p{font-size:11px}.eyebrow{font-size:9px;margin-bottom:4px}.page-heading .btn{min-height:35px;font-size:11px;padding:8px 10px;margin-top:9px}.metrics{gap:10px;margin-bottom:19px}.metric{padding:14px;min-height:117px}.metric-top{font-size:11px}.metric-icon{height:25px;width:25px}.metric-value{font-size:28px;margin-top:5px}.metric-note{font-size:9px}.dash-main,.dashboard-grid,.dash-side{gap:17px}.dash-side{grid-template-columns:1fr}.panel-head{padding:16px}.panel-head h2{font-size:15px}.panel-head p{font-size:10px}.panel-head a{font-size:11px}.panel-body{padding:16px}.flow{padding:18px 9px}.flow-step strong{font-size:10px}.flow-step small{display:none}.step-number{width:24px;height:24px;font-size:10px}.flow-step:not(:last-child):after{top:11px;left:calc(50% + 17px);right:calc(-50% + 17px)}.flow-caption{font-size:10px;padding:10px 15px}.data-table.responsive thead{display:none}.data-table.responsive,.data-table.responsive tbody{display:block}.data-table.responsive tr{display:grid;grid-template-columns:minmax(0,1fr) auto;position:relative;padding:15px 16px;border-bottom:1px solid var(--line);gap:4px 12px}.data-table.responsive tr:last-child{border-bottom:0}.data-table.responsive td{padding:0;border:0;display:block;min-width:0}.data-table.responsive td.mobile-hide{display:none}.data-table.responsive td.primary-cell{grid-column:1;grid-row:1 / 3}.data-table.responsive .primary-text{font-size:12px;max-width:100%;line-height:1.6;padding-right:4px}.data-table.responsive .secondary-text{font-size:10px}.data-table.responsive td.status-cell{grid-column:2;grid-row:1;text-align:right}.data-table.responsive td.amount-cell{grid-column:2;grid-row:2;text-align:right;font-size:12px}.data-table.responsive td.action-cell{grid-column:1 / -1;text-align:left;display:flex;gap:9px;margin-top:8px;justify-content:flex-end}.data-table.responsive .code-cell{grid-column:1/-1;grid-row:3;margin-top:2px;font-size:10px}.data-table.responsive .table-check{grid-column:1/-1;grid-row:4;position:absolute;left:16px;bottom:21px}.data-table.responsive .archive-primary{grid-row:1 / 3}.toolbar{gap:9px;padding:14px}.toolbar .search{flex-basis:100%;min-width:0}.toolbar select{flex:1;max-width:100%;width:0;font-size:11px;min-width:0}.toolbar .btn{font-size:11px;padding:8px}.filter-tabs{gap:4px;padding-bottom:12px}.filter-tab{font-size:11px;padding:5px 10px}.company-grid{grid-template-columns:1fr}.company-card{padding:20px}.settings-grid{gap:17px}.detail-grid>.stack:last-child{grid-template-columns:1fr}.detail-grid{gap:17px}.detail-head h1{font-size:19px;letter-spacing:-.4px}.detail-head .status{font-size:9px}.detail-grid .panel-head .btn{font-size:10px}.amount-strip{padding:16px;gap:8px}.amount-strip strong{font-size:16px}.facts{gap:16px 12px}.fact dd{font-size:12px}.fact dt{font-size:10px}.form-grid{gap:15px;grid-template-columns:1fr}.span-2{grid-column:auto}.dialog-head{padding:18px}.dialog-head h2{font-size:18px}.dialog-head p{font-size:11px}.dialog-body{padding:18px;max-height:calc(90vh - 170px)}.dialog-foot{padding:14px 18px}.dialog-foot .muted{display:none}dialog{width:calc(100% - 22px);max-height:93vh}.form-section{margin-top:20px}.invoice-editor{gap:18px}.invoice-editor .form-grid{grid-template-columns:1fr}.pdf-frame{height:250px}.info-banner{font-size:11px;padding:11px 13px}.bulkbar{font-size:11px;padding:12px 14px}.bulkbar .btn{font-size:11px}.pager{font-size:10px;padding:12px 14px}.toasts{bottom:80px}.toast{font-size:12px;padding:10px 15px}.integration-row{gap:10px}.integration-row .status{font-size:9px}.status-label-line{align-items:flex-start}.footer-note{font-size:9px}.back-link{margin-bottom:14px}.empty{padding:35px 16px}.invoice-card{padding:13px}.invoice-card-head{align-items:flex-start}.invoice-card .btn{font-size:10px}.btn{min-height:37px}.mobile-only{display:initial}}
.pdf-preview{max-height:480px;overflow:auto;background:#e8ece9;border:1px solid var(--line);border-radius:7px;padding:8px}.pdf-preview figure{margin:0 0 12px}.pdf-preview figcaption{font-size:10px;text-align:center;color:#7b8d82;padding:4px}.pdf-preview img{display:block;width:100%;height:auto;background:white;box-shadow:0 1px 5px #0001}.invoice-editor .form-grid{align-content:start}.preview-document{padding:24px;max-width:1000px;margin:auto}.preview-document header{padding:0 0 20px}.preview-document h1{font-size:20px;overflow-wrap:anywhere}.preview-document p,.preview-document a{font-size:12px;color:var(--muted)}.preview-document figure{margin:0 0 20px}.preview-document figcaption{text-align:center;font-size:12px;color:var(--muted);padding:8px}.preview-document img{width:100%;display:block;border:1px solid var(--line);background:white}.dialog-body{max-height:calc(90vh - 195px)}
@media(max-width:600px){.pdf-preview{max-height:300px}.preview-document{padding:14px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
[hidden]{display:none!important}
.account-setup-banner{display:flex;justify-content:space-between;align-items:center;gap:18px;background:#edf5ef;border:1px solid #d5e4da;border-radius:9px;padding:20px;margin-bottom:22px}.account-setup-banner strong{font-size:15px}.account-setup-banner p{font-size:12px;color:var(--muted);margin-top:6px}.account-setup-banner .btn{flex-shrink:0}#user-form .form-note{margin:0}#account-setup-form .form-note{margin-top:18px}@media(max-width:600px){.account-setup-banner{align-items:stretch;flex-direction:column;padding:16px}.top-right{gap:5px}.top-right>.btn{padding:7px;min-width:30px}}
.archive-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px}.archive-actions .btn{height:32px;min-height:32px;margin:0;vertical-align:middle}
.download-info{display:grid;gap:4px;font-size:11px;line-height:1.7;color:var(--muted);margin:8px 0;white-space:normal}.download-info strong{font-size:11px;font-weight:500;color:#866b3d}.download-info.downloaded strong{color:var(--brand)}.download-info span{font-size:10px;overflow-wrap:anywhere}.download-cell{min-width:165px}.archive-toolbar{flex-wrap:wrap}.archive-toolbar .search{flex-basis:230px}.invoice-card .download-info{padding:9px 12px;background:#f4f7f4;border-radius:6px;margin-bottom:14px}@media(max-width:600px){.archive-toolbar select{flex:1 1 40%;width:auto;max-width:100%}.data-table.responsive td.download-cell{grid-column:1/-1;grid-row:3;min-width:0;padding-top:5px}.data-table.responsive .download-info{margin:0}.data-table.responsive td.download-cell~.action-cell{grid-row:4}.archive-toolbar .search{flex-basis:100%}}
.order-actions{display:flex;justify-content:flex-end;align-items:center;gap:6px}.order-actions .copy-info{color:#8a968f;font-size:11px;padding:5px 6px}.order-actions .copy-info:hover{color:var(--brand);background:#f0f5f1}.clipboard-fallback{position:fixed;left:-9999px;top:0}.batch-file-queue{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px;max-height:280px;overflow:auto}.batch-file-queue:empty{display:none}.batch-drop.drag-active .upload-label{background:#e2f0e7;border-color:var(--brand);outline:2px solid #87ad96}.batch-results-panel,.batch-history{margin-top:22px}.batch-summary{display:flex;gap:22px;flex-wrap:wrap;padding:18px 22px;background:#f4f8f5;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.batch-summary b{font-size:18px;color:var(--ink);margin-left:4px}.batch-results-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:22px}.batch-result{border:1px solid var(--line);border-radius:8px;padding:17px;min-width:0}.batch-result-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.batch-result h3{overflow-wrap:anywhere;font-size:13px;min-width:0}.batch-result p{font-size:11px;color:var(--muted);line-height:1.9;overflow-wrap:anywhere;margin-top:10px}.batch-result .batch-reason{color:#a37323}.batch-result .actions{margin-top:14px}.batch-history-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px}.batch-history-row:last-child{border-bottom:0}.batch-history-row .icon{width:14px;vertical-align:middle}.batch-search{display:flex;gap:8px;margin-bottom:16px}.batch-search input{flex:1}#batch-poll-error{margin:12px 20px}#batch-poll-error:empty{display:none}@media(max-width:850px){.batch-results-list{grid-template-columns:1fr}}@media(max-width:600px){.batch-file-queue{grid-template-columns:1fr}.batch-results-list{padding:14px}.batch-summary{padding:14px;gap:12px}.batch-summary span{font-size:11px}.batch-result{padding:13px}.batch-result-head{flex-wrap:wrap}.batch-history-row{font-size:11px;flex-wrap:wrap}.page-heading:has(a[href="#invoice-batches"]){flex-wrap:wrap}.page-heading>.actions{flex-wrap:wrap}}
.invoice-return-panel .flow{border-bottom:1px solid var(--line)}.invoice-queue{display:grid;gap:8px;margin-top:12px}.invoice-queue:empty{display:none}.invoice-submit{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-top:16px}.invoice-submit>span{flex:1;min-width:160px}.invoice-submit .btn:disabled{opacity:.5;cursor:default}.invoice-drop.drag-active .upload-label{background:#e2f0e7;border-color:var(--brand);outline:2px solid #87ad96}.returned-invoices:not(:empty){margin-top:20px}.metrics{grid-template-columns:repeat(5,minmax(0,1fr))}@media(max-width:850px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.invoice-submit{align-items:stretch;gap:10px}.invoice-submit>span{flex-basis:100%}.invoice-submit>.btn{width:100%}.page-heading:has(.detail-head){flex-wrap:wrap}.page-heading:has(.detail-head)>div:first-child{min-width:0;max-width:100%}.detail-head{overflow-wrap:anywhere}}
.screenshot-drop:focus-visible{outline:3px solid #65a592;outline-offset:3px;border-radius:8px}.intake-previews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.intake-image{min-width:0;border:1px solid var(--line);border-radius:7px;overflow:hidden}.intake-image img{display:block;width:100%;height:115px;object-fit:contain;background:#f6f8f6}.intake-image>div{padding:8px}.intake-image span{display:block;font-size:11px;overflow-wrap:anywhere}.intake-image small{font-size:10px;color:var(--muted)}.intake-image button{float:right}.intake-caption{margin-top:16px;line-height:1.8}#intake-form .dialog-foot{flex-wrap:wrap}#intake-form .dialog-foot .btn{font-size:12px}#intake-form .upload-label small{max-width:100%;line-height:1.8}@media(max-width:600px){.intake-previews{grid-template-columns:repeat(2,minmax(0,1fr))}#intake-form .dialog-body{max-height:calc(90vh - 225px)}#intake-form .dialog-foot{padding:12px;gap:7px}#intake-form .dialog-foot .btn{font-size:11px;padding:8px 10px}}
.intake-progress{margin-top:20px;padding:14px 16px;border:1px solid #cbded1;background:#edf6ef;border-radius:8px;color:#3f6b4d;font-size:12px;line-height:1.8}.intake-review>p{margin:-5px 0 18px;line-height:1.8}.intake-review .form-note{background:#fff6e9;color:#926d35}.intake-confirm{margin-top:22px;padding:14px;background:#f1f6f2;border:1px solid #d8e6dc;border-radius:7px;line-height:1.8}.intake-review input:disabled,.intake-review textarea:disabled,.intake-review select:disabled{background:#f4f6f4;color:#829087}#intake-form .dialog-body{scroll-behavior:smooth}#intake-manual-fields{scroll-margin-top:18px}

.intake-source-inputs{align-items:end}.intake-source-inputs textarea{min-height:142px}.intake-source-inputs .upload-label{min-height:142px;padding:16px 12px}.intake-recognize{display:flex;gap:12px;align-items:center;margin-top:14px;flex-wrap:wrap}.intake-recognize .btn{color:var(--brand);border-color:#b9cec0}.intake-source h3 span{font-size:11px;font-weight:400}
.date-input-shell{position:relative;display:block}.date-input-shell .enhanced-date{padding-right:42px;font-family:"Microsoft YaHei","PingFang SC","Segoe UI",sans-serif}.enhanced-date::-webkit-calendar-picker-indicator{display:none}.date-picker-button{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:5px;background:transparent;color:#607a6b;padding:0}.date-picker-button:hover{background:#edf5ef}.date-picker-button .icon{width:18px;height:18px}
.finance-calendar{position:fixed;inset:auto;margin:0;width:306px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;border:1px solid #d9e3dc;border-radius:10px;padding:16px;background:#fff;color:var(--ink);box-shadow:0 10px 32px #193b2b26;font-family:"Microsoft YaHei","PingFang SC","Noto Sans CJK SC",Arial,sans-serif;font-size:14px;line-height:1.5;font-weight:400}.finance-calendar button,.finance-calendar input,.finance-calendar select{font-family:inherit;font-size:14px;font-weight:400}.calendar-title{color:#718477;font-size:12px;margin-bottom:12px}.calendar-head{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-bottom:16px}.calendar-head>button{width:30px;height:32px;border:0;background:#f1f6f2;color:var(--brand);border-radius:5px;font-size:24px;line-height:1}.calendar-year{display:flex;align-items:center;gap:3px}.calendar-year input{width:70px;padding:5px 4px;text-align:center;border-color:transparent;font-variant-numeric:tabular-nums}.calendar-year input:focus{border-color:#b9cec0}.calendar-head select{width:70px;padding:5px 4px;border-color:transparent}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.calendar-week{color:#7b8c81;margin-bottom:8px;text-align:center;font-size:12px}.calendar-day{height:33px;padding:0;border:1px solid transparent;border-radius:5px;background:transparent;color:#314b3d;font-variant-numeric:tabular-nums}.calendar-day.outside{color:#a3aea7}.calendar-day:hover{background:#edf5ef}.calendar-day[aria-current=date]{border-color:#a3c2b1}.calendar-day.selected{background:var(--brand);color:#fff;border-color:var(--brand)}.calendar-foot{display:flex;justify-content:space-between;padding-top:12px;margin-top:12px;border-top:1px solid var(--line)}.calendar-foot button{padding:5px 9px;border:0;border-radius:5px;background:none;color:var(--brand)}.calendar-foot button:hover{background:#edf5ef}
.company-contact{display:grid;gap:11px;margin:17px 0}.company-contact>div{min-width:0}.company-contact dt{font-size:10px;color:var(--muted);margin-bottom:3px}.company-contact dd{margin:0;font-size:12px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.company-source h3,.company-review h3{font-size:14px;font-weight:500;margin-bottom:16px}.company-source h3 span{margin-left:8px;font-weight:400}.company-drop.drag-active .upload-label{background:#e2f0e7;border-color:var(--brand);outline:2px solid #87ad96}.company-source .intake-progress{white-space:pre-line}.company-evidence{margin-top:12px;font-size:12px;color:var(--muted)}.company-evidence pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;overflow:auto;margin-top:8px}.company-review{scroll-margin-top:8px}#company-form .dialog-body{scroll-behavior:smooth}#company-form input:disabled,#company-form textarea:disabled{background:#f4f6f4;color:#829087}

/* Contextual AI rules, shared by forms and settings. */
.ai-rules{margin-top:16px;border:1px solid var(--line);border-radius:8px;background:#f8faf8;font-size:12px;line-height:1.8;color:var(--ink)}
.ai-rules>summary{padding:11px 14px;cursor:pointer;font-weight:500;color:var(--brand)}
.ai-rules>summary:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}
.ai-rules[open]>summary{border-bottom:1px solid var(--line)}
.ai-rules-body{padding:14px 16px;overflow-wrap:anywhere}
.ai-rules-body section+section{margin-top:17px}
.ai-rules-body h3{margin:0 0 7px;font-family:inherit;font-size:13px;line-height:1.7;font-weight:500;color:var(--ink)}
.ai-rules-body ul{margin:0;padding-left:19px;list-style:disc}
.ai-rules-body li+li{margin-top:7px}
.ai-rules-quota{margin:0 0 16px;font-weight:500;color:var(--brand)}
.batch-rule-panel{padding-top:0}.batch-rule-panel .ai-rules{margin-top:0}
@media(max-width:600px){.ai-rules-body{padding:12px}.ai-rules>summary{padding:11px 12px}}

.ai-policy-panel{margin-top:22px}.ai-policy-panel .ai-rules-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px}.ai-policy-panel .ai-rules-body section+section{margin-top:0}.ai-policy-panel .ai-rules-quota{grid-column:1/-1;margin-bottom:0}.ai-rules+.panel{margin-top:16px}
@media(max-width:850px){.ai-policy-panel .ai-rules-body{grid-template-columns:1fr}}
