[hidden]{display:none!important}.auth-layout{min-height:100vh;display:grid;place-items:center;padding:25px;background:linear-gradient(130deg,#112b45,#244968)}.auth-card{background:#fff;border-radius:14px;width:480px;max-width:100%;padding:35px}.auth-card h1{font-size:24px}.auth-card .brandmark{margin-bottom:20px}.auth-card p{margin-bottom:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .full{grid-column:1/-1}.input-field label{display:block;font-size:13px;color:#607992;margin:0 0 6px}.input-field input,.input-field select,.input-field textarea,select.task-picker{width:100%;border:1px solid #ccdbe9;border-radius:6px;padding:10px 11px;background:white;color:var(--ink);font:14px/1.6 'Microsoft YaHei',sans-serif}.input-field textarea{min-height:85px;resize:vertical}.input-field input:focus,.input-field textarea:focus{outline:2px solid #dbeaff;border-color:#83ace4}.input-field input[readonly]{background:#f2f6fb}.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:22px;flex-wrap:wrap}.form-actions small{margin-right:auto;color:var(--muted)}button:disabled{opacity:.55;cursor:not-allowed}.error-box{padding:12px 15px;background:#fff0ef;border:1px solid #e9cbc8;color:#a24643;border-radius:6px;font-size:14px;margin:12px 0}.success-box{padding:12px 15px;background:#edf8f1;color:#247759;border-radius:6px;font-size:14px;margin:12px 0}.empty-state{padding:40px;text-align:center;color:#8398ad}.empty-state h3{color:#416280}.empty-state p{max-width:570px;margin:8px auto 20px}.row-actions{display:flex;gap:8px;flex-wrap:wrap}.row-actions .btn{font-size:12px;padding:5px 9px}.task-list{display:grid;gap:12px}.todo{display:flex;align-items:center;justify-content:space-between;padding:18px;border:1px solid #e1e8f0;border-radius:7px;gap:12px;background:#fff}.todo p{font-size:12px}.welcome{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:20px}.eyebrow{font-size:13px;color:#6384aa;margin-bottom:7px}.file-list{display:grid;gap:7px;margin:12px 0}.file-chip{display:flex;align-items:center;gap:8px;padding:7px;background:#f1f6fc;border-radius:5px;font-size:12px}.file-chip a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.file-chip button{border:0;background:none;font-size:12px;color:#a65f59}.capture-tile .upload-label{display:inline-flex;border:1px solid #d5e0ee;border-radius:6px;padding:7px 10px;font-size:13px;background:#fff;color:#4e657f;cursor:pointer;margin:3px}.capture-tile .upload-label input{display:none}.capture-tile{position:relative}.capture-tile p{min-height:0}.capture-primary{align-items:flex-start}.capture-progress button.done{border-color:#a2cbb5;color:#2d7e64}.select-bar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:0 0 18px}.select-bar select{max-width:580px}.select-bar label{font-size:13px;display:flex;gap:12px;align-items:center;flex:1}.doc-preview{max-width:100%;max-height:55vh;object-fit:contain;display:block;margin:15px auto}.source-note{font-size:13px;background:#f1f5fb;padding:14px;border-radius:6px;white-space:pre-wrap;overflow-wrap:anywhere}.issue-review p{white-space:pre-wrap}.recognized-field .field-source{line-height:1.5}.confirm-check{font-size:12px;display:flex;gap:7px;align-items:flex-start;margin-top:8px;color:#976f31}.confirm-check input{width:auto;margin-top:5px}.status-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.quality-box{border-left:3px solid #168b81}.mini{font-size:12px;color:var(--muted)}.search-line{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.search-line input{border:1px solid #d3deeb;padding:9px 12px;border-radius:6px;min-width:250px;background:#fff}.archive-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.archive-details{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.archive-details>div{padding:12px;background:#f8fafc;border-radius:5px;overflow-wrap:anywhere}.archive-details small{display:block;color:#7c90a5}.rule-content{white-space:pre-wrap;color:#45607b;font-size:14px}.audit-list{max-height:380px;overflow:auto}.audit-item{padding:10px 0;border-bottom:1px solid #e5ecf5;font-size:13px}.audit-item small{display:block;color:#8294a8}.nav-group{margin-top:13px}.nav-group summary{font-size:12px;color:#90aac5;padding:9px 13px;cursor:pointer}.nav-group button{padding-left:24px}.number{font-variant-numeric:tabular-nums}.unit-info{font-size:12px;color:#8aa0b6}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.info-grid>div{padding:16px;background:#f6f9fd;border-radius:6px}.info-grid small{display:block;color:#7f93a9}.pill-tabs{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:20px}.pill-tabs button{border:1px solid #d7e3f0;background:#fff;border-radius:20px;padding:7px 14px;font-size:13px;color:#6a829c}.pill-tabs button.active{color:#2469df;background:#edf4ff;border-color:#a9c7ee}#toast{position:fixed;right:25px;bottom:25px;padding:13px 22px;background:#193d5d;color:white;border-radius:9px;box-shadow:0 4px 25px #102c4640;z-index:1000;max-width:550px;font-size:14px}#toast.error{background:#a54845}#dialogBody{padding:23px 25px;max-height:76vh;overflow:auto}#dialogBody form{margin:0}dialog{width:800px}.spin{display:inline-block;width:14px;height:14px;border:2px solid #b8d2f1;border-top-color:#2469df;border-radius:50%;animation:spin 1s linear infinite;margin-right:7px}@keyframes spin{to{transform:rotate(360deg)}}.mobile-menu{display:none}.long-text{white-space:normal;min-width:150px;max-width:340px}.table-wrap td{font-size:13px}.model-banner{background:#eef7f2;border:1px solid #d0e7d7;padding:16px 20px;border-radius:7px;margin-bottom:20px}.model-banner p{font-size:13px}.file-card-report{margin-top:15px}.upload-busy{pointer-events:none;opacity:.6}.record-link{font-size:13px}.quality-form{margin-top:15px}.submission-info{font-size:14px;line-height:1.9;color:#58708a;white-space:pre-wrap}fieldset{border:0;padding:0;margin:0;min-width:0}select{max-width:100%}#serviceStatus{display:flex;justify-content:space-between;gap:10px}#identity{font-size:13px}.photo-actions{display:flex;gap:7px;flex-wrap:wrap}
@media(max-width:1150px){.capture-surface{grid-template-columns:1fr}.info-grid{grid-template-columns:1fr 1fr}.archive-details{grid-template-columns:1fr 1fr}.header-right{gap:8px}.breadcrumb{font-size:12px}}
@media(max-width:680px){.form-grid,.info-grid,.archive-details{grid-template-columns:1fr}.welcome,.select-bar{align-items:stretch;flex-direction:column}.select-bar label{flex-direction:column;align-items:flex-start}.header-right{flex-wrap:wrap;font-size:12px}header{align-items:flex-start}.header-right .btn{padding:5px 7px}.nav-group{display:flex;flex-shrink:0;margin:0}.nav-group summary{display:none}.nav-group button{display:inline-flex;width:auto;padding:9px}.nav-group:not([open])>button{display:inline-flex}#toast{left:15px;right:15px;bottom:15px}.auth-card{padding:25px}.capture-progress button{font-size:12px}.todo{align-items:flex-start;flex-direction:column}#content{padding:18px 13px}}
/* Independent receipt, document follow-up and quality work. */
.quick-actions{display:flex;gap:12px;flex-wrap:wrap;padding:20px;background:#eef7f8;border:1px solid #d2e6e7;border-radius:12px;margin:0 0 24px}.quick-actions .link{background:white;border:1px solid #d2e1e6;border-radius:8px;padding:12px 16px}.parallel-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}.parallel-status>div{border:1px solid #d8e5e8;background:#fff;border-radius:10px;padding:18px;display:flex;flex-direction:column;gap:8px;min-width:0}.parallel-status small{color:#567181}.parallel-status b{font-size:20px;color:#173c51}.parallel-status span{font-size:13px;color:#617783;overflow-wrap:anywhere}.record-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}.record-toolbar>span{color:#687d89;font-size:13px}.record-attachments{background:#fff;border:1px solid #d8e5e8;border-radius:12px;margin-bottom:24px;padding:0 20px}.record-attachments>summary{padding:20px 0;cursor:pointer;font-weight:650;color:#17445a}.record-attachments .capture-tiles{grid-template-columns:repeat(auto-fit,minmax(225px,1fr));padding-bottom:16px}.record-attachments .capture-tile{min-height:180px}.file-chip{flex-wrap:wrap}.file-chip small{display:block;font-size:11px;width:100%;color:#607b8d}.role-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px 0}.role-options label{border:1px solid #d5e2e9;padding:14px;border-radius:8px;display:flex;align-items:center;gap:10px}.role-options input{width:18px;height:18px}.recognition-grid input[readonly]{background:#f5f8fa;color:#536874}.record-toolbar .actions{margin:0}@media(max-width:760px){.parallel-status{grid-template-columns:1fr}.parallel-status>div{padding:13px}.parallel-status b{font-size:17px}.role-options{grid-template-columns:1fr}.quick-actions>*{flex:1 1 160px}}
/* Bulk plan imports: wide preview with fixed scroll bounds. */
dialog.plan-import-dialog{width:min(1180px,96vw);max-width:96vw}
.plan-import-upload{display:flex;flex-wrap:wrap;align-items:center;gap:18px;padding:20px;margin-top:18px;border:1px dashed #829cbb;background:#f5f9fe;border-radius:10px;font-weight:600}
.plan-import-upload input{max-width:100%}
.plan-import-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0}
.plan-import-fields select{width:100%;min-width:0}
#planImportMapping details{margin:15px 0}
#planImportMapping summary{cursor:pointer;color:#245887;padding:8px 0}
.plan-import-table{max-height:360px;overflow:auto;border:1px solid #e0e6ee;border-radius:8px;margin:12px 0}
.plan-import-table table{min-width:840px}
.plan-import-table th{position:sticky;top:0;background:#f3f6fa;z-index:1}
.plan-import-counts{display:flex;flex-wrap:wrap;gap:20px;padding:16px;background:#f0f6fd;border-radius:8px}
.import-state{display:inline-block;font-size:12px;padding:3px 8px;border-radius:5px;background:#edf1f5;color:#526170;white-space:nowrap}
.import-new{background:#e6f5ee;color:#186342}.import-error,.import-conflict{background:#fff0e2;color:#934500}
#planImportMessage{overflow-wrap:anywhere}#planImportPreview{scroll-margin-top:12px}
@media(max-width:760px){.plan-import-fields{grid-template-columns:1fr 1fr}.plan-import-counts{gap:10px}}
@media(max-width:480px){.plan-import-fields{grid-template-columns:1fr}}
/* Whole delivery capture with multiple material lines. */
.issue-basis{padding:12px;border:1px solid #ead6a5;border-radius:8px;background:#fffaf0}.issue-basis[hidden]{display:none}.issue-basis .note{margin:0 0 12px}.receipt-next{display:flex;align-items:center;gap:8px;color:#315773;font-size:14px}.receipt-next input{width:17px;height:17px;margin:0}
.arrival-upload-actions{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}.arrival-upload-actions .input-field{min-width:190px}.arrival-upload-label{position:relative;overflow:hidden;display:inline-flex;cursor:pointer}.arrival-upload-label input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.arrival-photo-list{display:flex;gap:12px;overflow-x:auto;padding:16px 0}.arrival-photo-item{flex:0 0 145px;min-width:0;display:flex;flex-direction:column;gap:6px}.arrival-photo-list>a,.arrival-photo-item>a{min-width:0;border:1px solid #d8e3ed;border-radius:8px;padding:8px;color:#315773;background:white}.arrival-photo-list img{width:128px;height:95px;object-fit:contain;background:#f4f7fa}.arrival-photo-list span,.arrival-photo-list small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.arrival-photo-list small{font-size:11px;color:#617989}.arrival-photo-item>.btn{align-self:stretch;padding:5px 8px;font-size:12px}
.arrival-material{border:1px solid #d5e2e9;border-radius:10px;background:#fff;margin:14px 0;padding:18px}.arrival-row-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.arrival-row-head>label{font-weight:600}.arrival-row-head input{margin-right:8px;width:17px;height:17px}.arrival-fields{display:grid;grid-template-columns:2fr 2fr 1fr 1fr 2fr 1.5fr;gap:12px}.arrival-fields label{display:flex;flex-direction:column;font-size:12px;color:#577183;gap:6px;min-width:0}.arrival-fields input{min-width:0;width:100%;border:1px solid #cbdbe6;padding:9px;border-radius:6px;color:#233f53;background:#fff;font:14px 'Microsoft YaHei',sans-serif}.arrival-fields input.arrival-uncertain{border-color:#d2a83e;background:#fffbed}.arrival-material details{margin-top:12px}.arrival-material summary{cursor:pointer;color:#456b86;font-size:13px}.arrival-material details .arrival-fields{grid-template-columns:repeat(4,1fr);margin-top:12px}.arrival-evidence{background:#f6f8fb;border-radius:6px;padding:12px;margin-top:12px;font-size:12px;max-height:200px;overflow:auto}.arrival-sources{font-size:12px;margin-top:12px;color:#728794;overflow-wrap:anywhere}.arrival-sources a{color:#246cbc;text-decoration:underline}.arrival-generated{background:#f7faf9}.arrival-fields input:disabled{background:#f0f4f5;color:#667d8b}.arrival-warning{margin-top:10px;color:#946325;font-size:13px}.arrival-bulk-pick{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:14px}.arrival-commit-bar{display:flex;justify-content:flex-end;gap:12px;align-items:center;flex-wrap:wrap;position:sticky;bottom:0;padding:16px 0;background:#fff;border-top:1px solid #dce7ee;z-index:2}
@media(max-width:1200px){.arrival-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:680px){.arrival-fields,.arrival-material details .arrival-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.arrival-material{padding:12px}.arrival-commit-bar{position:static}.arrival-row-head{flex-wrap:wrap}}
.arrival-review-layout{display:grid;grid-template-columns:minmax(260px,42%) minmax(0,1fr);gap:20px;align-items:start}.arrival-row-fields{min-width:0}.arrival-row-fields .arrival-fields,.arrival-row-fields details .arrival-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.arrival-source-pane{min-width:0;border:1px solid #d9e4ec;border-radius:8px;background:#f5f8fb;padding:12px;position:sticky;top:15px}.arrival-source-picker{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#526e83}.arrival-source-picker select{width:100%;min-width:0;font-size:12px;padding:8px;border:1px solid #cbdbe6;border-radius:5px;background:#fff}.arrival-source-image{display:block;margin-top:12px;background:#fff;overflow:auto;max-height:480px}.arrival-source-image img{display:block;width:100%;min-height:120px;object-fit:contain}.arrival-source-links{display:flex;gap:15px;flex-wrap:wrap;margin-top:10px;font-size:12px}.arrival-source-links a,.arrival-document-list a{color:#246cbc;text-decoration:underline}.arrival-review-confirm{margin-top:16px;padding:13px;border:1px solid #bed6ea;background:#f0f7fc;border-radius:7px}.arrival-review-confirm label{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.8;color:#244b6c}.arrival-review-confirm input{flex:none;margin-top:5px;width:17px;height:17px;accent-color:#2368bd}.arrival-review-confirm small{display:block;margin:7px 0 0 25px;font-size:12px;line-height:1.6;color:#5a7388}.arrival-basis{font-size:12px;color:#617b8f;line-height:1.8;margin-top:12px}.arrival-document-list{display:flex;flex-direction:column;gap:8px;margin-top:14px}.arrival-document-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:#f5f8fb;border-radius:6px;font-size:13px;overflow-wrap:anywhere}.arrival-document-list .btn{flex:none;padding:5px 8px;font-size:12px}.arrival-empty-tools{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.arrival-page-choice{display:flex;gap:6px;align-items:center;font-size:12px;color:#3c6180;padding:3px}.arrival-page-choice input{accent-color:#2368bd}.arrival-commit-bar .form-error{flex:1;min-width:180px}.arrival-evidence .link{font-size:12px}.arrival-source-pane .empty-state{padding:22px 10px}
@media(max-width:1000px){.arrival-review-layout{grid-template-columns:1fr}.arrival-source-pane{position:static}.arrival-source-image{max-height:360px}.arrival-source-image img{max-height:360px;width:100%;object-fit:contain}}@media(max-width:680px){.arrival-row-fields .arrival-fields,.arrival-row-fields details .arrival-fields{grid-template-columns:1fr}.arrival-document-list>div{align-items:flex-start;flex-direction:column}.arrival-review-confirm small{margin-left:0}.arrival-commit-bar .btn{width:100%}}
.select-bar.arrival-select-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 18px;align-items:center;min-width:0}.arrival-select-bar>label{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;min-width:0;width:100%;align-items:center}.arrival-select-bar>label>span{white-space:nowrap}.arrival-select-bar #arrivalPicker{width:100%;min-width:0;max-width:100%;padding:9px 10px;border:1px solid #cbdbe6;border-radius:6px;background:#fff;text-overflow:ellipsis}.arrival-group-summary{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;min-width:0;font-size:13px;color:#617b8f}.arrival-group-summary>span{white-space:nowrap}.arrival-source-picker{min-width:0;max-width:100%}.arrival-source-picker select{max-width:100%;text-overflow:ellipsis}.arrival-review-layout>*{min-width:0}
@media(max-width:1200px){.select-bar.arrival-select-bar{grid-template-columns:minmax(0,1fr)}.arrival-group-summary{width:100%}}@media(max-width:1000px){.arrival-review-layout{grid-template-columns:minmax(0,1fr)}}@media(max-width:480px){.arrival-select-bar>label{grid-template-columns:minmax(0,1fr)}.arrival-group-summary{gap:6px 10px}.arrival-source-pane{padding:9px}}
/* Inventory overview: quantities are separated by physical unit. */
.stock-filters{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;background:white;border:1px solid #dce6f0;padding:16px;border-radius:10px;margin-bottom:14px}.stock-filters .input-field{flex:1;min-width:160px}.stock-filters .input-field:first-child{flex:1.6}.stock-scope,.stock-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0;color:#658094;font-size:12px}.stock-section-head h2{font-size:18px;color:#253f56}.stock-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:18px 0 24px}.stock-card{background:#fff;border:1px solid #dce6ef;border-top:4px solid #438bd6;border-radius:10px;padding:20px;min-width:0}.stock-card-title{font-size:15px;font-weight:600;color:#47627a}.stock-values{max-height:185px;overflow:auto;margin:12px 0}.stock-value{display:flex;align-items:baseline;gap:8px;justify-content:space-between}.stock-value b{font:650 32px/1.5 'Segoe UI',sans-serif;letter-spacing:-.8px;color:#2463a7;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;min-width:0}.stock-value span{font-size:14px;color:#6d8294;flex-shrink:0}.stock-card p{font-size:12px;line-height:1.5}.stock-out{border-top-color:#c58844}.stock-out .stock-value b{color:#a8662c}.stock-balance{background:#133e5d;border-color:#133e5d;border-top-color:#299eab}.stock-balance .stock-card-title,.stock-balance .stock-value b{color:white}.stock-balance .stock-value span,.stock-balance p{color:#bcdbe5}.stock-available{border-top-color:#369a80}.stock-available .stock-value b{color:#207660}.stock-number{font:600 17px/1.4 'Segoe UI',sans-serif;font-variant-numeric:tabular-nums}.stock-text-in{color:#2463a7}.stock-text-out{color:#a8662c}.stock-text-balance{color:#166476}.stock-pagination{display:flex;justify-content:flex-end;gap:12px;align-items:center;padding:15px;flex-wrap:wrap;font-size:12px;color:#698294}.stock-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;color:#597384;margin-bottom:20px}.stock-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px}.stock-seg-available{background:#269881}.stock-seg-qualifiedReserved{background:#588dcb}.stock-seg-pending{background:#e7b653}.stock-seg-held{background:#ba7280}.stock-composition{margin:18px 0}.stock-composition>div:first-child{display:flex;justify-content:space-between;font-size:14px;margin-bottom:8px;gap:12px}.stock-composition small{font-size:12px;color:#718495;display:block;margin-top:8px}.stock-bar{height:16px;display:flex;border-radius:5px;overflow:hidden;background:#eef2f6}.stock-bar>span{height:100%}.stock-explanation{font-size:13px;color:#60788a;margin-bottom:20px;padding:15px;border:1px dashed #cedde8;border-radius:8px}.stock-explanation summary{cursor:pointer}.stock-equation{padding:16px;background:#eaf4f5;border-radius:8px;margin-bottom:18px;font-size:19px;color:#205773}.stock-detail-dialog{width:min(1120px,95vw)}
@media(max-width:1100px){.stock-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.stock-value b{font-size:29px}.stock-card{padding:16px}}@media(max-width:480px){.stock-filters .input-field{min-width:100%}.stock-cards{gap:10px}.stock-card{padding:12px}.stock-value{flex-wrap:wrap;gap:0 6px}.stock-value b{font-size:25px}.stock-value span{font-size:12px}.stock-equation{font-size:15px}}
.project-switcher{display:flex;align-items:center;gap:7px;font-size:12px;color:#718297;white-space:nowrap}.project-switcher select{border:1px solid #ccdbe9;border-radius:6px;padding:5px 8px;background:#fff;color:#24486e;max-width:220px;font-size:13px}.project-context{font-size:12px;color:#a36f2a;background:#fff6e7;border-radius:5px;padding:5px 8px}.integration-projects .table-wrap{margin-top:16px}

/* Delivery task correction actions are intentionally visible. */
.btn[data-action="delete-batch"], .record-toolbar .btn[data-action="delete-batch"] { background:#b94343; border-color:#b94343; color:#fff; font-weight:650; box-shadow:0 2px 5px #8d2f2f26; }
.btn[data-action="delete-batch"]:hover, .record-toolbar .btn[data-action="delete-batch"]:focus-visible { background:#963333; border-color:#963333; color:#fff; }
.record-toolbar .btn[data-action="reopen"] { border-color:#2d71b5; color:#1d5d9b; font-weight:600; }

/* Uploaded files can be removed independently of the receipt ledger. */
.file-chip .btn[data-action="remove-file"] { margin-left:auto; padding:3px 8px; border-color:#e0aaa5; background:#fff4f2; color:#b1433b; font-weight:600; }
.file-chip .btn[data-action="remove-file"]:hover, .file-chip .btn[data-action="remove-file"]:focus-visible { border-color:#b94343; background:#b94343; color:#fff; }
.btn.danger { border-color:#b94343; background:#b94343; color:#fff; font-weight:650; }
.btn.danger:hover, .btn.danger:focus-visible { border-color:#963333; background:#963333; color:#fff; }
.row-actions .btn[data-action="remove-lot"] { border-color:#b94343; background:#b94343; color:#fff; font-weight:650; }
.row-actions .btn[data-action="remove-lot"]:hover, .row-actions .btn[data-action="remove-lot"]:focus-visible { border-color:#963333; background:#963333; color:#fff; }
.select-bar .btn[data-action="delete-batch"] { border-color:#b94343; background:#b94343; color:#fff; font-weight:650; }
.select-bar .btn[data-action="delete-batch"]:hover, .select-bar .btn[data-action="delete-batch"]:focus-visible { border-color:#963333; background:#963333; color:#fff; }
.row-actions .btn[data-action="delete-plan"], .row-actions .btn[data-action="delete-batch"] { border-color:#b94343; background:#b94343; color:#fff; font-weight:650; }
.row-actions .btn[data-action="delete-plan"]:hover, .row-actions .btn[data-action="delete-plan"]:focus-visible, .row-actions .btn[data-action="delete-batch"]:hover, .row-actions .btn[data-action="delete-batch"]:focus-visible { border-color:#963333; background:#963333; color:#fff; }
.btn[data-action="delete-issue"]{background:#b94343;border-color:#b94343;color:#fff;font-weight:650;box-shadow:0 2px 5px #8d2f2f26}
.btn[data-action="delete-issue"]:hover,.btn[data-action="delete-issue"]:focus-visible{background:#963333;border-color:#963333;color:#fff}
.attachment-help{margin:10px 0 14px;padding:10px 12px;border:1px solid #e8d6be;border-radius:7px;background:#fffaf1;color:#765b34;font-size:13px}

.record-history-note{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border:1px solid #e8d6be;border-radius:6px;background:#fff8ed;color:#8a6333!important;font-weight:600}
[hidden]{display:none!important}.recovery-code{margin:18px 0;padding:18px;background:#f3f7fc;border:1px solid #cbdced;border-radius:8px;color:#1c5ca8;text-align:center;font:700 22px/1.5 'Consolas','Courier New',monospace;letter-spacing:2px;word-break:break-all}.recovery-link{display:block;margin:15px auto 0;font-size:13px}

/* Multi-material manual plans keep each material together on narrow screens. */
dialog.bulk-plan-dialog{width:min(1160px,96vw);max-width:96vw}
.bulk-plan-intro{margin:0 0 16px;font-size:14px;color:#527085;line-height:1.8}
.bulk-plan-defaults{border:1px solid #cfdfe8;border-radius:9px;background:#f5f9fc;padding:0 16px;margin:0 0 20px}
.bulk-plan-defaults>summary{padding:14px 0;cursor:pointer;font-size:14px;color:#254e6c;font-weight:650}
.bulk-plan-defaults>summary span{margin-left:12px;color:#708899;font-size:12px;font-weight:400}
.bulk-plan-defaults>.form-grid{padding:12px 0 16px}.bulk-plan-defaults>.mini{margin:0}
.bulk-plan-list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px}.bulk-plan-list-heading h3{margin:0;font-size:16px}
#bulkPlanRows{display:grid;gap:15px}.bulk-plan-row{border:1px solid #d6e3eb;border-radius:9px;padding:12px 16px;background:#fff;min-width:0}.bulk-plan-row legend{padding:0 8px;font-size:13px;font-weight:650;color:#2b5b7a}.bulk-plan-main{display:grid;grid-template-columns:1.35fr 1.35fr 1.2fr .85fr .85fr;gap:14px}.bulk-plan-main .input-field,.bulk-plan-row .form-grid>.input-field{min-width:0}.bulk-plan-row .input-field input,.bulk-plan-row .input-field select{min-width:0}.bulk-plan-row-tools{display:flex;align-items:flex-start;gap:15px;margin-top:9px}.bulk-plan-more{flex:1;min-width:0}.bulk-plan-more summary{padding:6px 0;cursor:pointer;font-size:12px;color:#376786}.bulk-plan-more .mini{margin:7px 0 12px}.bulk-plan-remove{font-size:12px;padding:5px 9px;color:#a84f49;flex:none}.bulk-plan-add-bar{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:17px 0}.bulk-plan-submit-bar{position:sticky;bottom:-23px;background:#fff;border-top:1px solid #dce6ed;margin:18px -25px -23px;padding:16px 25px;box-shadow:0 -5px 12px #1f436308;z-index:2}.bulk-plan-submit-bar .form-error:empty{display:none}.bulk-plan-submit-bar .form-error{flex-basis:100%;margin:0 0 5px}.bulk-plan-submit-bar #bulkPlanCount{margin-right:auto;font-size:13px;font-weight:650;color:#476b84}#bulkPlanCreateForm [aria-invalid="true"]{border-color:#ba5148;outline:2px solid #f7ddd9}
@media(max-width:760px){.bulk-plan-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.bulk-plan-list-heading{align-items:flex-start;flex-direction:column}.bulk-plan-defaults>summary span{display:block;margin:5px 0 0 16px}.bulk-plan-row{padding:10px 12px}.bulk-plan-row-tools{gap:8px}.bulk-plan-submit-bar{bottom:-23px}.bulk-plan-submit-bar .btn.primary{flex:1}.bulk-plan-add-bar{align-items:flex-start;flex-direction:column}}

/* Batch selection stays within the current project and filtered plan list. */
.plan-bulk-toolbar{padding:18px 22px;background:#f7fafc;border-bottom:1px solid #dde7ee;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px}.plan-filter-form{display:flex;gap:8px;align-items:end;flex:1 1 380px;max-width:690px}.plan-filter-form label{flex:1;min-width:170px}.plan-filter-label{display:block;font-size:12px;color:#56768c;margin-bottom:5px}.plan-filter-form input{width:100%;font-size:13px}.plan-filter-form .btn{white-space:nowrap}.plan-bulk-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:13px}.plan-select-all-label{display:flex;align-items:center;gap:7px;white-space:nowrap;cursor:pointer}.plan-select-all-label input,.plan-row-selection input{width:17px;height:17px;accent-color:#2169a0;cursor:pointer}.plan-row-selection{display:flex;align-items:center;justify-content:center;min-width:22px;padding:5px}.plan-row-selected td{background:#eef6ff}.plan-filter-result{flex-basis:100%;margin:0;font-size:12px;color:#6d8195}.plan-delete-summary{display:grid;gap:8px;margin:16px 0;padding:15px;background:#fff4ec;border:1px solid #f0d3bf;border-radius:8px;color:#805436;font-size:13px}.plan-delete-summary strong{font-size:19px;margin-right:6px}.plan-delete-preview{max-height:320px;overflow:auto;border:1px solid #dde7ee;border-radius:7px}.plan-delete-preview .table-wrap{overflow:visible}.plan-delete-preview th{position:sticky;top:0;background:#f5f8fc}.plan-delete-note{display:block;margin-top:16px;font-size:13px;color:#52738a}.plan-delete-note textarea{display:block;box-sizing:border-box;width:100%;margin-top:7px;min-height:68px}#planBulkDeleteForm .form-error:empty{display:none}#planBulkSelectedCount{white-space:nowrap;color:#365e79}.plan-bulk-actions .btn.danger{box-shadow:0 2px 4px #983d3d21}.plan-bulk-actions .btn.danger:disabled{opacity:.45;box-shadow:none}
@media(max-width:700px){.plan-bulk-toolbar{padding:16px}.plan-filter-form{flex-basis:100%;flex-wrap:wrap}.plan-bulk-actions{gap:10px}.plan-bulk-actions .btn{font-size:12px}.plan-delete-preview{max-height:280px}}

/* Registered plans are grouped by local registration date, outside pending work. */
.plan-view-tabs{margin-bottom:18px}.plan-date-filter{flex:0 0 155px!important;min-width:145px!important}.plan-history-note{padding:14px 22px;margin:0;color:#6d8195;font-size:12px;line-height:1.7}.plan-date-group{margin:0 18px 14px;border:1px solid #dce6ee;border-radius:9px;overflow:hidden;background:#fff}.plan-date-group>summary{display:flex;align-items:center;gap:18px;cursor:pointer;list-style:none;padding:17px 18px;background:#f5f9fc;color:#355970;font-size:13px}.plan-date-group>summary::-webkit-details-marker{display:none}.plan-date-group>summary::before{content:'›';font-size:22px;line-height:1;transition:transform .15s}.plan-date-group[open]>summary::before{transform:rotate(90deg)}.plan-date-group>summary strong{font-size:15px;color:#173e58}.plan-date-expand{margin-left:auto;font-size:12px;color:#66849b}.plan-date-group[open] .plan-date-expand{font-size:0}.plan-date-group[open] .plan-date-expand::after{content:'收起明细';font-size:12px}.plan-date-group .table-wrap{border-top:1px solid #dce6ee}.plan-arrival-link+.plan-arrival-link{margin-top:9px}.plan-arrival-link small{display:block;white-space:nowrap}.plan-bulk-toolbar .plan-filter-form{flex-basis:460px}.plan-view-tabs button:focus-visible,.plan-date-group>summary:focus-visible{outline:2px solid #276ba1;outline-offset:-3px}
@media(max-width:700px){.plan-date-group{margin:0 10px 12px}.plan-date-group>summary{gap:9px;flex-wrap:wrap;padding:14px}.plan-date-group>summary strong{font-size:14px}.plan-date-expand{margin-left:auto}.plan-history-note{padding:12px 16px}}
.project-delete-button{margin-left:10px;font-weight:600}.project-delete-target{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border:1px solid #f0d0cd;background:#fff4f2;padding:16px;border-radius:8px;margin:6px 0 18px}.project-delete-target strong{font-size:18px;color:#873d35}.project-delete-target>span{font-size:12px;color:#8b6a63}.project-delete-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:14px 0}.project-delete-counts>div{border:1px solid #e1e9f0;border-radius:7px;padding:11px;background:#f8fafc}.project-delete-counts strong,.project-delete-counts span{display:block}.project-delete-counts strong{font-size:22px;color:#214861}.project-delete-counts span{font-size:12px;color:#71869b}.project-delete-impact{border-left:3px solid #c87958;padding:1px 12px;margin:18px 0}.project-delete-impact p{font-size:13px;line-height:1.8}.project-delete-password{display:block;margin:16px 0;color:#3d5870;font-size:13px}.project-delete-password input{display:block;width:100%;margin-top:7px;padding:10px 12px;border:1px solid #cddceb;border-radius:6px}.project-delete-password input:focus{outline:2px solid #9abbd9;outline-offset:1px}#projectDeleteForm .form-actions{align-items:end}#projectDeleteForm .form-error:empty{display:none}#projectDeleteForm .btn.danger:disabled{opacity:.45;cursor:not-allowed}@media(max-width:520px){.project-delete-counts{grid-template-columns:repeat(3,minmax(0,1fr))}#projectDeleteForm .form-actions{display:block}#projectDeleteForm .actions{margin-top:12px}}
