:root{color:#111827;font-synthesis:none;text-rendering:optimizelegibility;background:#f9fafb;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{background:#f9fafb;min-height:100vh}button,input{font:inherit}:focus-visible{outline-offset:2px;outline:3px solid #c2185b59}.auth-page{background:linear-gradient(90deg,#111827 0 34%,#0000 34%),#f9fafb;place-items:center;min-height:100vh;padding:32px 20px;display:grid}.auth-panel{background:#fff;border:1px solid #e5e7eb;border-top:4px solid #c2185b;border-radius:8px;width:min(100%,440px);padding:40px;box-shadow:0 18px 55px #11182724}.brand-mark,.desktop-brand__mark{color:#fff;background:#c2185b;place-items:center;font-weight:800;display:inline-grid}.brand-mark{border-radius:8px;width:48px;height:48px;margin-bottom:22px;font-size:22px}.brand-mark--secure{background:#111827}.auth-kicker{color:#c2185b;letter-spacing:.08em;margin-bottom:6px;font-size:13px;font-weight:700;display:block}.auth-panel h1.ant-typography{margin:0 0 8px;font-size:30px;line-height:1.25}.auth-description{color:#6b7280;margin-bottom:24px!important}.auth-panel .ant-alert{margin-bottom:20px}.auth-form{margin-top:4px}.auth-form .ant-form-item-label>label{font-size:14px;font-weight:600}.auth-actions{width:100%}.app-shell{min-height:100vh;padding-left:208px}.desktop-nav{z-index:20;background:#111827;flex-direction:column;width:208px;padding:22px 12px 16px;display:flex;position:fixed;inset:0 auto 0 0}.desktop-brand{align-items:center;gap:10px;min-height:52px;margin:0 4px 26px;display:flex}.desktop-brand__mark{border-radius:6px;flex:0 0 40px;width:40px;height:40px;font-size:18px}.desktop-brand__name,.desktop-brand__caption{display:block}.desktop-brand__name{font-size:15px;font-weight:700;color:#fff!important}.desktop-brand__caption{margin-top:2px;font-size:11px;color:#9ca3af!important}.desktop-nav .ant-menu{border:0;flex:1}.desktop-nav .ant-menu-item{min-height:44px;line-height:44px}.desktop-logout{justify-content:flex-start;min-height:44px;color:#d1d5db!important}.desktop-logout:hover{color:#fff!important;background:#1f2937!important}.app-content{min-height:100vh;padding:32px}.page-heading{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:22px;display:flex}.page-heading h1.ant-typography{margin:0 0 4px;font-size:26px}.page-heading p.ant-typography{color:#6b7280;margin:0}.placeholder-page{background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-height:calc(100vh - 64px);padding:28px}.placeholder-page .ant-empty{margin-top:18vh}.placeholder-icon{color:#c2185b;font-size:54px}.route-loading{place-items:center;min-height:100vh;display:grid}.mobile-header,.mobile-nav{display:none}.mobile-header__brand b{color:#fff;background:#c2185b;border-radius:5px;place-items:center;width:30px;height:30px;margin-right:6px;display:inline-grid}.section-kicker{letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px;font-size:12px;font-weight:800;display:block;color:#c2185b!important}.recording-heading{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.recording-heading h1.ant-typography{margin:0 0 4px;font-size:28px}.recording-heading p.ant-typography{color:#6b7280;margin:0}.upload-step,.review-page{background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-height:calc(100vh - 64px);padding:28px}.upload-step>.ant-alert,.review-error{margin-bottom:20px}.document-upload-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.document-upload-card{background:#fff;border:1px solid #d1d5db;border-radius:8px;min-width:0;padding:18px}.document-upload-card.is-selected,.document-upload-card.is-uploading{border-color:#c2185b;box-shadow:inset 0 0 0 1px #c2185b}.document-upload-card.is-complete{background:#f9fafb;border-color:#9ca3af}.document-upload-card__heading{grid-template-columns:32px minmax(0,1fr) auto;align-items:start;gap:10px;min-height:76px;display:grid}.document-upload-card__heading>.anticon:first-child{color:#c2185b;font-size:24px}.document-upload-card__heading p.ant-typography{color:#6b7280;margin:5px 0 0;font-size:12px;line-height:1.55}.status-complete{color:#15803d;font-size:18px}.file-picker{color:#374151;cursor:pointer;text-align:center;border:1px dashed #9ca3af;border-radius:6px;align-content:center;place-items:center;gap:8px;min-height:150px;padding:16px;display:grid}.file-picker:hover,.file-picker:focus-within{background:#fff7fb;border-color:#c2185b}.file-picker>.anticon{color:#c2185b;font-size:28px}.file-picker small{color:#6b7280}.file-picker input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.selected-file{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;min-height:80px;padding:12px;display:flex}.selected-file>div{min-width:0}.selected-file .ant-typography{display:block}.document-upload-card .ant-progress,.document-upload-card .ant-alert,.upload-ocr-status{margin-top:12px}.upload-step__footer{border-top:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:20px;margin-top:24px;padding-top:20px;display:flex}.review-page{padding-bottom:96px}.review-workspace{background:#e5e7eb;border:1px solid #e5e7eb;border-radius:8px;grid-template-columns:minmax(280px,38fr) minmax(420px,44fr) minmax(210px,18fr);gap:1px;min-height:680px;display:grid;overflow:hidden}.evidence-pane,.fields-pane,.review-checklist{background:#fff;min-width:0;max-height:calc(100vh - 238px);padding:20px;overflow-y:auto}.evidence-pane>h2.ant-typography,.review-checklist>h2.ant-typography{margin:0 0 16px;font-size:18px}.evidence-card{border:1px solid #e5e7eb;border-radius:6px;margin-bottom:16px;padding:12px}.evidence-card__heading,.evidence-meta{justify-content:space-between;align-items:center;gap:10px;display:flex}.evidence-image,.evidence-placeholder{object-fit:contain;background:#f3f4f6;border-radius:4px;width:100%;height:280px;margin:12px 0}.evidence-placeholder{color:#6b7280;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.evidence-placeholder .anticon{font-size:34px}.evidence-card .ant-alert{margin-top:12px}.review-form__heading{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.review-form__heading h2.ant-typography{margin:0;font-size:18px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;display:grid}.line-items-title.ant-typography{margin-top:4px;font-size:15px}.line-items{width:100%}.line-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:10px;padding:12px;display:grid}.line-item__actions{border-top:1px solid #e5e7eb;grid-column:1/-1;justify-content:flex-end;gap:4px;padding-top:2px;display:flex}.line-item .ant-form-item{margin-bottom:0}.review-checklist{overflow:visible}.checklist-items{width:100%}.checklist-item{color:#15803d;align-items:flex-start;gap:9px;display:flex}.checklist-item.has-warning{color:#b45309}.checklist-item span>.ant-typography{display:block}.checklist-item span>.ant-typography+.ant-typography{color:#6b7280;margin-top:2px;font-size:12px}.checklist-help{margin-top:10px;font-size:12px;line-height:1.6;display:block}.review-actions{z-index:18;background:#fffffff7;border:1px solid #e5e7eb;border-bottom:0;border-radius:8px 8px 0 0;justify-content:space-between;align-items:center;gap:20px;min-height:80px;padding:14px 20px;display:flex;position:fixed;bottom:0;left:240px;right:32px;box-shadow:0 -8px 24px #11182714}.review-actions .ant-typography{display:block}.bill-query-page{background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-height:calc(100vh - 64px);padding:28px}.bill-query-heading .ant-btn a,.bill-query-empty .ant-btn a{color:inherit;text-decoration:none}.bill-query-toolbar{grid-template-columns:minmax(260px,680px) auto;gap:12px;margin:24px 0 18px;display:grid}.bill-query-toolbar .ant-input-affix-wrapper{border-color:#d1d5db}.bill-results-heading{justify-content:space-between;align-items:center;min-height:32px;margin-bottom:8px;display:flex}.bill-table-view{border:1px solid #e5e7eb;border-radius:6px;overflow:hidden}.bill-table-view .ant-table-thead>tr>th{color:#4b5563;background:#fff5f8;font-size:13px}.table-secondary{color:#6b7280;margin-top:2px;font-size:12px;display:block}.money-value{font-variant-numeric:tabular-nums;white-space:nowrap}.bill-cards-view{display:none}.bill-pagination{justify-content:flex-end;margin-top:20px}.bill-query-empty{background:#f9fafb;border:1px dashed #d1d5db;border-radius:6px;padding:72px 20px}.filter-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px;display:grid}.filter-pair .ant-form-item{margin-bottom:4px}.filter-actions{background:#fff;justify-content:flex-end;margin-top:24px;padding:16px 0 4px;display:flex;position:sticky;bottom:0}.bill-detail-page{background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-height:calc(100vh - 64px);padding:28px}.bill-detail-heading,.detail-attachments>header,.current-attachment,.attachment-history__item,.attachment-viewer__header,.attachment-viewer__toolbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.bill-detail-heading{border-bottom:1px solid #e5e7eb;align-items:flex-start;padding-bottom:22px}.bill-detail-heading .ant-btn{margin:-8px 0 14px -12px}.bill-detail-heading h1.ant-typography{margin:0 0 4px;font-size:28px}.bill-detail-heading p.ant-typography{color:#6b7280;margin:0}.bill-detail-sections{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0;display:grid}.bill-detail-section{background:#fff;border:1px solid #e5e7eb;border-radius:7px;min-width:0;padding:20px}.bill-detail-section:last-child{grid-column:1/-1}.bill-detail-section>header{color:#c2185b;align-items:flex-start;gap:10px;margin-bottom:18px;display:flex}.bill-detail-section h2,.detail-attachments h2{color:#111827;margin:0;font-size:18px}.detail-line-items{border-top:1px solid #f0f0f0;margin-top:16px}.detail-line-items>div{border-bottom:1px solid #f3f4f6;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;padding:10px 0;display:grid}.detail-line-items>div>span{color:#9d174d;background:#fce7f3;border-radius:50%;place-items:center;width:22px;height:22px;font-size:12px;display:inline-grid}.detail-invoice-lines{border:1px solid #e5e7eb;border-radius:6px;margin-top:16px;overflow-x:auto}.detail-invoice-lines>div{grid-template-columns:minmax(180px,1.6fr) minmax(100px,.8fr) repeat(3,minmax(100px,.8fr));min-width:650px;display:grid}.detail-invoice-lines>div>*{border-bottom:1px solid #f0f0f0;padding:10px 12px}.detail-invoice-lines__header{color:#4b5563;background:#fff5f8;font-size:13px;font-weight:700}.detail-attachments{border-top:1px solid #e5e7eb;padding-top:22px}.detail-attachments>header{margin-bottom:10px}.attachment-tab-panel{padding-top:4px}.current-attachment{background:#f9fafb;border:1px solid #d1d5db;border-left:4px solid #c2185b;border-radius:6px;align-items:stretch;padding:16px}.current-attachment__preview{color:#6b7280;background:linear-gradient(135deg,#fce7f3,#f3f4f6);border-radius:5px;flex:0 0 118px;place-items:center;width:118px;font-size:12px;display:grid;overflow:hidden}.current-attachment__preview img{object-fit:cover;width:100%;height:100%}.current-attachment__meta{flex-direction:column;flex:1;justify-content:center;align-items:flex-start;gap:6px;min-width:0;display:flex}.current-attachment__meta>div{align-items:center;gap:8px;min-width:0;display:flex}.current-attachment__actions{align-items:center;gap:8px;display:flex}.attachment-history{margin-top:18px}.attachment-history>header{color:#6b7280;gap:8px;margin-bottom:8px;display:flex}.attachment-history__item{border-bottom:1px solid #f0f0f0;grid-template-columns:minmax(180px,.8fr) minmax(240px,1.5fr) auto;padding:12px 4px;display:grid}.attachment-history__item>div,.replacement-form label{flex-direction:column;gap:4px;display:flex}.attachment-history__item>div:first-child{flex-direction:row;align-items:center}.replacement-form{gap:16px;padding-top:8px;display:grid}.replacement-form input[type=file]{border:1px solid #d1d5db;border-radius:6px;padding:10px}.replacement-form p.ant-typography{margin:0}.attachment-viewer{z-index:1100;color:#fff;background:#111827;border:1px solid #374151;border-radius:8px;grid-template-rows:auto auto minmax(0,1fr);display:grid;position:fixed;inset:24px;overflow:hidden;box-shadow:0 24px 80px #00000080}.attachment-viewer:before{z-index:-1;content:"";background:#111827b8;position:fixed;inset:0}.attachment-viewer.is-fullscreen{border:0;border-radius:0;inset:0}.attachment-viewer__header,.attachment-viewer__toolbar{background:#111827;padding:12px 16px}.attachment-viewer__header{border-bottom:1px solid #374151}.attachment-viewer__header>div{flex-direction:column;gap:2px;display:flex}.attachment-viewer__header span,.attachment-viewer__scale{color:#9ca3af;font-size:12px}.attachment-viewer__header .ant-btn{color:#fff}.attachment-viewer__toolbar{border-bottom:1px solid #374151;justify-content:flex-start;overflow-x:auto}.attachment-viewer__scale{text-align:center;min-width:44px}.attachment-viewer__canvas{cursor:grab;touch-action:none;background:#030712;place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.attachment-viewer__canvas:active{cursor:grabbing}.attachment-viewer__canvas img{object-fit:contain;transform-origin:50%;-webkit-user-select:none;user-select:none;max-width:88%;max-height:88%;transition:transform .14s ease-out}.attachment-viewer__error{z-index:2;position:absolute;top:118px;left:16px;right:16px}.viewer-loading{z-index:1100;background:#111827b8;place-items:center;display:grid;position:fixed;inset:0}.bill-detail-heading__actions{align-items:center;gap:10px;display:flex}.trash-page{background:#fff;border-radius:8px;min-height:calc(100vh - 64px);padding:30px;box-shadow:0 10px 30px #4c05230f}.trash-heading{align-items:flex-end}.trash-heading .ant-select{min-width:150px}.trash-notice{margin-bottom:16px}.trash-table-view{margin-top:22px}.trash-cards-view{display:none}.trash-empty-icon{color:#f9a8c4;font-size:54px}.trash-card{background:#fff;border:1px solid #e5e7eb;border-left:4px solid #c2185b;border-radius:8px;margin-bottom:12px;padding:16px}.trash-card__topline{justify-content:space-between;align-items:center;display:flex}.trash-card__amount{color:#c2185b;margin:12px 0;font-size:26px;display:block}.trash-card__meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.trash-card__meta .ant-typography{display:block}.trash-card>.ant-tag,.trash-card>.ant-typography{margin-bottom:14px;display:inline-block}@media (width<=767px){.auth-page{background:#f9fafb;place-items:start center;padding:72px 16px 32px}.auth-panel{box-shadow:none;padding:28px 22px}.auth-panel h1.ant-typography{font-size:26px}.app-shell{padding:56px 0 calc(68px + env(safe-area-inset-bottom))}.desktop-nav{display:none}.mobile-header{z-index:30;background:#fffffff5;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;height:56px;padding:0 12px 0 16px;display:flex;position:fixed;inset:0 0 auto}.mobile-header__brand{color:#111827;font-weight:700}.mobile-header .ant-btn{width:44px;height:44px}.mobile-nav{z-index:30;min-height:calc(60px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:1px solid #e5e7eb;grid-template-columns:repeat(3,1fr);display:grid;position:fixed;inset:auto 0 0}.mobile-nav__item{color:#6b7280;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:60px;font-size:12px;text-decoration:none;display:flex}.mobile-nav__item .anticon{font-size:20px}.mobile-nav__item.is-active{color:#c2185b;font-weight:700}.app-content{min-height:calc(100vh - 116px);padding:12px}.placeholder-page{min-height:calc(100vh - 140px);padding:20px 16px}.page-heading{flex-direction:column;align-items:stretch;gap:16px}.page-heading h1.ant-typography{font-size:23px}.page-heading .ant-btn{width:100%}.upload-step,.review-page{min-height:calc(100vh - 140px);padding:20px 16px}.recording-heading,.upload-step__footer{flex-direction:column;align-items:stretch}.recording-heading h1.ant-typography{font-size:23px}.document-upload-grid,.review-workspace,.form-grid{grid-template-columns:1fr}.upload-step__footer .ant-btn{width:100%}.review-page{padding-bottom:92px}.review-workspace{background:0 0;border:0;display:block;overflow:visible}.evidence-pane,.fields-pane,.review-checklist{border:1px solid #e5e7eb;border-radius:6px;max-height:none;margin-bottom:12px;padding:16px;overflow:visible}.evidence-image,.evidence-placeholder{height:230px}.line-item{grid-template-columns:1fr}.review-actions{right:0;bottom:calc(60px + env(safe-area-inset-bottom));border-radius:0;min-height:76px;padding:10px 12px;left:0}.review-actions>div{display:none}.review-actions .ant-btn{width:100%}.bill-query-page{border:0;border-radius:0;min-height:calc(100vh - 140px);padding:18px 16px}.bill-query-toolbar{grid-template-columns:minmax(0,1fr) auto;margin-top:18px}.bill-query-toolbar .ant-badge .ant-btn{width:auto}.bill-table-view{display:none}.bill-cards-view{display:block}.bill-summary-card{content-visibility:auto;contain-intrinsic-size:220px;background:#fff;border-radius:8px;margin-bottom:12px;border:1px solid #e5e7eb!important;padding:0!important}.bill-summary-card>a{color:#111827;width:100%;padding:16px;text-decoration:none;display:block}.bill-summary-card__actions{justify-content:flex-end;padding:0 12px 12px;display:flex}.bill-summary-card__topline,.bill-summary-card footer{justify-content:space-between;align-items:center;display:flex}.bill-summary-card__amount{color:#c2185b;margin:12px 0 16px;font-size:26px;font-weight:750}.bill-summary-card__details{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;display:grid}.bill-summary-card__details span>.ant-typography{display:block}.bill-summary-card footer{color:#6b7280;border-top:1px solid #f0f0f0;margin-top:16px;padding-top:12px;font-size:13px}.bill-pagination{justify-content:center}.bill-pagination .ant-pagination-options{display:none}.bill-filter-drawer .ant-drawer-content-wrapper{max-width:100vw}.filter-pair{grid-template-columns:1fr;gap:0}.bill-detail-page{border:0;border-radius:0;min-height:calc(100vh - 140px);padding:18px 16px}.bill-detail-heading{flex-direction:column}.bill-detail-heading__actions{justify-content:space-between;width:100%}.bill-detail-heading h1.ant-typography{font-size:23px}.bill-detail-sections{grid-template-columns:1fr}.bill-detail-section:last-child{grid-column:auto}.detail-attachments>header,.current-attachment{flex-direction:column;align-items:stretch}.current-attachment__preview{flex-basis:auto;width:100%;min-height:132px}.current-attachment__actions .ant-btn{flex:1}.attachment-history__item{grid-template-columns:minmax(0,1fr) auto}.attachment-history__item>div:nth-child(2){grid-area:2/1/auto/-1}.attachment-viewer{border:0;border-radius:0;inset:0}.attachment-viewer__header,.attachment-viewer__toolbar{padding:10px 12px}.attachment-viewer__canvas img{max-width:96%;max-height:90%}.trash-page{border:0;border-radius:0;min-height:calc(100vh - 140px);padding:18px 16px}.trash-heading{flex-direction:column;align-items:stretch}.trash-table-view{display:none}.trash-cards-view{margin-top:18px;display:block}}@media (width>=768px) and (width<=1023px){.app-shell{padding-left:176px}.desktop-nav{width:176px}.desktop-brand__caption{display:none}.app-content{padding:24px}.document-upload-grid{grid-template-columns:1fr}.review-workspace{grid-template-columns:minmax(280px,42fr) minmax(420px,58fr)}.review-checklist{grid-column:1/-1;max-height:none}.review-actions{left:200px;right:24px}}@media (width>=1024px) and (width<=1199px){.review-workspace{grid-template-columns:minmax(300px,42fr) minmax(440px,58fr)}.review-checklist{grid-column:1/-1;max-height:none}}
