@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap";:root{--brand: #034C91;--brand-dk: #023A6F;--brand-lt: #E6EFF7;--brand-rgb: 3, 76, 145;--accent: #82B927;--accent-dk: #6B9C1C;--accent-tx: #567D14;--accent-lt: #F1F7E6;--accent-rgb: 130, 185, 39;--heading: #5E5873;--body-text: #6E6B7B;--muted: #B9B9C3;--page: #F8F7FA;--surface: #FFFFFF;--line: #EBE9F1;--line-soft: #F3F2F7;--success: #567D14;--success-lt: #F1F7E6;--danger: #EA5455;--danger-lt: #FCEAEA;--warning: #FF9F43;--warning-lt: #FFF3E8;--info: #00CFE8;--info-lt: #E0FAFD;--t-xs: 11px;--t-sm: 12px;--t-md: 14px;--t-lg: 17px;--t-xl: 20px;--t-2xl: 28px;--r-surface: 6px;--r-control: 5px;--shadow-card: 0 4px 24px 0 rgba(34, 41, 47, .06);--shadow-pop: 0 5px 25px 0 rgba(34, 41, 47, .12);--bs-primary: #034C91;--bs-primary-rgb: 3, 76, 145;--bs-link-color: #034C91;--bs-link-color-rgb: 3, 76, 145;--bs-link-hover-color: #023A6F;--bs-body-color: #6E6B7B;--bs-body-bg: #F8F7FA;--bs-border-color: #EBE9F1;--bs-secondary-color: #B9B9C3;--bs-font-sans-serif: "Montserrat", ui-sans-serif, "Segoe UI", Roboto, Arial, sans-serif;--bs-border-radius: 6px}body{font-family:var(--bs-font-sans-serif);background:var(--page);color:var(--body-text);font-size:var(--t-md);line-height:1.5;letter-spacing:.01rem;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}h1,h2,h3,h4,h5{color:var(--heading);font-weight:600;letter-spacing:.01rem}.num{font-variant-numeric:tabular-nums}.mono{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.9em}::selection{background:rgba(var(--brand-rgb),.18)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.btn{--bs-btn-border-radius: var(--r-control);font-size:13px;font-weight:500;padding:.5rem .95rem;letter-spacing:.01rem}.btn-sm{font-size:12px;padding:.35rem .75rem}.btn-primary{--bs-btn-bg: var(--brand);--bs-btn-border-color: var(--brand);--bs-btn-hover-bg: var(--brand-dk);--bs-btn-hover-border-color: var(--brand-dk);--bs-btn-active-bg: var(--brand-dk);--bs-btn-active-border-color: var(--brand-dk);--bs-btn-disabled-bg: var(--brand);--bs-btn-disabled-border-color: var(--brand)}.btn-primary:hover{box-shadow:0 8px 25px -8px var(--brand)}.btn-outline-primary{--bs-btn-color: var(--brand);--bs-btn-border-color: var(--brand);--bs-btn-hover-bg: var(--brand-lt);--bs-btn-hover-color: var(--brand);--bs-btn-hover-border-color: var(--brand);--bs-btn-active-bg: var(--brand);--bs-btn-active-border-color: var(--brand)}.btn-outline-secondary{--bs-btn-color: var(--body-text);--bs-btn-border-color: var(--line);--bs-btn-hover-bg: var(--line-soft);--bs-btn-hover-color: var(--heading);--bs-btn-hover-border-color: var(--line);--bs-btn-active-bg: var(--line-soft);--bs-btn-active-color: var(--heading);--bs-btn-active-border-color: var(--line)}.btn-outline-danger{--bs-btn-border-radius: var(--r-control);--bs-btn-color: var(--danger);--bs-btn-border-color: var(--danger);--bs-btn-hover-bg: var(--danger)}a{color:var(--brand);text-decoration:none;text-underline-offset:2px}a:hover{color:var(--brand-dk)}.form-control,.form-select{font-size:13.5px;border-radius:var(--r-control);border-color:var(--line);color:var(--body-text);padding:.5rem .75rem}.form-control::placeholder{color:var(--muted)}.form-control:focus,.form-select:focus{border-color:var(--brand);box-shadow:0 3px 10px #22292f1a}.form-label{font-size:var(--t-sm);font-weight:500;color:var(--heading);margin-bottom:.35rem}.form-text{font-size:var(--t-xs);color:var(--muted)}.form-check-input:checked{background-color:var(--brand);border-color:var(--brand)}.form-check-input:focus{box-shadow:0 2px 4px rgba(var(--brand-rgb),.4)}.input-group-text{background:var(--line-soft);border-color:var(--line);font-size:13px;color:var(--body-text)}.card{border:0;border-radius:var(--r-surface);box-shadow:var(--shadow-card);background:var(--surface)}.card-body{padding:1.5rem}.card-title{font-size:var(--t-lg);font-weight:500;color:var(--heading);margin-bottom:1.5rem}.modal-content,.dropdown-menu{border:0;border-radius:var(--r-surface);box-shadow:var(--shadow-pop)}.modal-header,.modal-footer{border-color:var(--line)}.modal-title{font-size:var(--t-lg);color:var(--heading)}.alert{border:0;border-radius:var(--r-control);font-size:13.5px;padding:.9rem 1.25rem;font-weight:500}.alert-success{background:var(--success-lt);color:var(--success)}.alert-danger{background:var(--danger-lt);color:var(--danger)}.app-navbar{background:transparent;border:0;padding-top:1rem}.app-navbar>.container-xxl{background:var(--surface);box-shadow:var(--shadow-card);border-radius:var(--r-surface);padding:.6rem 1.25rem}.app-brand{display:flex;align-items:center;gap:10px;text-decoration:none}.app-brand .brand-logo{height:40px;width:auto;object-fit:contain;display:block}.app-brand .mark{font-weight:600;font-size:14px;color:var(--heading);line-height:1.15}.app-brand .org{font-size:var(--t-xs);color:var(--muted)}.rate-pill{display:inline-flex;align-items:center;gap:7px;border:0;border-radius:var(--r-control);background:var(--brand-lt);color:var(--brand);padding:6px 12px;font-size:var(--t-sm);font-weight:500;text-decoration:none;white-space:nowrap}.rate-pill strong{color:var(--brand);font-variant-numeric:tabular-nums}.rate-pill:hover{background:var(--brand);color:#fff}.rate-pill:hover strong{color:#fff}.app-tabs{background:transparent;border:0;padding-top:.75rem}.app-tabs>.container-xxl{background:var(--surface);box-shadow:var(--shadow-card);border-radius:var(--r-surface);padding:.35rem .75rem}.app-tabs .nav-link{color:var(--body-text);font-weight:500;font-size:13.5px;padding:12px 14px;margin-right:2px;border:0;border-radius:var(--r-control)}.app-tabs .nav-link:hover{color:var(--brand)}.app-tabs .nav-link.active{color:#fff;background:var(--brand);box-shadow:0 4px 12px -4px var(--brand)}.nav-user{font-size:var(--t-sm);color:var(--muted)}.nav-role{display:inline-block;margin-left:6px;padding:2px 9px;border-radius:999px;background:var(--brand-lt);color:var(--brand);font-size:var(--t-xs);font-weight:600}.kpi .kpi-ico{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:19px;background:var(--brand-lt);color:var(--brand)}.kpi .kpi-n{font-size:var(--t-2xl);font-weight:600;line-height:1.1;color:var(--heading);font-variant-numeric:tabular-nums}.kpi .kpi-t{font-size:var(--t-sm);color:var(--body-text);margin-top:2px}.kpi.kpi-hero .kpi-n{color:var(--brand)}.kpi.kpi-good .kpi-n{color:var(--accent-tx)}.kpi.kpi-good .kpi-ico{background:var(--accent-lt);color:var(--accent-tx)}.kpi.kpi-warn .kpi-n{color:var(--danger)}.kpi.kpi-warn .kpi-ico{background:var(--danger-lt);color:var(--danger)}.pipeline-track{display:flex;height:12px;border-radius:999px;overflow:hidden;background:var(--line-soft)}.pipeline-track i{display:block;height:100%}.pipeline-key{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:1rem;font-size:var(--t-sm);color:var(--body-text)}.pipeline-key span{display:inline-flex;align-items:center;gap:7px}.pipeline-key b{width:9px;height:9px;border-radius:50%}.pipeline-key em{font-style:normal;color:var(--heading);font-weight:600;font-variant-numeric:tabular-nums}.badge[class*=st-]{font-weight:600;font-size:var(--t-xs);padding:.4em .75em;border-radius:var(--r-control);letter-spacing:.02rem}.badge.st-Booked{background:var(--line-soft);color:var(--body-text)}.badge.st-Departed,.badge.st-InTransit{background:var(--info-lt);color:#0096a8}.badge.st-Customs{background:var(--warning-lt);color:#d97d22}.badge.st-Arrived,.badge.st-PartialDelivery{background:var(--accent-lt);color:var(--accent-tx)}.badge.st-Delivered{background:var(--accent);color:#fff}.badge.st-OnHold,.badge.st-Delayed{background:var(--danger-lt);color:var(--danger)}.badge.st-Cancelled,.badge.st-NotAwarded{background:var(--line-soft);color:var(--muted)}.table{--bs-table-bg: transparent;margin-bottom:0;color:var(--body-text)}.table>thead th{background:var(--line-soft);border-bottom:0;font-size:var(--t-xs);font-weight:600;color:var(--heading);text-transform:uppercase;letter-spacing:.5px;padding:12px;white-space:nowrap}.table>tbody td{border-bottom:1px solid var(--line);padding:11px 12px;vertical-align:middle;font-size:13px}.table>tbody tr:last-child td{border-bottom:0}.table>tfoot td{border-top:1px solid var(--line);background:var(--line-soft);font-weight:600;color:var(--heading);padding:12px;font-size:13px}.table-hover>tbody>tr:hover>td{background:var(--line-soft)}.table-light>:not(caption)>*>*{background:var(--line-soft)}.card>.table-responsive{max-height:calc(100vh - 340px);border-radius:var(--r-surface)}.card>.table-responsive>.table>thead th{position:sticky;top:0;z-index:2}.list-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;margin-bottom:8px;border:0;border-radius:var(--r-control);background:var(--line-soft);text-decoration:none;color:inherit;transition:background .15s}.list-row:hover{background:var(--brand-lt)}.list-row strong{display:block;font-size:13px;font-weight:600;color:var(--heading)}.list-row small{display:block;color:var(--muted);font-size:var(--t-sm)}.list-row .row-right{text-align:right;font-size:var(--t-sm);font-weight:600;color:var(--danger)}.list-row.is-arrival .row-right{color:#0096a8;font-variant-numeric:tabular-nums}.avatar{width:32px;height:32px;flex:0 0 32px;border-radius:50%;background:var(--brand-lt);color:var(--brand);display:grid;place-items:center;font-size:var(--t-sm);font-weight:600}.role-box,.perm-box{display:block;cursor:pointer;border:1px solid var(--line);border-radius:var(--r-control);background:var(--surface);transition:border-color .15s,box-shadow .15s}.role-box input,.perm-box input{position:absolute;opacity:0}.role-box:hover,.perm-box:hover{border-color:var(--brand)}.role-box:has(input:checked),.perm-box:has(input:checked){border-color:var(--brand);box-shadow:0 3px 10px -3px var(--brand)}.role-box{padding:14px 16px;margin-bottom:10px}.role-box span{display:block;font-weight:600;font-size:13.5px;color:var(--heading)}.role-box small{display:block;color:var(--muted);font-size:var(--t-sm)}.role-box:has(input:checked) span{color:var(--brand)}.perm-group{border:0;border-radius:var(--r-surface);padding:1.25rem;margin-bottom:1rem;background:var(--line-soft)}.perm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));gap:10px}.perm-box{padding:10px 12px}.perm-box span{display:block;font-size:13px;font-weight:500;color:var(--heading)}.perm-box small{display:block;font-size:var(--t-xs);color:var(--muted);font-family:monospace;margin-top:1px}.perm-box:has(input:checked) span{color:var(--brand)}.bg-light{background-color:var(--line-soft)!important}.doc-box{border:1px solid var(--line)!important;border-radius:var(--r-control);background:var(--surface)!important}.pagination{gap:4px}.page-link{color:var(--body-text);border:0;font-size:13px;background:var(--line-soft);border-radius:var(--r-control)}.page-link:hover{background:var(--brand-lt);color:var(--brand)}.page-item.active .page-link{background:var(--brand);color:#fff;box-shadow:0 4px 12px -4px var(--brand)}.login-page{background:var(--page)}.login-split{display:grid;grid-template-columns:1.1fr 1fr;min-height:100vh}.login-side{background:var(--brand);color:#fff;display:flex;align-items:center;padding:48px}.login-side .login-brand{display:flex;align-items:center;gap:18px;margin-bottom:34px;flex-wrap:wrap}.login-side .brand-logo{height:116px;width:auto;object-fit:contain;display:block;background:#fff;padding:14px 20px;border-radius:var(--r-surface)}.login-side .mark{font-weight:600;font-size:17px;color:#fff}.login-side .org{font-size:var(--t-sm);color:#ffffffbf}.login-side .login-pitch{font-size:var(--t-xl);line-height:1.5;color:#ffffffeb;max-width:32ch}.login-side dt{font-size:var(--t-sm);color:#ffffffb3}.login-side dd{font-size:13.5px;color:#fff}.login-form-side{background:var(--page);display:flex;align-items:center;justify-content:center;padding:48px 28px}@media(max-width:900px){.login-split{grid-template-columns:1fr}.login-side{padding:36px 26px}.login-facts{display:none}.app-navbar>.container-xxl,.app-tabs>.container-xxl{padding-left:.9rem;padding-right:.9rem}}@media(min-width:1400px){.container-xxl{max-width:1680px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media print{.app-navbar,.app-tabs,.no-print{display:none!important}body{background:#fff;font-size:11px}.card{box-shadow:none}.card>.table-responsive{max-height:none}.table>thead th{position:static}}.mark{background:transparent;padding:0;color:inherit}
