/* Flow's Material 3 theme. Local components; see DESIGN.md for sources and tokens. */
:root{--md-sys-color-primary:#0b57d0;--md-sys-color-on-primary:#fff;--md-sys-color-primary-container:#d3e3fd;--md-sys-color-on-primary-container:#041e49;--md-sys-color-surface:#f8fafd;--md-sys-color-surface-container:#edf2fa;--md-sys-color-surface-container-low:#f0f4f9;--md-sys-color-surface-container-high:#e7edf5;--md-sys-color-on-surface:#1f1f1f;--md-sys-color-on-surface-variant:#444746;--md-sys-color-outline:#747775;--md-sys-color-outline-variant:#c4c7c5;--md-sys-color-error:#b3261e;--bg:var(--md-sys-color-surface);--paper:#fff;--ink:var(--md-sys-color-on-surface);--muted:var(--md-sys-color-on-surface-variant);--line:#dfe3e7;--teal:var(--md-sys-color-primary);--teal-soft:#e8f0fe;--blue:#0b57d0;--amber:#805500;--amber-soft:#fff3cf;--radius:12px;font-size:16px;font-weight:400;line-height:1.75;color:var(--ink);background:var(--bg)}

body{background:var(--bg);color:var(--ink)}

h1{font-size:1.875rem;font-weight:500;letter-spacing:0;line-height:1.6}
h2{font-size:1.25rem;font-weight:500}
h3{font-size:1.0625rem;font-weight:500}
strong,b{font-weight:500}

a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--teal);outline-offset:3px}

.sidebar{width:104px;inset:0 0 0 auto;padding:24px 8px 16px;border:0;background:var(--md-sys-color-surface-container-low);align-items:center}
.sidebar .brand{font-size:0}
.sidebar .brand>span:last-child{display:none}
.brand-mark{background:var(--teal);border-radius:16px;width:48px;height:48px}
.sidebar nav{display:flex;flex-direction:column;gap:12px;width:100%;margin-top:38px}
.nav-item{display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;padding:4px;min-height:76px;margin:0;border-radius:0;font-size:.875rem;color:var(--muted);background:none!important}
.nav-item .icon{width:56px;height:32px;padding:5px 17px;border-radius:24px;box-sizing:content-box;max-width:56px}
.nav-item.active{color:var(--md-sys-color-on-primary-container);font-weight:500}
.nav-item.active .icon{background:var(--md-sys-color-primary-container)}
.nav-item:hover .icon{background:#dfe6f0}
.nav-version{margin-top:auto;font-size:.75rem;direction:ltr;color:var(--muted)}
.workspace{width:calc(100% - 104px);margin-right:104px;min-width:0}
.topbar{height:72px;min-height:72px;padding:0 32px;border:0;background:var(--bg)}
.breadcrumb{color:var(--muted);font-size:.9375rem}
.breadcrumb strong{color:var(--ink)}
.top-actions{gap:8px}
.icon-button{width:48px;height:48px;min-width:48px;min-height:48px;border-radius:50%;color:var(--muted)}
.icon-button:hover{background:var(--md-sys-color-surface-container-high);color:var(--ink)}
.avatar{border-radius:50%;background:#d3e3fd;color:#041e49;width:40px;height:40px}
.profile{margin-inline:8px}
.profile strong{font-size:.9375rem}
.profile span:not(.avatar){color:var(--muted);font-size:.8125rem}
.main-content{max-width:1600px;padding:24px 32px 48px}
.page-heading{margin-bottom:24px;gap:24px}
.page-heading p{font-size:1rem;color:var(--muted);margin-top:4px;max-width:700px}
.eyebrow{font-size:.875rem;font-weight:500;color:var(--teal);margin-bottom:4px;letter-spacing:0}
.heading-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.page-footer{border:0;color:var(--muted);padding:20px 32px;font-size:.8125rem}
.environment-banner{background:#fff0c1;color:#614700;border:0;border-radius:8px;margin-bottom:20px;padding:10px 16px}

.btn,.btn.small{border:1px solid var(--md-sys-color-outline);border-radius:24px;background:transparent;color:var(--teal);min-height:48px;padding:10px 20px;font-size:.9375rem;font-weight:500;line-height:1.5;transition:background .12s,box-shadow .12s}
.btn.primary{border-color:transparent;color:white;background:var(--teal);box-shadow:none}
.btn:hover{background:#0b57d00d}
.btn.primary:hover{background:#0848ae;box-shadow:0 1px 3px #0003}
.btn.small{min-height:40px;padding:8px 16px}
.btn .icon{width:20px;height:20px}
.text-button,.text-link{color:var(--teal);font-size:.9375rem;font-weight:500}
.text-button{min-height:48px;padding:10px 8px}
.panel{border:1px solid var(--line);box-shadow:none;border-radius:12px;background:white;margin-bottom:24px}
.panel-heading{padding:24px;gap:16px}
.panel-heading p{font-size:.9375rem;color:var(--muted);margin-top:4px}
.panel-heading>.icon{color:var(--muted)}
.badge{border-radius:6px;padding:3px 8px;font-size:.8125rem;line-height:1.65;color:#444746;background:#eef0f2}
.badge.blue{background:#e8f0fe;color:#0842a0}
.badge.green{background:#dcf4e4;color:#146c2e}
.badge.amber{background:#fff3cf;color:#735000}
.empty{padding:64px 24px;color:var(--muted)}
.empty strong{color:var(--ink);font-size:1.125rem}
.empty .icon{color:var(--teal);background:var(--teal-soft);width:56px;height:56px;padding:16px;border-radius:50%}
.cell-sub{font-size:.9375rem;color:var(--muted);line-height:1.8;margin-top:4px}
.case-reference{color:var(--teal);font-size:1rem;font-weight:500}

label{font-size:.9375rem;font-weight:500;color:var(--muted);margin-bottom:20px}
input,select,textarea,.accounting-upload input,.accounting-upload select,.setup-panel input{background:transparent;color:var(--ink);border:1px solid var(--md-sys-color-outline);border-radius:4px;min-height:56px;font-size:1rem;padding:14px 16px;margin-top:8px}
input::placeholder,textarea::placeholder{color:#6f7377;font-size:.9375rem;font-weight:400}
input:focus,textarea:focus,select:focus{border-color:var(--teal);outline:2px solid var(--teal);outline-offset:-2px}
/* Keep native select behaviour, with a centred and consistently spaced chevron. */
select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23444746' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:20px;background-position:left 14px center;padding-inline-end:48px;cursor:pointer}
select:dir(ltr){background-position:right 14px center}
select:disabled{cursor:default}
input:dir(ltr),textarea:dir(ltr){text-align:left}
input[list]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23444746' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:20px;background-position:left 14px center;padding-inline-end:48px}
input[list]:dir(ltr){background-position:right 14px center}
input[list]::-webkit-calendar-picker-indicator{opacity:0}
.money{display:inline-flex;align-items:baseline;gap:6px;direction:ltr;unicode-bidi:isolate;font-variant-numeric:tabular-nums;white-space:nowrap}
.money span{margin:0}
input[type=checkbox],input[type=radio]{accent-color:var(--teal);min-height:20px;width:20px;height:20px}
.form-error{color:var(--md-sys-color-error)}
.form-grid{column-gap:24px}
.field-help{font-size:.875rem;color:var(--muted);margin:-10px 0 24px;line-height:1.85}
.inline-note,.scope-note,.form-info,.form-info p,.finance-lines>div,.data-grid dt{color:var(--muted);font-size:.9375rem}
.inline-note{background:var(--md-sys-color-surface-container-low);border:0;border-radius:8px;padding:16px;margin:20px 24px}
.form-info{background:var(--md-sys-color-surface-container-low)}
.notice{background:#e8f0fe;border-color:#d3e3fd;color:#0842a0}
.notice span,.notice p{color:var(--muted)}

dialog{width:800px;max-width:calc(100% - 48px);max-height:92dvh;border:0;border-radius:28px;background:#f8fafd;box-shadow:0 8px 28px #0003;color:var(--ink)}
dialog::backdrop{background:#1f1f1f66;backdrop-filter:none}
.modal-heading{padding:24px 32px 20px;border:0}
.modal-heading p{font-size:.9375rem;color:var(--muted);max-width:620px}
.modal-heading h2{font-size:1.5rem}
.modal-body{padding:4px 32px 24px;max-height:65dvh}
.modal-footer{padding:20px 32px;background:var(--md-sys-color-surface-container-low);border:0;gap:12px}
.modal-body .inline-note{margin-inline:0}
.entry-steps{border:0;gap:16px;margin-bottom:28px;padding:8px 0}
.entry-steps button{background:none;display:flex;gap:8px;align-items:center;justify-content:center;border:0;border-radius:28px;font-size:.9375rem;color:var(--muted);min-height:48px;padding:8px}
.entry-steps button>span{border:1px solid var(--md-sys-color-outline);border-radius:50%;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center}
.entry-steps button[aria-current]{background:var(--teal-soft);color:var(--teal)}
.entry-steps button[aria-current]>span{background:var(--teal);color:white;border-color:var(--teal)}
[data-entry-panel]>h3{font-size:1.25rem;margin:0 0 24px}
.consignee-fields{border-top:1px solid var(--line);padding-top:24px;margin-top:8px}
.consignee-fields h3{margin-bottom:20px}
.segmented-field{border:0;padding:0;margin:0 0 24px;min-width:0}
.segmented-field legend{font-size:.9375rem;color:var(--muted);margin-bottom:10px;font-weight:500}
.segmented-control{display:flex;width:max-content;max-width:100%;border:1px solid var(--md-sys-color-outline);border-radius:28px;overflow:hidden}
.segmented-control label{position:relative;margin:0;flex:1;display:flex;min-width:0}
.segmented-control label+label{border-inline-start:1px solid var(--md-sys-color-outline)}
.segmented-control input{position:absolute;opacity:0;width:1px;height:1px}
.segmented-control span{padding:12px 22px;min-height:48px;display:flex;align-items:center;justify-content:center;white-space:nowrap;color:var(--muted);cursor:pointer;font-size:.9375rem}
.segmented-control input:checked+span{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}
.segmented-control input:checked+span:before{content:'✓';margin-inline-end:8px}
.segmented-control input:focus-visible+span{outline:3px solid var(--teal);outline-offset:-3px}
.price-currency{display:flex;align-items:flex-start;gap:24px}
.price-currency>label{flex:1}
.price-currency .segmented-field{padding-top:0}
.price-currency .segmented-control{margin-top:8px;direction:ltr}
.price-currency .segmented-control span{padding-inline:18px;min-height:56px}
.entry-preview{background:var(--md-sys-color-surface-container);border:0;border-radius:12px;padding:20px 24px;line-height:1.9}
.entry-preview p{color:var(--muted);font-size:.9375rem}
.entry-preview strong{font-size:1rem;font-weight:500}
.account-autocomplete{position:relative}
.account-results{border:1px solid var(--line);border-radius:8px;background:white;box-shadow:0 3px 10px #0002;max-height:230px;overflow-y:auto;margin:-12px 0 20px}
.account-results button{border:0;border-bottom:1px solid #edf0f3;background:white;padding:14px 16px;display:flex;width:100%;gap:16px;justify-content:space-between;text-align:start;min-height:56px;color:var(--ink);font-size:1rem}
.account-results button:hover,.account-results button:focus-visible{background:var(--teal-soft)}
.account-results bdi{color:var(--muted);font-size:.875rem}
.account-results .field-help{margin:12px}
.catalog-list{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 24px}

.cargo-toolbar{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin-bottom:24px}
.search-field{background:var(--md-sys-color-surface-container-high);border:0;border-radius:28px;min-height:56px;display:flex;align-items:center;gap:12px;padding:0 18px;margin:0;flex:1;min-width:260px;max-width:520px}
.search-field input{border:0;background:none;outline:none;margin:0;padding:12px 0;min-height:56px;box-shadow:none;color:var(--ink)}
.search-field:focus-within{outline:2px solid var(--teal)}
.search-field input:focus{outline:none}
.cargo-search{direction:rtl}
.cargo-search>.icon{flex-shrink:0}
.cargo-search #case-search{direction:rtl;text-align:right;min-width:0;flex:1}
.cargo-search #case-search::placeholder{direction:rtl;text-align:right}
.filter-chips{display:flex;gap:8px;flex-wrap:wrap}
.filter-chip{border:1px solid var(--md-sys-color-outline-variant);border-radius:8px;background:transparent;padding:8px 14px;min-height:40px;font-size:.9375rem;color:var(--muted)}
.filter-chip.selected{background:var(--md-sys-color-primary-container);border-color:transparent;color:var(--md-sys-color-on-primary-container)}
.cargo-layout{display:grid;grid-template-columns:minmax(0,1fr) 272px;gap:24px;align-items:start}
.cargo-register{overflow:hidden}
.register-heading{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line)}
.register-heading span{color:var(--muted);font-size:.9375rem}
.cargo-register-scroll{overflow:auto}
.cargo-register-table{border-collapse:collapse;width:100%;text-align:start;font-size:.9375rem;min-width:660px}
.cargo-register-table th{font-size:.875rem;color:var(--muted);background:#f8fafd;font-weight:500;white-space:nowrap;padding:16px;text-align:start}
.cargo-register-table td{border-top:1px solid var(--line);padding:20px 16px;vertical-align:middle}
.cargo-register-table td:first-child{min-width:170px}
.cargo-register-table tbody tr:hover{background:#f3f6fb}
.cargo-register-table tr.selected{background:#f0f5ff}
.row-actions{white-space:nowrap}
.row-actions .btn{min-height:40px;padding:8px 16px}
.row-actions .icon-button{width:40px;min-width:40px;height:40px;min-height:40px}
.cargo-left{position:sticky;top:24px}
.checklist-context{padding:0 8px 16px;color:var(--ink);overflow-wrap:anywhere}
.checklist-context span{font-size:.875rem;color:var(--muted)}
.checklist-context strong{font-size:1.0625rem;font-weight:500}
.cargo-checklist{background:var(--md-sys-color-surface-container-low);border:0;border-radius:16px}
.cargo-checklist .panel-heading{padding:20px 20px 12px}
.cargo-checklist h2{font-size:1.125rem}
.cargo-checklist .panel-heading p{font-size:.875rem}
.cargo-checklist progress{margin:0 20px;width:calc(100% - 40px);height:4px;accent-color:var(--teal)}
.cargo-checklist .checklist-hint{font-size:.8125rem;line-height:1.8;color:var(--muted);padding:8px 20px;margin:0}
.cargo-checklist ol{padding:0 12px;margin:4px 0;list-style:none}
.cargo-checklist h3{padding:16px 20px 4px;font-size:.9375rem;border-top:1px solid #dfe3e7;margin-top:12px}
.check-item{font-size:.9375rem;line-height:1.7;display:flex;align-items:center;gap:12px;padding:10px 8px;min-height:48px;color:var(--ink);margin:0;border:0;background:none;width:100%;text-align:start}
.check-item input{width:20px;height:20px;min-height:20px;margin:0;border-radius:2px;flex-shrink:0}
.check-item.checked{color:var(--muted)}
.auto-check{border:1px solid var(--md-sys-color-outline);width:20px;height:20px;min-width:20px;border-radius:3px;background:none;color:white;display:flex;align-items:center;justify-content:center}
.checked .auto-check{background:var(--teal);border-color:var(--teal)}
.auto-check .icon{width:18px;height:18px}
.check-item small{color:var(--muted)}
.back-link{color:var(--teal);font-size:.9375rem;display:inline-flex;align-items:center;gap:8px;min-height:48px;margin-bottom:12px}
.cargo-heading{align-items:flex-start}
.cargo-stage{min-width:210px}
.cargo-stage label{font-size:.875rem;margin:0}
.cargo-stage select{background:white;min-height:48px;padding:10px 12px}
.cargo-stage>span{font-size:.875rem;color:var(--muted)}
.cargo-stage .text-button{font-size:.875rem;min-height:40px}
.cargo-tabs{display:flex;gap:0;border-bottom:1px solid var(--line);margin:0 0 24px;overflow-x:auto}
.cargo-tabs button{border:0;position:relative;border-radius:0;background:none;padding:16px 24px;min-height:56px;flex:1;white-space:nowrap;color:var(--muted);font-weight:500;font-size:.9375rem}
.cargo-tabs button.active{border:0;color:var(--teal)}
.cargo-tabs button.active:after{content:'';height:3px;background:var(--teal);position:absolute;bottom:0;left:20%;right:20%;border-radius:4px 4px 0 0}
.cargo-tabs button:hover{background:#0b57d008}
.shipment-tabs{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:24px}
.shipment-tabs>span{color:var(--muted);font-size:.9375rem}
.document-context{display:grid;gap:12px;font-size:.9375rem;background:white;border:1px solid var(--line);border-radius:12px;padding:20px 24px;margin:0 0 24px}
.document-context>div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:24px;align-items:start}
.document-context dt{color:var(--muted);font-size:.875rem;font-weight:400;line-height:1.8}
.document-context dd{margin:0;direction:ltr;text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;color:var(--ink)}
.document-context>div:first-child dd{font-weight:500}
.document-context>div+div dd{font-size:.875rem;color:var(--muted)}
.document-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:0 24px 24px}
.document-slot{border:1px solid var(--line);border-radius:12px;padding:16px;background:#fff}
.document-slot-heading{display:flex;gap:8px;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap}
.document-slot-heading h3{font-size:1rem;color:var(--ink)}
.drop-zone{display:flex;flex-direction:column;align-items:center;gap:8px;border:1px dashed #8a9bb6;border-radius:8px;padding:24px 12px;background:#f8fafd;cursor:pointer;margin:0;min-height:160px;color:var(--muted)}
.drop-zone:hover,.drop-zone.dragover{background:#e8f0fe;border-color:var(--teal)}
.drop-zone>strong{display:none}
.drop-zone>.icon{width:24px;height:24px;color:var(--teal)}
.drop-zone span{font-size:.875rem}
.drop-zone.has-file{background:#f0f7f1;border-color:#75a780}
.drop-zone input{display:none}
.saved-file{margin-top:12px}
.saved-file+.saved-file{border-top:1px solid var(--line);padding-top:12px}
.saved-file .file-remove{margin-top:8px;color:var(--md-sys-color-error,#b3261e)}
.saved-file a{display:flex;align-items:flex-start;gap:8px;color:var(--teal);font-size:.9375rem;overflow-wrap:anywhere;word-break:break-word}
.saved-file a bdi{min-width:0;text-align:start}
.saved-file>span{display:block;margin-top:8px;font-size:.8125rem;color:var(--muted)}
.document-readonly{padding:24px;color:var(--muted);background:var(--md-sys-color-surface-container-low);border-radius:8px}
.file-versions{font-size:.875rem;margin-top:8px}
.file-versions summary{color:var(--teal);cursor:pointer}
.cargo-document-panel>.checklist-hint{font-size:.875rem;color:var(--muted);padding:0 24px 24px}
.spec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:0 24px 24px;margin:0}
.spec-grid dt{font-size:.875rem;color:var(--muted);margin-bottom:4px}
.spec-grid dd{font-size:1rem;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.shipping-note{padding:20px 24px;border-top:1px solid var(--line)}
.shipping-note p{white-space:pre-wrap;margin-top:8px;color:var(--muted)}
.operation-body{padding:0 24px 24px}
.operation-body .heading-actions{margin:20px 0 0}
.payment-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:0 24px 24px}
.payment-summary>div{background:var(--md-sys-color-surface-container-low);padding:20px;border-radius:12px;min-width:0}
.payment-summary span{font-size:.875rem;color:var(--muted);display:block;margin-bottom:8px}
.payment-summary strong{font-size:clamp(1.25rem,1.8vw,1.625rem);font-weight:500;display:block;line-height:1.6}
.payment-summary strong:has(.money){text-align:left}
.payment-summary small{display:block;margin-top:6px}
.payment-agreement{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px 24px;align-items:center;padding:20px 24px;border-block:1px solid var(--line)}
.payment-agreement>span{color:var(--muted);margin-inline-end:16px;font-size:.9375rem}
.payment-agreement .advance-value{display:flex;justify-content:flex-start;direction:ltr;align-items:center;gap:12px;flex-wrap:wrap}
.advance-percent{border:1px solid var(--line);border-radius:6px;padding:2px 8px;color:var(--muted);font-size:.875rem;font-weight:400}
.payment-agreement p{grid-column:1 / -1;font-size:.9375rem;color:var(--muted);margin:0;white-space:pre-wrap;overflow-wrap:anywhere;text-align:start;line-height:1.8}
.payment-pending{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:20px 24px;background:#fff8e8;font-size:.9375rem}
.payment-pending p{color:var(--muted);margin-top:4px}
.receipt-list{padding:24px;display:block}
.receipt-list>h3{margin-bottom:16px}
.receipt-item{padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--md-sys-color-surface);margin-bottom:16px}
.receipt-item>div{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.receipt-item p{font-size:.9375rem;color:var(--muted);margin:8px 0}
.receipt-heading{align-items:center}
.receipt-item .receipt-heading strong{color:var(--ink);font-size:1.25rem;font-weight:500;text-align:left;margin-inline-start:auto}
.receipt-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;margin:20px 0 0}
.receipt-details>div{min-width:0}
.receipt-details dt{color:var(--muted);font-size:.8125rem;margin-bottom:4px}
.receipt-details dd{margin:0;font-size:.9375rem;overflow-wrap:anywhere;line-height:1.8;text-align:start}
.receipt-details dd:dir(ltr){text-align:left}
.receipt-footer{border-top:1px solid var(--line);padding-top:16px;margin-top:16px;align-items:center}
.receipt-item .btn{margin-top:0}
.accounting-transfer{border:1px solid var(--line);border-radius:12px;background:white;padding:20px 24px;margin-top:24px}
.accounting-transfer summary{cursor:pointer;color:var(--teal);font-size:1rem}
.accounting-transfer .panel{margin-top:20px;border:0}
.stat-card{background:white;border-color:var(--line);border-radius:12px}
.stat-card div>span,.stat-card p{color:var(--muted)}
.stat-icon{color:var(--teal);background:var(--teal-soft);border-radius:50%}
.module-card{border:1px solid var(--line);border-radius:16px;background:white}
.module-card:hover{background:#f0f5ff;border-color:#a8c7fa}
.financial-controls{background:var(--md-sys-color-surface-container-low)}
.account-result:hover{background:#f0f5ff}
.accounting-upload label,.setup-panel label{color:var(--muted)}
.comparison-grid>div,.reported-balance{background:var(--md-sys-color-surface-container-low)}
.login-intro{background:#e8f0fe}
.login-intro h1{color:#041e49;font-weight:500}
.login-intro p,.intro-foot{color:#444746}
.login-streams>span{border:0;background:#d3e3fd;color:#041e49;border-radius:24px}
.login-layout,.login-form-wrap{background:var(--bg)}
.login-form-content h2{font-weight:500}
.demo-access{background:#fff3cf;border-color:#e5d391}
.demo-access p{color:#614700}
.mobile-checklist-toggle{display:none}

@media(min-width:1600px){.cargo-layout{grid-template-columns:minmax(0,1fr) 300px}
.document-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:1150px){.cargo-layout{grid-template-columns:minmax(0,1fr) 240px;gap:20px}
.main-content{padding-inline:24px}
.cargo-register-table{min-width:610px}
.cargo-register-table th,.cargo-register-table td{padding-inline:12px}
.row-actions .icon-button{display:none}
.cargo-toolbar .search-field{max-width:none}
.document-grid{grid-template-columns:1fr}
.cargo-tabs button{padding-inline:12px}
}

@media(max-width:950px){.cargo-layout{grid-template-columns:1fr}
.cargo-left{position:static}
.cargo-layout>.cargo-left{display:none}
.cargo-layout.checklist-expanded>.cargo-left{display:block;order:-1}
.mobile-checklist-toggle{display:flex;margin-bottom:20px;width:100%}
.cargo-checklist ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.document-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.cargo-register-table{min-width:600px}
.page-heading{flex-wrap:wrap}
.cargo-stage{min-width:190px}
}

@media(max-width:700px){.sidebar{width:100%;height:80px;top:auto;bottom:0;right:0;padding:8px 12px;background:var(--md-sys-color-surface-container);border-top:1px solid var(--line);flex-direction:row;z-index:20}
.sidebar .brand,.nav-version{display:none}
.sidebar nav,.sidebar nav:not(:has(a[href="#/accounting"])){display:flex;flex-direction:row;justify-content:space-around;margin:0;gap:12px;grid-template-columns:none}
.sidebar nav .nav-item{width:auto;flex:1;font-size:.8125rem;gap:2px;min-height:64px;padding:0}
.nav-item .icon{width:24px;height:24px;padding:4px 20px;box-sizing:content-box}
.workspace{width:100%;margin:0;padding-bottom:80px}
.topbar{height:64px;min-height:64px;padding:8px 16px}
.top-actions{gap:0}
.top-actions .profile{margin-inline:4px}
.profile strong{font-size:.8125rem}
.profile span:not(.avatar){font-size:.75rem}
.profile .avatar{width:32px;height:32px}
.top-actions .icon-button{min-width:40px;width:40px;height:40px;min-height:40px}
.main-content{padding:20px 16px 32px}
.page-heading{gap:16px;margin-bottom:20px}
h1{font-size:1.5rem}
.page-heading p{font-size:.9375rem}
.heading-actions{gap:8px}
.heading-actions .btn{padding-inline:16px}
.page-heading>.heading-actions{width:100%}
.page-heading>.heading-actions .btn{flex:1}
.page-footer{padding:16px;display:block;font-size:.75rem}
.page-footer>span{display:block}
.cargo-toolbar{gap:16px}
.search-field{min-width:0;width:100%;max-width:none;flex-basis:100%;padding-inline:16px}
.filter-chips{gap:8px}
.filter-chip{min-height:40px;padding:8px 12px;font-size:.875rem}
.cargo-register-table{min-width:0;display:block}
.cargo-register-table thead{display:none}
.cargo-register-table tbody{display:block}
.cargo-register-table tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:20px;border-top:1px solid var(--line)}
.cargo-register-table td,.cargo-register-table td:first-child{display:block;border:0;padding:0;min-width:0;overflow-wrap:anywhere}
.cargo-register-table td:first-child{grid-column:1 / -1}
.cargo-register-table td:last-child{grid-column:1 / -1;display:flex;justify-content:flex-end}
.cargo-register-table .row-actions .btn{width:100%;min-height:44px}
.cargo-register-table .row-actions .icon-button{display:inline-flex}
.register-heading{padding:20px}
.register-heading h2{font-size:1.125rem}
.cargo-checklist ol{grid-template-columns:1fr}
.cargo-heading{display:block}
.cargo-heading h1{font-size:1.5rem}
.cargo-stage{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:20px;min-width:0}
.cargo-stage label{flex-basis:100%;display:flex;align-items:center;gap:12px;flex-direction:row}
.cargo-stage select{flex:1;min-width:0;margin:0}
.cargo-tabs{margin-bottom:20px}
.cargo-tabs button{padding:14px 10px;min-height:56px;font-size:.875rem}
.document-grid{grid-template-columns:1fr;padding:0 20px 20px;gap:16px}
.document-context{font-size:.875rem;gap:4px}
.panel-heading{padding:20px;flex-wrap:wrap}
.panel-heading h2{font-size:1.125rem}
.panel-heading p{font-size:.875rem}
.spec-grid{grid-template-columns:1fr;padding:0 20px 20px;gap:20px}
.operation-body{padding:0 20px 20px}
.payment-summary{grid-template-columns:1fr;padding:0 20px 20px;gap:12px}
.payment-summary strong{font-size:1.375rem}
.payment-agreement,.payment-pending,.receipt-list{padding:20px}
.payment-pending{flex-direction:column;align-items:stretch}
.finance-panel .panel-heading .btn{width:100%}
.form-grid{grid-template-columns:1fr}
.inline-note{margin:16px 20px;font-size:.875rem}
.entry-steps{gap:4px;margin-bottom:24px}
.entry-steps button{font-size:.8125rem;flex-direction:column;border-radius:12px;gap:4px;min-height:76px;padding:8px 4px}
.entry-steps button>span{width:24px;height:24px}
.price-currency{display:block}
.segmented-control{width:100%}
.segmented-control span{padding-inline:12px;white-space:normal;text-align:center;font-size:.875rem}
.price-currency .segmented-control span{padding-inline:16px}
.segmented-field{margin-bottom:24px}
.price-currency .segmented-field{margin-top:-4px}
.account-results button{font-size:.9375rem}
.entry-preview{padding:20px}
.entry-preview p{font-size:.875rem}
.modal-body label{font-size:.9375rem}
dialog{max-width:calc(100% - 24px);max-height:94dvh;border-radius:20px}
.modal-heading{padding:20px}
.modal-heading h2{font-size:1.25rem}
.modal-heading p{font-size:.875rem}
.modal-heading .icon-button{width:40px;min-width:40px;height:40px;min-height:40px}
.modal-body{padding:0 20px 20px;max-height:62dvh}
.modal-footer{padding:16px 20px;gap:8px}
.modal-footer .btn{font-size:.875rem;padding-inline:16px;min-height:44px}
.login-intro{padding:32px}
.login-form-wrap{padding:32px 24px}
.login-intro h1{font-size:2rem}
}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}
}

.optional-documents{border-top:1px solid var(--line);padding:20px 24px}
.optional-documents>summary{cursor:pointer;color:var(--teal);min-height:48px}
.optional-documents>.document-grid{padding:16px 0 0}

.payment-summary .money span{display:inline;margin:0;font-size:.65em;color:var(--muted)}

@media(max-width:700px){.cargo-stage{flex-direction:row;justify-content:flex-start;align-items:center}
.cargo-stage label{width:100%;flex-basis:100%;min-height:48px}
.cargo-tabs button{min-width:0;white-space:normal;line-height:1.6;font-size:.8125rem;padding-inline:6px}
.cargo-tabs{overflow-x:visible}
.cargo-stage>span{flex:1}
.cargo-stage .text-button{padding:4px 8px}
.cargo-heading{margin-bottom:20px}
.checklist-context{padding-bottom:12px}
}

.segmented-control span{flex:1}

.drop-zone input[type=file]{display:block;position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0;padding:0;opacity:0;pointer-events:auto;cursor:pointer}
.drop-zone.dragging{background:#e8f0fe;border-color:var(--teal)}


progress::-webkit-progress-value{background:var(--teal)}
progress::-moz-progress-bar{background:var(--teal)}
.check-item.checked>span:last-child{color:var(--muted)}

/* Shipment workspace: a full-width register and a compact, right-aligned status. */
.load-register .cargo-register-table{min-width:900px}
.load-register .cargo-register-table td:first-child{min-width:190px}
.load-register .row-actions{white-space:normal;min-width:180px}
.load-register .row-actions .btn{margin:4px 0 4px 6px}
.load-register .cargo-register-table tr:hover{background:#f8fafd}
.load-product+.load-product{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.load-product .cell-sub{margin-top:0}
.consignee-text{display:block;text-align:left;overflow-wrap:anywhere}
.cargo-value{display:block;overflow-wrap:anywhere;unicode-bidi:plaintext}
.cargo-value:dir(ltr){text-align:left}
.latin-text{text-align:left;direction:ltr}
.load-workspace{max-width:1280px}
.load-stage-bar{display:flex;align-items:center;gap:32px;flex-wrap:wrap;background:var(--md-sys-color-surface-container-low);border-radius:16px;padding:16px 24px;margin-bottom:24px;max-width:1280px}
.load-stage-bar>label{display:flex;align-items:center;gap:16px;margin:0;color:var(--ink)}
.load-stage-bar select{width:200px;margin:0;background-color:white;min-height:48px;padding:10px 16px;padding-inline-end:48px;border-radius:8px;line-height:1.6}
.load-stage-bar select:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.load-owner{display:flex;align-items:center;gap:16px;color:var(--muted);font-size:.9375rem}
.load-payment-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
.load-payment-summary small{font-size:.8125rem;color:var(--muted)}
.load-reference{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:12px 16px;background:var(--md-sys-color-surface-container);border-radius:8px;margin-bottom:24px;font-size:.875rem}
.load-reference>span{color:var(--muted)}
.load-item{border:1px solid var(--line);border-radius:12px;padding:16px 20px 0;margin:0 0 20px;min-width:0;background:white}
.load-item legend{padding:0 8px;font-size:.9375rem;color:var(--teal)}
.load-item-heading{display:flex;align-items:flex-start;gap:16px}
.load-item-heading>label{flex:1;min-width:0}
.load-item-heading>.text-button{margin-top:28px;white-space:nowrap;font-size:.8125rem}
.load-weight-total{font-size:1rem;color:var(--muted);margin-top:20px}
.load-price-field{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,180px) 40px;gap:16px;align-items:center;padding:16px 20px;background:white;border:1px solid var(--line);border-radius:12px;margin-bottom:12px}
.load-price-field>span{overflow-wrap:anywhere;color:var(--ink)}
.load-price-field small{display:block;color:var(--muted);font-size:.8125rem}
.load-price-field input{margin:0}
.payment-terms-fields{display:grid;grid-template-columns:160px minmax(0,1fr);gap:24px;border-top:1px solid var(--line);padding-top:24px;margin-top:24px}
.payment-terms-fields textarea{min-height:112px}
.segmented-control label{align-items:stretch;flex:1 1 0}
.segmented-control input:checked+span:before{display:none}
.segmented-control input:checked+span{box-shadow:none;font-weight:500}
.segmented-control span{padding:12px 20px}
.financial-selectors{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:24px;margin:24px 0 8px}
.financial-selectors .segmented-control{width:100%;border-radius:24px}
.financial-selectors .segmented-control label:first-child{border-start-start-radius:23px;border-end-start-radius:23px}
.financial-selectors .segmented-control label:last-child{border-start-end-radius:23px;border-end-end-radius:23px}
.financial-selectors .segmented-control span{border-radius:inherit;padding:12px 8px;min-height:48px;font-size:.875rem;white-space:normal;text-align:center;line-height:1.7}
.financial-selectors .segmented-control input{inset:0;width:100%;height:100%;min-height:0;margin:0;padding:0;border:0;z-index:1;cursor:pointer}
.financial-selectors .segmented-control input:focus-visible+span{outline:2px solid var(--teal);outline-offset:-4px}
.financial-selectors .segmented-control label:hover span{background:var(--md-sys-color-surface-container-high)}
.financial-selectors .segmented-control input:checked+span{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}
.load-spec-items{padding:0 24px 24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.load-spec-items article{padding:20px;background:var(--md-sys-color-surface-container-low);border-radius:12px}
.load-spec-items article>div{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap}
.load-spec-items p{margin-top:8px;font-size:.9375rem;color:var(--muted)}
.load-item-price{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:12px}
.delete-load-button{margin-inline-start:auto}
.accounting-finalize{padding:20px 0;border-bottom:1px solid var(--line)}
.accounting-finalize p{margin-bottom:16px;color:var(--muted)}
.shipping-reference-form{border-top:1px solid var(--line);padding-top:16px;margin-top:20px}
.shipping-reference-form label{font-size:.875rem;margin-bottom:16px}
.shipping-reference-form input{font-size:.9375rem;min-height:48px;padding:10px 12px;text-align:left}
@media(min-width:1151px){.load-workspace .document-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
 .financial-selectors{grid-template-columns:1fr;gap:0;margin-top:16px}
 .load-register .cargo-register-table{min-width:0}
 .load-register .cargo-register-table td:first-child{min-width:0}
 .load-register .cargo-register-table td:before{content:attr(data-label);display:block;color:var(--muted);font-size:.75rem;margin-bottom:6px}
 .load-register .cargo-register-table td.row-actions:before{display:none}
 .load-register .row-actions{min-width:0;gap:8px}
 .load-register .row-actions .btn{width:auto;flex:1;margin:0}
 .load-register .cargo-register-table tr{padding:20px;gap:20px 16px}
 .load-register .cargo-register-table td:nth-child(3){grid-column:1 / -1}
 .consignee-text{text-align:left;font-size:.875rem}
 .load-stage-bar{padding:16px;gap:8px;border-radius:12px}
 .load-stage-bar>label{width:100%;font-size:.875rem;gap:12px}
 .load-stage-bar select{flex:1;min-width:0;width:auto;font-size:.9375rem}
 .load-owner{font-size:.8125rem;gap:12px;flex-wrap:wrap}
 .load-payment-summary{grid-template-columns:1fr}
 .load-item{padding:12px 16px 0}
 .load-item-heading{display:block;position:relative}
 .load-item-heading>.text-button{margin:-16px 0 8px;padding:4px 0;min-height:36px}
 .load-price-field{grid-template-columns:minmax(0,1fr) 36px;gap:8px 12px;padding:16px}
 .load-price-field>span{grid-column:1 / -1}
 .load-price-field small{display:inline;margin-inline-start:12px}
 .payment-terms-fields{grid-template-columns:1fr;gap:0}
 .payment-terms-fields>label:first-child{max-width:180px}
 .load-spec-items{grid-template-columns:1fr;padding:0 20px 20px}
 .load-reference{font-size:.8125rem}
 .delete-load-button{margin-inline-start:0}
}

.packaging-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.packaging-fields label{font-size:.875rem}
.packaging-fields select{width:100%}
.user-table{width:100%;border-collapse:collapse}
.user-table th,.user-table td{text-align:right;padding:20px 24px;border-bottom:1px solid var(--line)}
.user-table th{font-weight:500;color:var(--muted);font-size:.875rem}
.user-table tr:last-child td{border-bottom:0}
.user-table td:last-child{width:180px}
@media(max-width:700px){
 .user-table,.user-table tbody,.user-table tr,.user-table td{display:block;width:100%}
 .user-table thead{display:none}
 .user-table tr{padding:16px 20px;border-bottom:1px solid var(--line)}
 .user-table td{padding:8px 0;border:0}
 .user-table td[data-label]:before{content:attr(data-label);display:block;font-size:.75rem;color:var(--muted);margin-bottom:4px}
 .user-table td:last-child{width:100%}
}
@media(max-width:700px){.packaging-fields{grid-template-columns:1fr;gap:0}}
/* Cargo exports use the shared Material dialog and buttons. */
/* Document panels and small screens share the same disclosure and value alignment. */
.optional-documents>summary,.file-versions>summary,.accounting-transfer>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;min-height:44px;line-height:1.8}
.optional-documents>summary::-webkit-details-marker,.file-versions>summary::-webkit-details-marker,.accounting-transfer>summary::-webkit-details-marker{display:none}
.optional-documents>summary::after,.file-versions>summary::after,.accounting-transfer>summary::after{content:'';width:20px;height:20px;flex-shrink:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b57d0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E") center/20px no-repeat}
.optional-documents[open]>summary::after,.file-versions[open]>summary::after,.accounting-transfer[open]>summary::after{transform:rotate(180deg)}
.load-register td:has(.money){text-align:left}
.load-register td:has(.money)::before{text-align:right}
.confirmation-amount{direction:ltr;text-align:left}
.entry-preview>strong,.entry-preview>p:has(.money){display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.confirmation-amount~.data-grid dd{text-align:start;overflow-wrap:anywhere}
.load-workspace .timeline{padding:0 24px 24px}
.load-workspace .timeline-item{border-color:var(--line);padding-bottom:24px;line-height:1.8}
.load-workspace .timeline-item i{background:var(--teal);box-shadow:0 0 0 1px var(--line)}
.load-workspace .timeline-item strong{color:var(--ink);font-size:.9375rem}
.load-workspace .timeline-item span,.load-workspace .timeline-item time{color:var(--muted);font-size:.875rem}
@media(max-width:1000px){
 .cargo-layout{grid-template-columns:minmax(0,1fr)}
 .cargo-left{display:none}
 .cargo-layout.checklist-expanded .cargo-left{display:block;position:static}
 .mobile-checklist-toggle{display:inline-flex;margin-bottom:20px}
}
@media(max-width:700px){
 .document-context{padding:16px 20px;gap:16px}
 .document-context>div{grid-template-columns:minmax(0,1fr);gap:4px}
 .receipt-item{padding:16px}
 .receipt-details{grid-template-columns:minmax(0,1fr);gap:12px}
 .receipt-item .receipt-heading strong{font-size:1.25rem}
 .payment-agreement{column-gap:12px}
 .payment-summary strong{font-size:1.5rem}
}
.cargo-export-results p { line-height: 1.9; }
.cargo-export-downloads { display: grid; gap: 12px; margin: 20px 0; }
.cargo-export-downloads .btn { min-height: 56px; justify-content: flex-start; flex-wrap: wrap; }
.export-file-size { margin-inline-start: auto; font-size: 13px; direction: ltr; }

/* Shipment list only: consistent alignment for Persian and English table content. */
.shipment-register .cargo-register-table :is(th,td,th *,td *){text-align:center;vertical-align:middle}
.shipment-register .cargo-register-table td::before{text-align:center}
.shipment-register .cargo-register-table tr{align-items:center}
.shipment-register .cargo-register-table td.row-actions{justify-content:center}
