:root{--ink:#172f2f;--muted:#72827d;--bg:#f4f5f1;--green:#197a63;--line:#e2e7df;--navy:#152f2b;--warm:#dfb46d;--red:#b54c42}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Tahoma,sans-serif;font-size:14px;line-height:1.6}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:8px;padding:10px 15px;font-weight:600;cursor:pointer}button:hover{background:#f0f5ed}button:disabled{opacity:.5;cursor:wait}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}.primary{background:var(--green);color:#fff;border-color:var(--green)}.primary:hover{background:#12664f}.secondary{display:inline-block;padding:10px 15px;background:#fff;border:1px solid var(--line);border-radius:8px}.text-button{background:none;border:0;color:var(--green);padding:5px;font-size:12px}.danger{color:var(--red);background:#fff3ef;border-color:#eccdc7}.muted{font-size:12px;color:var(--muted)}.negative{color:var(--red)}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted)}[hidden]{display:none!important}.brand{font-weight:800;font-size:38px;line-height:1;letter-spacing:-2px;color:#fff;display:inline-flex;flex-direction:column}.brand span{font-size:9px;letter-spacing:5px;font-weight:500;margin:10px 0 0 3px;color:#acc3b7}.brand:hover{text-decoration:none}aside{position:fixed;inset-block:0;inset-inline-start:0;width:235px;background:var(--navy);padding:37px 24px;color:#baccc3;display:flex;flex-direction:column;overflow-y:auto}aside .brand{margin:0 12px 48px}nav{display:flex;flex-direction:column;gap:7px}nav button{display:flex;gap:12px;align-items:center;text-align:start;border:0;background:transparent;color:#afc3b8;padding:13px 12px;font-weight:500;font-size:13px}nav button span{font-size:19px;min-width:20px}nav button.active{background:#ffffff10;color:#fff;box-shadow:inset 3px 0 var(--warm)}nav button:hover{background:#ffffff08}.side-bottom{margin-block-start:auto;border-top:1px solid #ffffff20;padding:20px 8px 0;font-size:12px}.side-bottom button{background:transparent;color:#b4c7bd;border:0;padding:0;font-size:12px}.connection{font-size:10px;color:#8fc7aa}.connection:before{content:'●';font-size:8px;margin-inline-end:6px}main{margin-inline-start:235px;padding:32px 38px;max-width:1800px}header{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:24px}header h1{font-size:28px;margin:7px 0 0;font-weight:650;letter-spacing:-.7px}.header-actions{display:flex;gap:8px;align-items:center}.header-actions select{width:135px;font-size:12px}.filters{display:flex;align-items:center;gap:14px;margin-bottom:25px}.filters label{min-width:180px}.filters>span{margin-inline-start:auto;font-size:10px}.filters select{font-size:12px}label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:550;color:#50675d}input,select,textarea{width:100%;border:1px solid #d8e0d6;background:#fff;border-radius:7px;color:var(--ink);padding:10px 12px;min-height:42px}input:focus,select:focus,textarea:focus{outline:2px solid #197a6330;border-color:var(--green)}textarea{min-height:80px;resize:vertical}input[type=date],input[type=month],input[type=number]{direction:ltr;text-align:start}.hero{border-radius:14px;background:#224d40;color:#fff;padding:30px 35px;display:flex;gap:25px;justify-content:space-between;align-items:center;margin-bottom:20px;position:relative;overflow:hidden}.hero .eyebrow{color:#b7d6bf}.hero h2{font-size:20px;font-weight:500;margin:12px 0 5px}.hero p{font-size:12px;color:#bed4c5;max-width:430px}.hero-value{font-size:32px;font-weight:650;line-height:1.7;font-variant-numeric:tabular-nums;text-align:end;flex-shrink:0}.hero .negative{color:#ffbba2}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px}.metric{background:white;border:1px solid var(--line);border-radius:11px;padding:23px}.metric>span{font-size:12px;color:var(--muted)}.metric strong{display:block;font-size:25px;margin-top:12px;line-height:1.7;font-variant-numeric:tabular-nums;letter-spacing:-.4px}.metric small{font-size:10px;color:var(--muted)}.quick-actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0 25px}.quick-actions button{font-size:12px;padding:13px 17px;background:#fff}.quick-actions button span{color:var(--green);margin-inline-end:5px}.panel{background:white;border:1px solid var(--line);border-radius:11px;margin-bottom:22px;overflow:hidden}.panel-title{display:flex;justify-content:space-between;align-items:center;padding:19px 22px;border-bottom:1px solid #edf0e9}.panel-title h2{font-size:15px;font-weight:650;margin:0}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:start;font-size:10px;font-weight:600;color:var(--muted);background:#fafbf8;white-space:nowrap}th,td{padding:14px 19px;border-bottom:1px solid #edf0e9;vertical-align:top}td small{display:block;margin-top:3px;color:var(--muted);font-size:10px;line-height:1.7}tr:last-child td{border-bottom:0}.number{text-align:end;white-space:nowrap;font-variant-numeric:tabular-nums}.empty{padding:25px 30px;text-align:center;font-size:13px;color:var(--muted)}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.notice{font-size:12px;color:#536c5b;padding:14px 18px;background:#eaf0e5;border:1px solid #dde6d6;border-radius:8px;margin-bottom:22px}.search-filters{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:20px}.search-filters label{min-width:180px}.search-filters>input{max-width:350px}.search-filters button{min-height:42px}.agent-selector{display:flex;gap:12px;align-items:flex-end;margin-bottom:20px}.agent-selector label{width:310px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:22px}.project-grid.inside{padding:20px;margin:0}.project-card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:22px}.project-top{display:flex;justify-content:space-between;align-items:center}.project-symbol{color:var(--green);font-size:24px}.tag{font-size:9px;display:inline-block;padding:4px 7px;border-radius:4px;background:#eef1e8;color:#7b826d}.tag.green{color:var(--green);background:#e7f3e7}.project-card h3{font-size:19px;margin:14px 0 20px;font-weight:600;letter-spacing:-.3px}dl{margin:0}dl>div{display:flex;justify-content:space-between;gap:10px;font-size:11px;border-top:1px solid #edf0e9;padding:9px 0}dd{margin:0;text-align:end;font-weight:600;overflow-wrap:anywhere}dt{color:var(--muted)}.project-card>button{margin-top:14px}.pad{padding:0 20px}.mini-bar{width:90px;height:4px;display:block;accent-color:var(--green);margin-top:6px;max-width:100%;border:0;background:#eaf0e5}.void{opacity:.5}dialog{padding:0;width:min(780px,95vw);max-height:93vh;border:0;border-radius:13px;color:var(--ink);box-shadow:0 30px 100px #122a252e}dialog::backdrop{background:#102a2780;backdrop-filter:blur(3px)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:20px 25px;border-bottom:1px solid var(--line)}.modal-head h2{font-size:19px;margin:0}.modal-head button{background:none;border:0;color:var(--muted);font-size:26px;padding:0 5px}#modal-body{padding:25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.wide{grid-column:1/-1}.form-footer{display:flex;justify-content:flex-end;gap:10px;padding-top:18px;border-top:1px solid var(--line);margin-top:22px}#form-error,#login-error{color:var(--red);font-size:12px}details{margin:10px 0}summary{color:var(--green);cursor:pointer;font-size:12px}.detail>div{font-size:13px;padding:13px 0}#toast{position:fixed;z-index:30;bottom:25px;inset-inline-start:50%;transform:translateX(-50%);max-width:85vw;padding:13px 25px;border-radius:8px;background:var(--navy);color:#fff;font-size:13px;box-shadow:0 8px 40px #0002}#toast.error{background:#a8473c}footer{display:flex;justify-content:space-between;gap:15px;font-size:10px;color:var(--muted);margin-top:30px}#login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.login-brand{background:var(--navy);padding:10vw;color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.login-brand h1{font-size:32px;line-height:1.6;font-weight:500;letter-spacing:-.7px;max-width:460px;margin-top:45px}.login-brand p{font-size:9px;letter-spacing:1.5px;color:#afc5b8}.rule{width:50px;height:3px;background:var(--warm);margin-top:35px}#login-form{width:370px;max-width:85%;margin:auto}#login-form h2{font-size:25px;margin-bottom:30px}#login-form label{margin-bottom:18px}#login-form>button{width:100%;margin-top:6px}.lang{display:flex;justify-content:flex-end;margin-bottom:40px}.lang select{max-width:150px}[dir=rtl] nav button.active{box-shadow:inset -3px 0 var(--warm)}[dir=rtl] .eyebrow{letter-spacing:0}[dir=rtl] .brand{direction:ltr}[dir=rtl] .hero-value{font-family:Tahoma,sans-serif}bdi{unicode-bidi:isolate;white-space:nowrap}a:focus-visible,button:focus-visible{outline:2px solid var(--warm);outline-offset:3px}@media(min-width:1600px){main{padding:40px 60px}}@media(max-width:1150px){aside{width:205px;padding:28px 15px}main{margin-inline-start:205px;padding:25px}.header-actions{flex-wrap:wrap;justify-content:flex-end}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-value{font-size:25px}.metric strong{font-size:21px}}@media(max-width:760px){aside{position:relative;width:auto;padding:18px}.brand{font-size:29px}aside .brand{margin:0 0 20px}.brand span{font-size:7px}nav{flex-direction:row;overflow-x:auto;gap:5px}nav button{white-space:nowrap;padding:9px;font-size:11px}nav button span{display:none}.side-bottom{display:none}main{margin:0;padding:20px 15px}header{align-items:flex-start}header h1{font-size:23px}.header-actions{gap:5px}.header-actions button{font-size:11px;padding:8px}.header-actions select{width:115px;min-height:36px;padding:6px}.eyebrow{font-size:8px}.filters{gap:10px;flex-wrap:wrap}.filters label{flex:1;min-width:130px}.filters>span{width:100%}.hero{padding:24px;display:block}.hero-value{text-align:start;margin-top:16px}.metrics{grid-template-columns:1fr;gap:10px}.metric{padding:17px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px}.metric strong{margin:0;font-size:21px}.metric small{width:100%}.project-grid{grid-template-columns:1fr}.quick-actions{gap:8px}.quick-actions button{padding:10px;font-size:11px}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.search-filters label{min-width:130px;flex:1}.search-filters>input{max-width:none}footer{display:block}footer>span:last-child{display:none}#login{display:block}.login-brand{padding:30px}.login-brand h1{font-size:23px;margin:22px 0 0}.login-brand .rule,.login-brand>p{display:none}#login-form{padding:25px 0}.lang{margin-bottom:20px}.agent-selector label{width:auto;flex:1}th,td{padding:12px}dialog{width:97vw}#modal-body{padding:20px}}@media print{aside,header,.filters,.actions,.search-filters,footer,.header-actions,button,#toast{display:none!important}main{margin:0;padding:0}.panel{border:0}.table-scroll{overflow:visible}a{color:#000}.notice{background:#fff;border:0}body{background:#fff;color:#000}table{font-size:10px}.project-grid{display:block}tr{break-inside:avoid}}

.warning{color:#a16c25}.demo{background:#fff4d6;border-color:#e8d6a2}.source-section{border-bottom:1px solid var(--line);padding:10px 0 25px;margin-bottom:20px}.source-path{overflow-wrap:anywhere;font-size:11px;direction:ltr;text-align:start;max-height:450px;overflow:auto}

.brand-logo{width:72px;height:72px;object-fit:contain;background:white;border-radius:9px}.readonly [data-write]{display:none!important}
.payment-search input[type=search]{font-size:17px;padding:14px 16px;border-color:#a8bead;margin-bottom:14px}.payment-search .metrics{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.payment-search .metric strong{font-size:19px}.source-link{display:block;font-size:10px;max-width:220px;overflow-wrap:anywhere;white-space:normal;margin:6px 0}

.payment-suggestions{border:1px solid var(--line);border-radius:8px;background:white;max-height:280px;overflow:auto;margin:4px 0 12px}.payment-suggestions button{display:block;text-align:start;width:100%;border:0;border-radius:0;padding:12px 14px;min-height:48px}.payment-suggestions button[aria-selected="true"],.payment-suggestions button:hover{background:#e2efe9}.payment-suggestions small{display:block;color:var(--muted)}

@media(max-width:760px){.side-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:10px}.side-bottom .connection{display:none}.side-bottom p{margin:0}.side-bottom button{min-height:44px}}
/* Source-history descriptions remain verbatim; only their closed preview is clipped. */
.history-hint{margin:0;padding:10px 18px;color:var(--muted);font-size:12px;border-bottom:1px solid var(--line)}
.history-scroll{max-block-size:70vh;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.history-scroll:focus-visible{outline:2px solid var(--green);outline-offset:-2px}
.history-table{table-layout:auto;min-inline-size:840px}
.history-table.freight-history{min-inline-size:1264px}
.history-table .history-date-col{width:112px}.history-table .history-description-col{width:360px}.history-table .history-number-col{width:112px}.history-table .history-source-col{width:120px}
.history-table th{white-space:normal;line-height:1.45;position:sticky;inset-block-start:0;z-index:1;background:#fafbf8;vertical-align:bottom}
.history-table th,.history-table td{padding:10px 12px}
.history-table .history-amount-header{text-align:end;min-inline-size:100px}
.history-date{white-space:nowrap}.history-description-cell{min-inline-size:300px}
.history-description{inline-size:340px;max-inline-size:100%;line-height:1.45}
.history-description summary{cursor:pointer;list-style:none;border-radius:4px}
.history-description summary::-webkit-details-marker{display:none}.history-description summary::marker{content:''}
.history-description summary:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.history-description-preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;word-break:normal;line-height:1.45;max-block-size:2.9em}
.history-description-toggle{display:inline-block;color:var(--green);font-size:11px;font-weight:600;margin-block-start:5px}
.history-description-toggle::after{content:' ▾'}.history-description[open] .history-description-toggle::after{content:' ▴'}
.history-description[open] .history-description-preview{display:none}
.history-description-full{margin:8px 0 0;padding:12px;border:1px solid var(--line);border-radius:6px;background:#f7f9f5;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;font:inherit;max-block-size:260px;overflow:auto;unicode-bidi:plaintext}
.history-source-label{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.history-source small{white-space:normal}
@media(max-width:650px){.history-scroll{max-block-size:65vh}.history-description{inline-size:300px}.history-table th,.history-table td{padding:9px 10px}}
@media print{.history-scroll{max-block-size:none;overflow:visible}.history-table{min-inline-size:0!important}.history-description{inline-size:auto}.history-description-preview{display:block;max-block-size:none;-webkit-line-clamp:unset}.history-description-toggle{display:none}}
.history-description{margin:0}.history-description-preview{color:var(--ink);font-weight:400}

.warning-copy{white-space:pre-wrap;overflow-wrap:anywhere}#confirm-modal{max-width:560px}#confirm-modal form{padding:20px}

.record-pagination{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:16px}.record-pagination>span{margin-inline-end:auto;font-variant-numeric:tabular-nums}

#content p>a,#modal-body p>a,.project-card h3,.panel h3{overflow-wrap:anywhere}#content .form-grid>label{min-width:0}

/* Pending approvals stay visible and readable in both directions and on mobile. */
.review-count{display:inline-block!important;min-width:1.6em;padding:.1em .4em;margin-inline-start:auto;border-radius:1em;background:#b73a28;color:white;font-size:11px;text-align:center}
.review-alert{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fff2d8;border:1px solid #c88928;border-inline-start:5px solid #a76c16;border-radius:8px;padding:14px 18px;margin-block-end:20px}
.review-alert span{flex:1;min-width:180px;font-size:12px}.review-alert button{white-space:normal}

#file-preview{inline-size:min(1100px,96vw);max-inline-size:96vw;max-block-size:94dvh;padding:18px}#file-preview .modal-head h2{overflow-wrap:anywhere;font-size:1.05rem}#file-preview .file-preview-media{display:block;inline-size:100%;block-size:65dvh;object-fit:contain;border:1px solid var(--line,#ddd);background:#f5f5f5}#file-preview .form-footer{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}#file-preview::backdrop{background:#0009}@media(max-width:600px){#file-preview{padding:10px}#file-preview .file-preview-media{block-size:60dvh}}
