:root {
    --ink:#10253f;
    --muted:#60738a;
    --nav:#071a2f;
    --teal:#15c4b7;
    --sky:#49c9ee;
    --paper:#f4f7fb;
    --line:#dce5ee
}
html {
    font-size:15px
}
body {
    color:var(--ink);
    background:var(--paper);
    font-family:Inter,Segoe UI,Arial,sans-serif
}
.gt-nav {
    background:linear-gradient(100deg,#06182b,#0c3155);
    min-height:68px
}
.brand-mark {
    display:inline-grid;
    place-items:center;
    width:34px;
    height:34px;
    border-radius:9px;
    background:linear-gradient(135deg,var(--teal),var(--sky));
    color:#06213a
}
.hero {
    min-height:560px;
    background:radial-gradient(circle at 78% 10%,#164f75 0,transparent 30%),linear-gradient(115deg,#071a2f 0%,#0c3155 65%,#0b5265 100%);
    color:#fff;
    display:flex;
    align-items:center
}
.eyebrow {
    color:#79e7df;
    letter-spacing:.13em;
    text-transform:uppercase;
    font-size:.78rem;
    font-weight:700
}
.hero h1 {
    font-size:clamp(2.5rem,5vw,5rem);
    max-width:850px;
    line-height:1.02
}
.hero-copy {
    font-size:1.15rem;
    color:#c5d8e7;
    max-width:650px
}
.feature-card,.panel,.stat-card {
    border:0;
    border-radius:16px;
    background:#fff;
    box-shadow:0 8px 30px rgba(14,39,69,.07)
}
.feature-card {
    height:100%;
    padding:1.5rem
}
.feature-icon {
    width:44px;
    height:44px;
    border-radius:12px;
    background:#dff8f5;
    color:#087f77;
    display:grid;
    place-items:center;
    font-weight:800
}
.panel {
    padding:1.5rem
}
.stat-card {
    padding:1.25rem
}
.stat-card .metric {
    font-size:2rem;
    font-weight:750
}
.badge-status {
    background:#e5f7f4;
    color:#087d73;
    border-radius:20px;
    padding:.4rem .7rem
}
.table>:not(caption)>*>* {
    padding:.85rem .75rem
}
.table thead th {
    color:var(--muted);
    font-size:.75rem;
    text-transform:uppercase;
    letter-spacing:.06em;
    border-bottom-width:1px
}
.form-control,.form-select {
    border-color:var(--line);
    padding:.65rem .75rem
}
.form-control:focus,.form-select:focus {
    border-color:var(--teal);
    box-shadow:0 0 0 .2rem rgba(21,196,183,.15)
}
.btn-primary {
    background:#0b5f87;
    border-color:#0b5f87
}
.btn-info {
    background:var(--teal);
    border-color:var(--teal);
    color:#06243c;
    font-weight:650
}
.gt-footer {
    background:var(--nav);
    color:#fff
}
.gt-footer a {
    color:#a9dce8
}
.timeline {
    border-left:2px solid #b8d7de;
    margin-left:12px;
    padding-left:24px
}
.timeline-item {
    position:relative;
    padding-bottom:22px
}
.timeline-item:before {
    content:"";
    position:absolute;
    left:-31px;
    top:4px;
    width:12px;
    height:12px;
    background:var(--teal);
    border-radius:50%;
    box-shadow:0 0 0 4px #dff8f5
}
.rate-card {
    border:2px solid transparent;
    transition:.2s
}
.rate-card:hover {
    border-color:var(--teal);
    transform:translateY(-2px)
}
.money {
    font-variant-numeric:tabular-nums
}
.empty-state {
    text-align:center;
    padding:4rem 1rem;
    color:var(--muted)
}
@media(max-width:767px) {
    .hero {
        min-height:500px
    }
    .panel {
        padding:1rem
    }
    .table-responsive {
        border-radius:14px
    }
    .hero h1 {
        font-size:2.6rem
    }
}
.assistant-shell {
    min-height:calc(100vh - 190px);
    background:radial-gradient(circle at 5% 10%,rgba(21,196,183,.12),transparent 28%)
}
.assistant-capabilities {
    display:grid;
    gap:.75rem;
    padding:1.1rem;
    border-radius:14px;
    background:#fff;
    border:1px solid var(--line)
}
.assistant-capabilities>div {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem
}
.assistant-provider-controls {
    display:grid;
    gap:.8rem;
    padding:1rem;
    border-radius:14px;
    background:#fff;
    border:1px solid var(--line);
    margin-bottom:1rem
}
.assistant-provider-controls label {
    font-size:.75rem;
    color:var(--muted);
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.05em
}
.assistant-provider-controls .form-control,.assistant-provider-controls .form-select {
    margin-top:.25rem
}
.assistant-card {
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:18px;
    background:#fff
}
.assistant-card-header {
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:1rem 1.25rem;
    border-bottom:1px solid var(--line);
    background:#f9fbfd
}
.assistant-messages {
    height:520px;
    overflow-y:auto;
    padding:1.25rem;
    background:linear-gradient(180deg,#fff,#f8fbfd)
}
.assistant-message {
    display:flex;
    align-items:flex-start;
    gap:.75rem;
    max-width:88%;
    margin-bottom:1.1rem
}
.assistant-message>div:last-child {
    padding:.8rem 1rem;
    border-radius:4px 14px 14px;
    background:#eaf1f7
}
.assistant-message-user {
    margin-left:auto;
    flex-direction:row-reverse
}
.assistant-message-user>div:last-child {
    background:#dff8f5;
    border-radius:14px 4px 14px 14px
}
.assistant-avatar {
    flex:0 0 auto;
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border-radius:10px;
    background:var(--nav);
    color:#fff;
    font-size:.75rem;
    font-weight:800
}
.assistant-message-user .assistant-avatar {
    background:#0b6f79
}
.assistant-response-text {
    white-space:pre-wrap;
    overflow-wrap:anywhere
}
.assistant-tools-used {
    margin-top:.55rem;
    color:var(--muted);
    font-size:.72rem;
    text-transform:uppercase;
    letter-spacing:.04em
}
.assistant-composer {
    display:flex;
    align-items:flex-end;
    gap:.75rem;
    padding:1rem 1.25rem;
    border-top:1px solid var(--line)
}
.assistant-composer textarea {
    resize:none
}
.assistant-config-warning {
    padding:.8rem 1.25rem;
    background:#fff3cd;
    border-top:1px solid #ffe69c;
    color:#664d03;
    font-size:.86rem
}
@media(max-width:991px) {
    .assistant-messages {
        height:430px
    }
    .assistant-message {
        max-width:96%
    }
}
/* Single-page shipment workspace */
.shipment-create-shell {
    min-height:calc(100vh - 68px);
    background:radial-gradient(circle at 8% 3%,rgba(73,201,238,.12),transparent 24rem),radial-gradient(circle at 96% 18%,rgba(21,196,183,.1),transparent 28rem),#f4f7fb
}
.shipment-create-hero {
    position:relative;
    overflow:hidden;
    padding:2rem;
    border-radius:26px;
    color:#fff;
    background:radial-gradient(circle at 96% 0,rgba(73,201,238,.35),transparent 20rem),linear-gradient(125deg,#06182b 0%,#0b3458 62%,#0b6770 100%);
    box-shadow:0 22px 55px rgba(6,31,54,.18)
}
.shipment-create-hero:before {
    content:"";
    position:absolute;
    width:320px;
    height:320px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:50%;
    right:-100px;
    top:-160px;
    box-shadow:0 0 0 48px rgba(255,255,255,.025),0 0 0 96px rgba(255,255,255,.018)
}
.shipment-hero-kicker {
    margin-bottom:.55rem;
    color:#72e7df;
    font-size:.75rem;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase
}
.shipment-create-hero h1 {
    margin:0 0 .7rem;
    font-size:clamp(2rem,4vw,3.35rem);
    font-weight:780;
    line-height:1.05;
    letter-spacing:-.035em
}
.shipment-create-hero p {
    max-width:680px;
    margin:0;
    color:#c9dbe8;
    font-size:1.03rem
}
.shipment-hero-chip {
    padding:.45rem .7rem;
    border:1px solid rgba(255,255,255,.16);
    border-radius:999px;
    background:rgba(255,255,255,.08);
    color:#e7f4f7;
    font-size:.76rem;
    font-weight:650;
    backdrop-filter:blur(6px)
}
.shipment-live-summary {
    padding:1.15rem;
    border:1px solid rgba(255,255,255,.16);
    border-radius:18px;
    background:rgba(5,24,43,.44);
    box-shadow:inset 0 1px rgba(255,255,255,.08);
    backdrop-filter:blur(12px)
}
.shipment-route-preview {
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:.8rem;
    padding-bottom:1rem;
    border-bottom:1px solid rgba(255,255,255,.12)
}
.shipment-route-preview div:first-child,.shipment-route-preview div:last-child {
    display:grid;
    gap:.15rem
}
.shipment-route-preview span {
    color:#9fc1d1;
    font-size:.67rem;
    font-weight:700;
    letter-spacing:.09em;
    text-transform:uppercase
}
.shipment-route-preview strong {
    max-width:9rem;
    overflow:hidden;
    color:#fff;
    font-size:1.05rem;
    text-overflow:ellipsis;
    white-space:nowrap
}
.shipment-route-line {
    position:relative;
    height:20px
}
.shipment-route-line:before {
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:9px;
    border-top:1px dashed rgba(114,231,223,.7)
}
.shipment-route-line:after {
    content:"";
    position:absolute;
    right:0;
    top:5px;
    width:9px;
    height:9px;
    border-top:2px solid #72e7df;
    border-right:2px solid #72e7df;
    transform:rotate(45deg)
}
.shipment-route-line span {
    position:absolute;
    left:0;
    top:5px;
    width:9px;
    height:9px;
    border:2px solid #72e7df;
    border-radius:50%;
    background:#0b3458
}
.shipment-summary-metrics {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:.5rem;
    padding-top:1rem
}
.shipment-summary-metrics div {
    min-width:0
}
.shipment-summary-metrics strong,.shipment-summary-metrics span {
    display:block
}
.shipment-summary-metrics strong {
    overflow:hidden;
    color:#fff;
    font-size:.95rem;
    text-overflow:ellipsis;
    white-space:nowrap
}
.shipment-summary-metrics span {
    margin-top:.2rem;
    color:#9fc1d1;
    font-size:.63rem;
    letter-spacing:.04em;
    text-transform:uppercase
}
.shipment-step-nav {
    position:relative;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:.5rem;
    margin-top:1.5rem;
    padding-top:1.25rem;
    border-top:1px solid rgba(255,255,255,.12)
}
.shipment-step-nav a {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.5rem;
    padding:.6rem .8rem;
    border-radius:10px;
    color:#cfe2eb;
    text-decoration:none;
    font-size:.79rem;
    font-weight:650;
    transition:.2s
}
.shipment-step-nav a:hover {
    background:rgba(255,255,255,.1);
    color:#fff
}
.shipment-step-nav a span {
    display:grid;
    place-items:center;
    width:24px;
    height:24px;
    border-radius:8px;
    background:rgba(114,231,223,.15);
    color:#72e7df;
    font-size:.7rem
}
.shipment-validation-summary:empty,.shipment-validation-summary.validation-summary-valid {
    display:none
}
.cms-settings-form .validation-summary-valid {
    display:none
}
.cms-settings-form .cms-settings-accordion .accordion-item {
    overflow:visible!important
}
.gt-user-avatar {
    overflow:hidden
}
.gt-user-avatar img {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover
}
.profile-photo-preview {
    width:76px;
    height:76px;
    border-radius:18px;
    font-size:1.6rem
}
.account-settings-page {
    color:var(--bs-body-color)
}
.account-settings-page .account-settings-panel {
    background:var(--bs-body-bg);
    color:var(--bs-body-color);
    border:1px solid var(--bs-border-color)
}
.account-settings-page .account-settings-panel h1 {
    color:var(--bs-emphasis-color)
}
.account-settings-page .form-control {
    background-color:var(--bs-body-bg);
    color:var(--bs-body-color);
    border-color:var(--bs-border-color)
}
.account-settings-page .form-control[readonly] {
    background-color:var(--bs-tertiary-bg)
}
.navigation-builder {
    container-type:inline-size
}
@container (max-width:720px) {
    .navigation-builder .navigation-builder-item {
        grid-template-columns:minmax(0,1fr) auto!important
    }
    .navigation-builder .navigation-builder-grip {
        display:none
    }
    .navigation-builder .navigation-builder-fields,.navigation-builder .navigation-builder-item select {
        grid-column:1/-1!important;
        min-width:0;
        width:100%
    }
    .navigation-builder .navigation-builder-visible {
        grid-column:1!important;
        grid-row:auto!important
    }
    .navigation-builder .navigation-builder-actions {
        grid-column:2!important;
        grid-row:auto!important
    }
}
.shipment-section {
    scroll-margin-top:1rem;
    border:1px solid rgba(207,220,233,.8);
    box-shadow:0 12px 32px rgba(14,39,69,.065)
}
.shipment-section-heading {
    display:flex;
    align-items:center;
    gap:.85rem;
    margin-bottom:1.25rem
}
.shipment-section-heading h2 {
    margin:0;
    color:#10253f;
    font-size:1.05rem;
    font-weight:760
}
.shipment-section-heading p {
    margin:.2rem 0 0;
    color:var(--muted);
    font-size:.82rem
}
.shipment-section-number {
    flex:0 0 auto;
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    border-radius:12px;
    background:linear-gradient(135deg,#0b5f87,#15a99f);
    box-shadow:0 7px 16px rgba(11,95,135,.18);
    color:#fff;
    font-size:.84rem;
    font-weight:800
}
.shipment-section .form-label {
    margin-bottom:.38rem;
    color:#40566d;
    font-size:.78rem;
    font-weight:680
}
.shipment-section .form-control,.shipment-section .form-select {
    min-height:43px;
    border-radius:10px;
    background-color:#fbfdff
}
.shipment-section .form-control:hover,.shipment-section .form-select:hover {
    border-color:#b9cad9
}
.shipment-section .form-check {
    padding:.7rem .75rem .7rem 2.15rem;
    border-radius:10px;
    background:#f7fafc
}
.shipment-section .form-check-input {
    margin-top:.16rem
}
.shipment-address-card {
    position:relative;
    overflow:hidden
}
.shipment-address-card:after {
    content:"";
    position:absolute;
    right:-32px;
    top:-32px;
    width:86px;
    height:86px;
    border-radius:50%;
    background:rgba(21,196,183,.07)
}
.shipment-address-destination .shipment-section-number {
    background:linear-gradient(135deg,#0b5f87,#4a74c9)
}
.shipment-count-badge {
    display:inline-grid;
    place-items:center;
    min-width:25px;
    height:25px;
    margin-left:.25rem;
    border-radius:8px;
    background:#e1f6f4;
    color:#087f77;
    font-size:.72rem;
    vertical-align:middle
}
.shipment-add-button {
    border:0;
    border-radius:10px;
    padding:.62rem 1rem;
    background:#0b5f87;
    box-shadow:0 7px 14px rgba(11,95,135,.15)
}
.shipment-add-button:hover {
    background:#084e70
}
.shipment-add-button span {
    margin-right:.25rem;
    font-size:1.15rem;
    line-height:0
}
.shipment-collection-card {
    padding:1.1rem;
    border:1px solid #d9e4ed;
    border-radius:16px;
    background:linear-gradient(180deg,#fff,#fbfdff);
    box-shadow:0 5px 15px rgba(14,39,69,.035);
    transition:border-color .2s,box-shadow .2s
}
.shipment-collection-card:hover {
    border-color:#b8d5df;
    box-shadow:0 8px 20px rgba(14,39,69,.06)
}
.shipment-row-title {
    display:flex;
    align-items:center;
    gap:.5rem;
    color:#18364f;
    font-size:.9rem
}
.shipment-row-symbol {
    display:grid;
    place-items:center;
    width:31px;
    height:31px;
    border-radius:9px;
    background:#e7f6f7;
    color:#087f77;
    font-size:.6rem;
    font-weight:850;
    letter-spacing:.04em
}
.shipment-collection-card .btn-outline-danger {
    border-color:#f0c9cc;
    border-radius:9px;
    color:#a53c46
}
.shipment-collection-card .btn-outline-danger:hover {
    border-color:#dc3545;
    color:#fff
}
.shipment-allocation {
    padding:1rem;
    border:1px solid #c9e5e5;
    border-radius:14px;
    background:linear-gradient(135deg,#f2fbfa,#f7fbfe)
}
.shipment-allocation [data-package-allocation] {
    position:relative
}
.shipment-allocation [data-package-allocation]:before {
    content:"PK";
    position:absolute;
    right:8px;
    top:6px;
    color:#78a0aa;
    font-size:.58rem;
    font-weight:800;
    letter-spacing:.05em
}
.allocation-status {
    align-self:flex-start;
    padding:.38rem .65rem;
    border-radius:999px;
    font-size:.71rem;
    font-weight:750;
    white-space:nowrap
}
.allocation-status.is-complete {
    background:#dff5e8;
    color:#157347
}
.allocation-status.is-incomplete {
    background:#fff0d4;
    color:#8a5a00
}
.shipment-submit-bar {
    position:sticky;
    bottom:1rem;
    z-index:15;
    border:1px solid #cce5e4;
    box-shadow:0 16px 40px rgba(8,44,70,.15)
}
.shipment-ready-mark {
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    border-radius:12px;
    background:#dff8f5;
    color:#087f77;
    font-size:1.1rem;
    font-weight:800
}
.shipment-submit-bar .btn {
    border-radius:10px;
    padding:.65rem 1rem
}
.shipment-submit-bar .btn-info {
    box-shadow:0 7px 16px rgba(21,196,183,.22)
}
@media(max-width:991px) {
    .shipment-create-hero {
        padding:1.5rem
    }
    .shipment-step-nav {
        overflow-x:auto;
        grid-template-columns:repeat(5,minmax(110px,1fr));
        justify-content:start
    }
    .shipment-step-nav a {
        white-space:nowrap
    }
    .shipment-submit-bar {
        position:static
    }
}
@media(max-width:575px) {
    .shipment-create-hero {
        margin-inline:-.45rem;
        padding:1.25rem;
        border-radius:20px
    }
    .shipment-summary-metrics {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:1rem
    }
    .shipment-route-preview strong {
        max-width:6rem
    }
    .shipment-section-heading {
        align-items:flex-start
    }
    .shipment-section {
        padding:1rem
    }
    .shipment-submit-bar .btn,.shipment-submit-bar .d-flex:last-child {
        width:100%
    }
    .shipment-submit-bar .d-flex:last-child {
        display:grid!important;
        grid-template-columns:1fr
    }
    .shipment-allocation .allocation-status {
        white-space:normal
    }
}
/* Guided shipment creation */
.guided-shipment-shell {
    min-height:calc(100vh - 68px);
    background:radial-gradient(circle at 5% 10%,rgba(73,201,238,.1),transparent 25rem),#f4f7fb
}
.guided-shipment-hero {
    position:relative;
    overflow:hidden;
    padding:2rem 2.25rem 0;
    border-radius:25px;
    background:radial-gradient(circle at 93% 8%,rgba(21,196,183,.28),transparent 20rem),linear-gradient(125deg,#06182b,#0b365a 62%,#0a626b);
    box-shadow:0 20px 50px rgba(6,31,54,.16);
    color:#fff
}
.guided-shipment-hero:after {
    content:"";
    position:absolute;
    right:-80px;
    top:-150px;
    width:300px;
    height:300px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:50%;
    box-shadow:0 0 0 45px rgba(255,255,255,.025),0 0 0 90px rgba(255,255,255,.018)
}
.guided-shipment-hero h1 {
    margin:0 0 .7rem;
    font-size:clamp(1.9rem,4vw,3rem);
    font-weight:780;
    letter-spacing:-.035em
}
.guided-shipment-hero p {
    max-width:650px;
    margin:0;
    color:#c9dbe8;
    font-size:1rem
}
.guided-alternate-link {
    display:inline-block;
    position:relative;
    z-index:1;
    margin-top:1.25rem;
    color:#72e7df;
    font-size:.82rem;
    font-weight:700;
    text-decoration:none
}
.guided-alternate-link:hover {
    color:#fff
}
.guided-route-preview {
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:1rem;
    padding:1.2rem;
    border:1px solid rgba(255,255,255,.15);
    border-radius:17px;
    background:rgba(5,24,43,.4);
    backdrop-filter:blur(10px)
}
.guided-route-preview>div:first-child,.guided-route-preview>div:last-child {
    display:grid;
    gap:.2rem
}
.guided-route-preview span {
    color:#9fc1d1;
    font-size:.65rem;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase
}
.guided-route-preview strong {
    font-size:1.3rem
}
.guided-route-path {
    position:relative;
    height:24px
}
.guided-route-path:before {
    content:"";
    position:absolute;
    left:2px;
    right:8px;
    top:11px;
    border-top:1px dashed #72e7df
}
.guided-route-path:after {
    content:"";
    position:absolute;
    right:3px;
    top:7px;
    width:9px;
    height:9px;
    border-top:2px solid #72e7df;
    border-right:2px solid #72e7df;
    transform:rotate(45deg)
}
.guided-route-path span {
    position:absolute;
    left:0;
    top:7px;
    width:9px;
    height:9px;
    border:2px solid #72e7df;
    border-radius:50%
}
.guided-progress {
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    margin-top:1.8rem;
    border-top:1px solid rgba(255,255,255,.12)
}
.guided-progress>div {
    display:flex;
    align-items:center;
    gap:.6rem;
    padding:1rem .5rem;
    color:#8eacbc
}
.guided-progress>div>span {
    display:grid;
    place-items:center;
    flex:0 0 auto;
    width:28px;
    height:28px;
    border-radius:9px;
    background:rgba(255,255,255,.08);
    font-size:.7rem;
    font-weight:800
}
.guided-progress strong,.guided-progress small {
    display:block
}
.guided-progress strong {
    font-size:.76rem
}
.guided-progress small {
    margin-top:.1rem;
    font-size:.61rem
}
.guided-progress .is-active {
    color:#fff
}
.guided-progress .is-active>span {
    background:#15c4b7;
    color:#06243c;
    box-shadow:0 0 0 5px rgba(21,196,183,.12)
}
.guided-form-panel {
    overflow:hidden;
    padding:0;
    border:1px solid #d7e3ec;
    box-shadow:0 15px 40px rgba(14,39,69,.07)
}
.guided-form-section {
    padding:1.65rem 1.8rem
}
.guided-form-section.border-top {
    border-color:#e7edf3!important
}
.guided-form-panel .form-label {
    margin-bottom:.38rem;
    color:#40566d;
    font-size:.77rem;
    font-weight:680
}
.guided-form-panel .form-control,.guided-form-panel .form-select {
    min-height:43px;
    border-radius:10px;
    background:#fbfdff
}
.guided-form-panel textarea.form-control {
    min-height:auto
}
.guided-address-card {
    padding:1.15rem;
    border:1px solid #d8e5ed;
    border-radius:16px;
    background:linear-gradient(180deg,#fff,#f9fcfe)
}
.guided-address-card legend {
    display:flex;
    align-items:center;
    gap:.7rem;
    float:none;
    width:auto;
    margin:0 0 1rem;
    padding:0;
    color:#18364f;
    font-size:.9rem;
    font-weight:760
}
.guided-address-card legend>span {
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    border-radius:11px;
    background:#e2f6f5;
    color:#087f77;
    font-size:.59rem;
    letter-spacing:.05em
}
.guided-address-card legend small {
    display:block;
    margin-top:.12rem;
    color:var(--muted);
    font-size:.68rem;
    font-weight:500
}
.guided-address-to legend>span {
    background:#e7eefc;
    color:#315fa6
}
.guided-form-submit {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:1.2rem 1.8rem;
    background:#fbfdff
}
.guided-form-submit strong,.guided-form-submit span {
    display:block
}
.guided-form-submit>div>span {
    margin-top:.18rem;
    color:var(--muted);
    font-size:.76rem
}
.guided-form-submit .btn {
    border-radius:10px;
    box-shadow:0 7px 16px rgba(21,196,183,.2)
}
/* Shipment lifecycle visualization */
.shipment-details-shell {
    min-height:calc(100vh - 68px);
    background:radial-gradient(circle at 90% 0,rgba(21,196,183,.08),transparent 25rem),#f4f7fb
}
.shipment-details-hero {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:2rem;
    padding:1.6rem 1.8rem;
    border-radius:21px;
    background:radial-gradient(circle at 95% 0,rgba(73,201,238,.28),transparent 18rem),linear-gradient(120deg,#06182b,#0b3b61);
    box-shadow:0 15px 35px rgba(6,31,54,.15);
    color:#fff
}
.shipment-back-link {
    display:inline-block;
    margin-bottom:.8rem;
    color:#9ddbdc;
    font-size:.75rem;
    text-decoration:none
}
.shipment-details-title {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:.8rem
}
.shipment-details-title>div>span {
    color:#72e7df;
    font-size:.67rem;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase
}
.shipment-details-title h1 {
    margin:.15rem 0 0;
    font-size:clamp(1.5rem,3vw,2.35rem);
    font-weight:760
}
.shipment-details-status {
    padding:.42rem .7rem;
    border:1px solid rgba(255,255,255,.15);
    border-radius:999px;
    background:rgba(255,255,255,.1);
    font-size:.72rem;
    font-weight:700
}
.shipment-details-route {
    display:flex;
    align-items:center;
    gap:.55rem;
    margin-top:.8rem;
    color:#d5e4eb
}
.shipment-details-route>span {
    position:relative;
    width:75px;
    border-top:1px dashed #72e7df
}
.shipment-details-route>span:after {
    content:"";
    position:absolute;
    right:0;
    top:-4px;
    width:7px;
    height:7px;
    border-top:2px solid #72e7df;
    border-right:2px solid #72e7df;
    transform:rotate(45deg)
}
.shipment-details-route small {
    margin-left:.5rem;
    color:#a8bfca
}
.shipment-details-actions {
    display:flex;
    flex-wrap:wrap;
    gap:.6rem
}
.shipment-details-actions .btn {
    border-radius:10px
}
.shipment-lifecycle {
    display:grid;
    grid-template-columns:repeat(6,1fr);
    overflow:hidden;
    border:1px solid #d8e3ec;
    border-radius:17px;
    background:#fff;
    box-shadow:0 8px 25px rgba(14,39,69,.06)
}
.shipment-lifecycle>div {
    position:relative;
    display:flex;
    align-items:center;
    gap:.55rem;
    padding:1rem .75rem;
    color:#8a9bab
}
.shipment-lifecycle>div:not(:last-child):after {
    content:"";
    position:absolute;
    right:0;
    width:1px;
    height:42%;
    background:#e1e8ee
}
.shipment-lifecycle>div>span {
    display:grid;
    place-items:center;
    flex:0 0 auto;
    width:29px;
    height:29px;
    border-radius:9px;
    background:#eef2f5;
    color:#758695;
    font-size:.68rem;
    font-weight:800
}
.shipment-lifecycle strong,.shipment-lifecycle small {
    display:block
}
.shipment-lifecycle strong {
    color:#5b6f80;
    font-size:.75rem
}
.shipment-lifecycle small {
    margin-top:.08rem;
    font-size:.61rem
}
.shipment-lifecycle .is-complete>span {
    background:#dff5e8;
    color:#157347
}
.shipment-lifecycle .is-complete>span:before {
    content:"✓";
    font-size:.75rem
}
.shipment-lifecycle .is-complete>span {
    font-size:0
}
.shipment-lifecycle .is-current {
    background:#f0fbfa
}
.shipment-lifecycle .is-current>span {
    background:#15c4b7;
    color:#06243c;
    box-shadow:0 0 0 4px rgba(21,196,183,.12)
}
.shipment-lifecycle .is-current strong {
    color:#087f77
}
.shipment-details-shell .panel,.shipment-details-shell .stat-card {
    border:1px solid rgba(216,227,236,.8);
    box-shadow:0 9px 28px rgba(14,39,69,.055)
}
.shipment-details-shell .stat-card {
    position:relative;
    overflow:hidden
}
.shipment-details-shell .stat-card:after {
    content:"";
    position:absolute;
    right:-25px;
    bottom:-35px;
    width:80px;
    height:80px;
    border-radius:50%;
    background:rgba(21,196,183,.07)
}
/* Public tracking */
.tracking-page-shell {
    min-height:calc(100vh - 68px);
    background:#f4f7fb
}
.tracking-search-hero {
    position:relative;
    overflow:hidden;
    background:radial-gradient(circle at 84% 10%,rgba(21,196,183,.27),transparent 23rem),linear-gradient(118deg,#06182b 0%,#0a3458 62%,#0a6670 100%);
    color:#fff
}
.tracking-search-hero:before {
    content:"";
    position:absolute;
    inset:0;
    background-image:radial-gradient(rgba(255,255,255,.1) 1px,transparent 1px);
    background-size:24px 24px;
    mask-image:linear-gradient(90deg,transparent,rgba(0,0,0,.5))
}
.tracking-search-hero h1 {
    max-width:700px;
    margin:.2rem 0 .75rem;
    font-size:clamp(2.2rem,5vw,4rem);
    font-weight:780;
    line-height:1.02;
    letter-spacing:-.04em
}
.tracking-search-hero p {
    max-width:620px;
    margin:0;
    color:#c7dae6;
    font-size:1.05rem
}
.tracking-search-form {
    position:relative;
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    max-width:740px;
    padding:.38rem;
    border:1px solid rgba(255,255,255,.16);
    border-radius:15px;
    background:#fff;
    box-shadow:0 16px 35px rgba(0,0,0,.2)
}
.tracking-search-symbol {
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border-radius:11px;
    background:#e3f7f5;
    color:#087f77;
    font-size:.65rem;
    font-weight:850
}
.tracking-search-form .form-control {
    height:48px;
    border:0;
    box-shadow:none
}
.tracking-search-form .btn {
    height:48px;
    border-radius:11px;
    padding-inline:1.15rem;
    white-space:nowrap
}
.tracking-privacy-note {
    display:flex;
    align-items:center;
    gap:.5rem;
    margin-top:1rem;
    color:#a9c5d2;
    font-size:.72rem
}
.tracking-privacy-note>span {
    display:grid;
    place-items:center;
    width:18px;
    height:18px;
    border-radius:50%;
    background:rgba(114,231,223,.15);
    color:#72e7df
}
.tracking-hero-visual {
    position:relative;
    min-height:260px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:25px;
    background:radial-gradient(circle at 25% 30%,rgba(73,201,238,.18),transparent 4rem),radial-gradient(circle at 80% 68%,rgba(21,196,183,.18),transparent 5rem),rgba(5,24,43,.25);
    box-shadow:inset 0 1px rgba(255,255,255,.06)
}
.tracking-map-dot {
    position:absolute;
    width:15px;
    height:15px;
    border:3px solid #72e7df;
    border-radius:50%;
    background:#0b3458;
    box-shadow:0 0 0 7px rgba(114,231,223,.1)
}
.tracking-map-dot-one {
    left:18%;
    top:30%
}
.tracking-map-dot-two {
    right:16%;
    bottom:28%
}
.tracking-flight-path {
    position:absolute;
    left:21%;
    right:19%;
    top:33%;
    height:39%;
    border-top:1px dashed rgba(114,231,223,.7);
    border-radius:50%;
    transform:rotate(18deg)
}
.tracking-flight-path span {
    position:absolute;
    left:54%;
    top:-9px;
    width:22px;
    height:12px;
    background:#72e7df;
    clip-path:polygon(0 40%,70% 40%,55% 0,70% 0,100% 50%,70% 100%,55% 100%,70% 60%,0 60%)
}
.tracking-hero-card {
    position:absolute;
    right:8%;
    bottom:8%;
    display:grid;
    gap:.15rem;
    width:180px;
    padding:.8rem 1rem;
    border:1px solid rgba(255,255,255,.13);
    border-radius:13px;
    background:rgba(5,24,43,.7);
    backdrop-filter:blur(8px)
}
.tracking-hero-card small {
    color:#9db9c6;
    font-size:.62rem;
    text-transform:uppercase
}
.tracking-hero-card strong {
    color:#72e7df
}
.tracking-hero-card span {
    color:#a9c0cb;
    font-size:.66rem
}
.tracking-result-header {
    padding:1.5rem 1.65rem;
    border:1px solid #d7e4ec;
    border-radius:20px;
    background:#fff;
    box-shadow:0 12px 32px rgba(14,39,69,.065)
}
.tracking-result-kicker {
    color:#6d8294;
    font-size:.67rem;
    font-weight:800;
    letter-spacing:.09em;
    text-transform:uppercase
}
.tracking-result-header h2 {
    margin:.3rem 0 .85rem;
    font-size:clamp(1.45rem,3vw,2.15rem);
    font-weight:780;
    letter-spacing:-.02em
}
.tracking-route-display {
    display:flex;
    align-items:center;
    gap:.65rem;
    color:#324b61
}
.tracking-route-pin {
    display:grid;
    place-items:center;
    width:27px;
    height:27px;
    border-radius:9px;
    background:#e2f6f5;
    color:#087f77;
    font-size:.63rem;
    font-weight:800
}
.tracking-route-pin.is-destination {
    background:#e7eefc;
    color:#315fa6
}
.tracking-status-card {
    display:grid;
    grid-template-columns:1fr 1fr;
    overflow:hidden;
    border-radius:15px;
    background:linear-gradient(125deg,#092641,#0b5262);
    color:#fff
}
.tracking-status-card>div {
    padding:1rem
}
.tracking-status-card>div+div {
    border-left:1px solid rgba(255,255,255,.12)
}
.tracking-status-card span,.tracking-status-card strong {
    display:block
}
.tracking-status-card span {
    color:#9fc1d1;
    font-size:.64rem;
    text-transform:uppercase
}
.tracking-status-card strong {
    margin-top:.3rem;
    font-size:.93rem
}
.tracking-journey-card {
    padding:0;
    overflow:hidden;
    border:1px solid #d8e4ec
}
.tracking-card-heading {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:1.25rem 1.4rem;
    border-bottom:1px solid #e4ebf1
}
.tracking-card-heading>div {
    display:flex;
    align-items:center;
    gap:.7rem
}
.tracking-heading-icon {
    display:grid;
    place-items:center;
    width:36px;
    height:36px;
    border-radius:11px;
    background:#e2f6f5;
    color:#15a99f;
    font-size:.65rem
}
.tracking-card-heading h2 {
    margin:0;
    font-size:1rem
}
.tracking-card-heading p {
    margin:.15rem 0 0;
    color:var(--muted);
    font-size:.7rem
}
.tracking-live-badge {
    display:flex;
    align-items:center;
    gap:.35rem;
    padding:.38rem .6rem;
    border-radius:999px;
    background:#edf8f3;
    color:#157347;
    font-size:.65rem;
    font-weight:700
}
.tracking-live-badge i {
    width:7px;
    height:7px;
    border-radius:50%;
    background:#28a86b;
    box-shadow:0 0 0 4px rgba(40,168,107,.1)
}
.tracking-journey {
    padding:1.3rem 1.4rem
}
.tracking-journey-item {
    position:relative;
    display:grid;
    grid-template-columns:34px 1fr;
    gap:.8rem
}
.tracking-journey-item:not(:last-child) {
    padding-bottom:1rem
}
.tracking-journey-item:not(:last-child):before {
    content:"";
    position:absolute;
    left:16px;
    top:30px;
    bottom:-2px;
    border-left:2px solid #d9e5ea
}
.tracking-journey-marker {
    position:relative;
    z-index:1;
    padding-top:.55rem
}
.tracking-journey-marker span {
    display:grid;
    place-items:center;
    width:32px;
    height:32px;
    border:2px solid #cbd9e1;
    border-radius:11px;
    background:#fff;
    color:#fff;
    font-size:.7rem
}
.tracking-journey-item.is-latest .tracking-journey-marker span {
    border-color:#15c4b7;
    background:#15c4b7;
    box-shadow:0 0 0 5px rgba(21,196,183,.12);
    color:#06243c
}
.tracking-event-card {
    padding:.9rem 1rem;
    border:1px solid #e0e8ee;
    border-radius:13px;
    background:#fbfdff
}
.tracking-journey-item.is-latest .tracking-event-card {
    border-color:#bfe3df;
    background:#f5fcfb
}
.tracking-event-card time {
    color:#718497;
    font-size:.68rem
}
.tracking-event-card p {
    margin:.45rem 0;
    color:#4f6375;
    font-size:.8rem
}
.tracking-event-location {
    color:#718497;
    font-size:.69rem
}
.tracking-event-location span {
    color:#15a99f
}
.tracking-latest-label {
    margin-left:.45rem;
    padding:.22rem .42rem;
    border-radius:999px;
    background:#dff5e8;
    color:#157347;
    font-size:.58rem;
    text-transform:uppercase
}
.tracking-awaiting-scan {
    display:flex;
    align-items:center;
    gap:.9rem;
    padding:2rem;
    color:var(--muted)
}
.tracking-awaiting-scan>span {
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    border-radius:14px;
    background:#e7f6f7;
    color:#087f77
}
.tracking-awaiting-scan p {
    margin:.2rem 0 0;
    font-size:.8rem
}
.tracking-help-card {
    position:relative;
    overflow:hidden;
    border:1px solid #d8e4ec
}
.tracking-side-icon {
    display:grid;
    place-items:center;
    width:37px;
    height:37px;
    margin-bottom:.9rem;
    border-radius:11px;
    background:#e7eefc;
    color:#315fa6;
    font-weight:800
}
.tracking-side-icon.is-teal {
    background:#e2f6f5;
    color:#087f77
}
.tracking-help-card h3 {
    font-size:.95rem
}
.tracking-help-card p {
    color:var(--muted);
    font-size:.78rem
}
.tracking-help-card a {
    color:#0b5f87;
    font-size:.76rem;
    font-weight:700;
    text-decoration:none
}
.tracking-empty-state {
    max-width:650px;
    padding:3rem;
    text-align:center
}
.tracking-empty-icon {
    display:grid;
    place-items:center;
    width:62px;
    height:62px;
    margin:0 auto 1rem;
    border-radius:19px;
    background:#fff0d4;
    color:#8a5a00;
    font-size:1.35rem;
    font-weight:800
}
.tracking-empty-state h2 {
    font-size:1.4rem
}
.tracking-empty-state p {
    color:var(--muted)
}
.tracking-benefits {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1rem
}
.tracking-benefits>div {
    padding:1.35rem;
    border:1px solid #dbe5ed;
    border-radius:16px;
    background:#fff;
    box-shadow:0 8px 24px rgba(14,39,69,.045)
}
.tracking-benefits span {
    color:#15a99f;
    font-size:.68rem;
    font-weight:800
}
.tracking-benefits h2 {
    margin:.6rem 0 .4rem;
    font-size:.95rem
}
.tracking-benefits p {
    margin:0;
    color:var(--muted);
    font-size:.76rem
}
@media(max-width:991px) {
    .guided-shipment-hero {
        padding:1.5rem 1.5rem 0
    }
    .guided-progress,.shipment-lifecycle {
        overflow-x:auto;
        grid-template-columns:repeat(5,minmax(135px,1fr))
    }
    .shipment-lifecycle {
        grid-template-columns:repeat(6,minmax(135px,1fr))
    }
    .shipment-details-hero {
        align-items:flex-start;
        flex-direction:column
    }
    .tracking-benefits {
        grid-template-columns:1fr
    }
    .tracking-status-card {
        max-width:520px
    }
}
@media(max-width:575px) {
    .guided-shipment-hero {
        padding:1.25rem 1.1rem 0;
        border-radius:19px
    }
    .guided-form-section {
        padding:1.2rem
    }
    .guided-form-submit {
        align-items:stretch;
        flex-direction:column;
        padding:1.2rem
    }
    .guided-form-submit .btn {
        width:100%
    }
    .guided-address-card {
        padding:.9rem
    }
    .shipment-details-hero {
        padding:1.25rem;
        border-radius:18px
    }
    .shipment-details-route {
        flex-wrap:wrap
    }
    .shipment-details-route small {
        width:100%;
        margin-left:0
    }
    .shipment-details-actions,.shipment-details-actions .btn {
        width:100%
    }
    .tracking-search-form {
        grid-template-columns:auto 1fr
    }
    .tracking-search-form .btn {
        grid-column:1/-1;
        width:100%
    }
    .tracking-search-symbol {
        grid-row:1
    }
    .tracking-search-hero h1 {
        font-size:2.35rem
    }
    .tracking-status-card {
        grid-template-columns:1fr
    }
    .tracking-status-card>div+div {
        border-top:1px solid rgba(255,255,255,.12);
        border-left:0
    }
    .tracking-card-heading {
        align-items:flex-start;
        flex-direction:column
    }
    .tracking-result-header {
        padding:1.2rem
    }
    .tracking-route-display {
        font-size:.8rem
    }
    .tracking-empty-state {
        padding:2rem 1.2rem
    }
}
/* AdminLTE 4.9.1 application shell */
.gt-admin-body {
    background:var(--bs-tertiary-bg);
    font-size:.92rem
}
.gt-admin-body .app-wrapper {
    min-height:100vh
}
.gt-admin-body .app-main {
    background:radial-gradient(circle at 98% 0,rgba(21,196,183,.055),transparent 25rem),var(--bs-tertiary-bg)
}
.gt-admin-body .app-header {
    min-height:60px;
    border-bottom:1px solid var(--bs-border-color);
    z-index:1040
}
.gt-sidebar-toggle {
    display:grid!important;
    place-items:center;
    width:40px;
    height:40px;
    margin-right:.4rem;
    border-radius:10px!important;
    color:var(--bs-secondary-color)!important;
    font-size:1.15rem
}
.gt-sidebar-toggle:hover {
    background:var(--bs-tertiary-bg);
    color:var(--bs-emphasis-color)!important
}
.gt-header-context {
    color:var(--bs-emphasis-color);
    font-size:.82rem;
    font-weight:720
}
.gt-header-action {
    display:flex!important;
    align-items:center;
    gap:.4rem;
    border:0!important;
    border-radius:10px!important;
    color:var(--bs-secondary-color)!important;
    font-size:.75rem;
    font-weight:650
}
.gt-header-action:hover {
    background:var(--bs-tertiary-bg);
    color:var(--bs-emphasis-color)!important
}
.gt-action-icon {
    display:grid;
    place-items:center;
    width:27px;
    height:27px;
    border-radius:8px;
    background:rgba(21,196,183,.11);
    color:#0d948b;
    font-size:.65rem;
    font-weight:850
}
.gt-user-menu {
    display:flex!important;
    align-items:center;
    gap:.5rem;
    margin-left:.3rem;
    padding:.35rem .55rem!important;
    border:1px solid var(--bs-border-color)!important;
    border-radius:11px!important;
    color:var(--bs-emphasis-color)!important;
    font-size:.73rem
}
.gt-user-avatar {
    display:grid;
    place-items:center;
    flex:0 0 auto;
    width:31px;
    height:31px;
    border-radius:9px;
    background:linear-gradient(135deg,#15c4b7,#49c9ee);
    box-shadow:0 5px 12px rgba(21,196,183,.18);
    color:#06243c;
    font-size:.7rem;
    font-weight:850
}
.gt-user-dropdown {
    min-width:230px;
    padding:.45rem;
    border:1px solid var(--bs-border-color);
    border-radius:12px;
    box-shadow:0 14px 35px rgba(10,35,57,.16)
}
.gt-user-dropdown .dropdown-item {
    border-radius:8px;
    font-size:.78rem
}
.gt-admin-body .app-sidebar {
    --lte-sidebar-width:260px;
    background:linear-gradient(180deg,#071a2f 0%,#0b2d4b 70%,#0b3e51 100%)!important
}
.gt-admin-body .sidebar-brand {
    height:60px;
    padding:0;
    border-bottom:1px solid rgba(255,255,255,.1)
}
.gt-admin-brand {
    display:flex;
    align-items:center;
    gap:.65rem;
    height:60px;
    padding:.55rem .9rem;
    color:#fff;
    text-decoration:none
}
.gt-admin-brand:hover {
    color:#fff
}
.gt-admin-brand .brand-mark {
    flex:0 0 auto;
    width:35px;
    height:35px
}
.gt-admin-brand .brand-text {
    display:block;
    min-width:0;
    font-size:1rem;
    line-height:1
}
.gt-admin-brand .brand-text small {
    display:block;
    margin-top:.25rem;
    color:#8eafbd;
    font-size:.57rem;
    font-weight:500;
    letter-spacing:.08em;
    text-transform:uppercase
}
.gt-sidebar-user {
    display:flex;
    align-items:center;
    gap:.65rem;
    margin:.9rem .75rem;
    padding:.8rem;
    border:1px solid rgba(255,255,255,.08);
    border-radius:12px;
    background:rgba(255,255,255,.045)
}
.gt-sidebar-user>div {
    min-width:0
}
.gt-sidebar-user strong,.gt-sidebar-user small {
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap
}
.gt-sidebar-user strong {
    color:#fff;
    font-size:.69rem
}
.gt-sidebar-user small {
    margin-top:.22rem;
    color:#88a9b7;
    font-size:.6rem
}
.gt-sidebar-user small i {
    display:inline-block;
    width:6px;
    height:6px;
    margin-right:.25rem;
    border-radius:50%;
    background:#32d583;
    box-shadow:0 0 0 3px rgba(50,213,131,.1)
}
.gt-admin-body .sidebar-search .form-control {
    border:1px solid rgba(255,255,255,.1);
    border-radius:9px;
    background:rgba(255,255,255,.07);
    color:#fff;
    font-size:.68rem
}
.gt-admin-body .sidebar-search .form-control::placeholder {
    color:#7e9ba9
}
.gt-admin-body .sidebar-menu {
    padding:0 .55rem
}
.gt-admin-body .sidebar-menu .nav-header {
    padding:1rem .65rem .4rem;
    color:#6f8d9c;
    font-size:.57rem;
    font-weight:800;
    letter-spacing:.1em
}
.gt-admin-body .sidebar-menu .nav-link {
    display:flex;
    align-items:center;
    min-height:42px;
    margin:.12rem 0;
    padding:.52rem .65rem;
    border-radius:10px;
    color:#b9ccd5;
    font-size:.74rem
}
.gt-admin-body .sidebar-menu .nav-link:hover {
    background:rgba(255,255,255,.07);
    color:#fff
}
.gt-admin-body .sidebar-menu .nav-link.active {
    background:linear-gradient(100deg,rgba(21,196,183,.2),rgba(73,201,238,.1));
    box-shadow:inset 3px 0 #15c4b7;
    color:#fff
}
.gt-admin-body .sidebar-menu .nav-link p {
    margin:0
}
.gt-nav-icon {
    display:grid!important;
    place-items:center;
    width:27px!important;
    height:27px;
    margin-right:.55rem!important;
    border-radius:8px;
    background:rgba(255,255,255,.07);
    color:#8fb9c6;
    font-family:Inter,Segoe UI,sans-serif!important;
    font-size:.58rem!important;
    font-style:normal;
    font-weight:850
}
.gt-admin-body .sidebar-menu .nav-link.active .gt-nav-icon {
    background:#15c4b7;
    color:#06243c
}
.gt-sidebar-version {
    margin:1rem .75rem;
    padding:.8rem;
    border-top:1px solid rgba(255,255,255,.08);
    color:#7695a3;
    font-size:.58rem
}
.gt-sidebar-version strong {
    color:#72e7df
}
.gt-sidebar-version span {
    display:block;
    margin-top:.25rem
}
.gt-admin-body .app-footer {
    padding:.75rem 1rem;
    border-top:1px solid var(--bs-border-color);
    background:var(--bs-body-bg);
    color:var(--bs-secondary-color);
    font-size:.69rem
}
.gt-admin-body .app-footer strong {
    color:var(--bs-emphasis-color)
}
.gt-admin-body .panel,.gt-admin-body .feature-card,.gt-admin-body .stat-card {
    background:var(--bs-body-bg);
    color:var(--bs-body-color)
}
.gt-admin-body .table {
    --bs-table-bg:transparent;
    color:var(--bs-body-color)
}
.gt-admin-body .form-control,.gt-admin-body .form-select {
    background-color:var(--bs-body-bg);
    color:var(--bs-body-color)
}
.gt-admin-body .shipment-create-shell,.gt-admin-body .guided-shipment-shell,.gt-admin-body .shipment-details-shell,.gt-admin-body .assistant-shell {
    min-height:auto;
    background:transparent
}
.gt-admin-body .shipment-create-hero,.gt-admin-body .guided-shipment-hero,.gt-admin-body .shipment-details-hero {
    box-shadow:0 16px 38px rgba(6,31,54,.13)
}
html[data-bs-theme="dark"] .gt-admin-body .panel,html[data-bs-theme="dark"] .gt-admin-body .stat-card,html[data-bs-theme="dark"] .gt-admin-body .feature-card,html[data-bs-theme="dark"] .gt-admin-body .shipment-section,html[data-bs-theme="dark"] .gt-admin-body .guided-form-panel,html[data-bs-theme="dark"] .gt-admin-body .shipment-lifecycle {
    border-color:var(--bs-border-color)
}
html[data-bs-theme="dark"] .gt-admin-body .shipment-section-heading h2,html[data-bs-theme="dark"] .gt-admin-body .guided-form-section h2 {
    color:var(--bs-emphasis-color)
}
html[data-bs-theme="dark"] .gt-admin-body .shipment-collection-card,html[data-bs-theme="dark"] .gt-admin-body .guided-address-card {
    border-color:var(--bs-border-color);
    background:var(--bs-tertiary-bg)
}
html[data-bs-theme="dark"] .gt-admin-body .shipment-allocation {
    border-color:rgba(21,196,183,.25);
    background:rgba(21,196,183,.06)
}
@media(max-width:991px) {
    .gt-header-context {
        display:none
    }
    .gt-admin-body .app-sidebar {
        --lte-sidebar-width:255px
    }
    .gt-admin-body .app-main {
        min-width:0
    }
}
@media(max-width:575px) {
    .gt-admin-body .app-header .container-fluid {
        padding-inline:.5rem
    }
    .gt-user-menu {
        border:0!important
    }
    .gt-user-menu .dropdown-toggle::after {
        display:none
    }
    .gt-admin-body .app-footer .float-end {
        display:none!important
    }
}
.admin-page-heading {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:1rem
}
.admin-page-heading h1 {
    margin:.2rem 0 .25rem;
    font-size:1.75rem;
    font-weight:760;
    letter-spacing:-.02em
}
.admin-page-heading p {
    margin:0;
    color:var(--bs-secondary-color);
    font-size:.82rem
}
.gt-admin-body .admin-page-heading h1 {
    color:var(--bs-emphasis-color)
}
.gt-admin-body .eyebrow.text-dark {
    color:#15c4b7!important
}
.adminlte-version-pill {
    padding:.45rem .7rem;
    border:1px solid var(--bs-border-color);
    border-radius:999px;
    background:var(--bs-body-bg);
    color:var(--bs-secondary-color);
    font-size:.67rem;
    font-weight:700
}
.gt-admin-body .small-box {
    min-height:125px;
    overflow:hidden;
    border:0;
    border-radius:14px;
    box-shadow:0 9px 25px rgba(14,39,69,.1)
}
.gt-admin-body .small-box .inner {
    padding:1.1rem
}
.gt-admin-body .small-box h3 {
    margin:0;
    font-size:2rem;
    font-weight:780
}
.gt-admin-body .small-box p {
    margin:.2rem 0 0;
    font-size:.76rem;
    font-weight:650
}
.gt-admin-body .small-box-icon {
    display:grid;
    place-items:center;
    right:1rem;
    top:1rem;
    width:54px;
    height:54px;
    border-radius:15px;
    background:rgba(255,255,255,.14);
    font-size:1rem;
    font-weight:850;
    opacity:1
}
.gt-admin-body .card {
    border-radius:15px
}
.gt-admin-body .card-header {
    min-height:66px;
    padding:1rem 1.15rem;
    background:var(--bs-body-bg);
    border-bottom-color:var(--bs-border-color)
}
.gt-admin-body .card-title {
    margin:0;
    font-size:.92rem
}
.route-table-pill {
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    padding:.3rem .55rem;
    border-radius:9px;
    background:var(--bs-tertiary-bg);
    font-size:.72rem;
    font-weight:700
}
.route-table-pill i {
    color:#15a99f;
    font-style:normal
}
.gt-admin-body .table-hover>tbody>tr:hover>* {
    --bs-table-bg-state:rgba(21,196,183,.045)
}
@media(max-width:575px) {
    .admin-page-heading {
        align-items:flex-start;
        flex-direction:column
    }
    .admin-page-heading .btn {
        width:100%
    }
    .adminlte-version-pill {
        display:none
    }
}
/* CMS blog authoring and public insights */
.blog-editor {
    font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    font-size:.82rem;
    line-height:1.7
}
.blog-version-card {
    top:78px
}
.blog-version {
    display:grid;
    gap:.15rem;
    padding:.75rem 0;
    border-bottom:1px solid var(--bs-border-color);
    font-size:.7rem
}
.blog-version:last-child {
    border-bottom:0
}
.blog-version span {
    color:var(--bs-secondary-color);
    font-size:.63rem
}
.blog-hero {
    position:relative;
    overflow:hidden;
    background:radial-gradient(circle at 85% 10%,rgba(73,201,238,.26),transparent 25rem),linear-gradient(120deg,#06182b,#0b3c61 65%,#0a676b);
    color:#fff
}
.blog-hero:after {
    content:"";
    position:absolute;
    right:-8rem;
    bottom:-14rem;
    width:30rem;
    height:30rem;
    border:1px solid rgba(255,255,255,.1);
    border-radius:50%;
    box-shadow:0 0 0 4rem rgba(255,255,255,.025),0 0 0 8rem rgba(255,255,255,.015)
}
.blog-hero .container {
    position:relative;
    z-index:1
}
.blog-hero .eyebrow {
    color:#72e7df
}
.blog-hero p {
    max-width:720px;
    color:#c7dce6
}
.blog-search {
    padding:.7rem;
    border:1px solid rgba(255,255,255,.15);
    border-radius:14px;
    background:rgba(5,24,43,.35);
    backdrop-filter:blur(8px)
}
.blog-search .form-control {
    border:0
}
.blog-categories {
    display:flex;
    flex-wrap:wrap;
    gap:.5rem
}
.blog-categories a {
    padding:.48rem .8rem;
    border:1px solid #d7e2ea;
    border-radius:999px;
    background:#fff;
    color:#587082;
    font-size:.72rem;
    font-weight:700;
    text-decoration:none
}
.blog-categories a:hover,.blog-categories a.active {
    border-color:#15c4b7;
    background:#e6f8f6;
    color:#087f77
}
.blog-card {
    overflow:hidden;
    border:1px solid #dce6ed;
    border-radius:18px;
    background:#fff;
    box-shadow:0 10px 28px rgba(14,39,69,.07);
    transition:transform .2s ease,box-shadow .2s ease
}
.blog-card:hover {
    transform:translateY(-3px);
    box-shadow:0 17px 36px rgba(14,39,69,.12)
}
.blog-card-image {
    display:block;
    height:210px;
    overflow:hidden;
    background:#dcebf1
}
.blog-card-image img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .35s ease
}
.blog-card:hover .blog-card-image img {
    transform:scale(1.03)
}
.blog-card-placeholder {
    display:grid;
    place-items:center;
    background:radial-gradient(circle at 70% 25%,rgba(114,231,223,.35),transparent 9rem),linear-gradient(135deg,#0b3151,#0a6870);
    text-decoration:none
}
.blog-card-placeholder span {
    display:grid;
    place-items:center;
    width:62px;
    height:62px;
    border:1px solid rgba(255,255,255,.3);
    border-radius:20px;
    background:rgba(255,255,255,.1);
    color:#72e7df;
    font-size:1.7rem;
    font-weight:850
}
.blog-card-body {
    display:flex;
    flex-direction:column;
    min-height:255px;
    padding:1.25rem
}
.blog-category {
    margin-bottom:.65rem;
    color:#0b968d;
    font-size:.65rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase
}
.blog-card h2 {
    line-height:1.25
}
.blog-card h2 a {
    color:#13344d;
    text-decoration:none
}
.blog-card p {
    color:#6e8190;
    font-size:.82rem;
    line-height:1.65
}
.blog-meta {
    display:flex;
    flex-wrap:wrap;
    gap:.8rem;
    color:#8193a1;
    font-size:.68rem
}
.blog-meta span+span:before {
    content:"•";
    margin-right:.8rem
}
.blog-read-more {
    margin-top:auto;
    padding-top:1rem;
    color:#087f77;
    font-size:.75rem;
    font-weight:800;
    text-decoration:none
}
.blog-empty {
    padding:5rem 1rem;
    border:1px dashed #cedce6;
    border-radius:20px;
    background:#f8fbfd
}
.blog-article-header {
    background:linear-gradient(180deg,#f2fafb,#fff)
}
.blog-article-header h1 {
    max-width:900px;
    color:#102f49;
    letter-spacing:-.035em
}
.blog-article-header .lead {
    max-width:760px;
    color:#647d8f
}
.blog-feature-image {
    margin-top:1.5rem
}
.blog-feature-image img {
    display:block;
    width:100%;
    max-height:560px;
    object-fit:cover;
    border-radius:22px;
    box-shadow:0 18px 50px rgba(14,39,69,.14)
}
.blog-article-body {
    color:#304b5f;
    font-size:1.02rem;
    line-height:1.9;
    white-space:pre-line
}
.blog-tags {
    display:flex;
    flex-wrap:wrap;
    gap:.5rem
}
.blog-tags span {
    padding:.4rem .65rem;
    border-radius:999px;
    background:#eaf7f6;
    color:#087f77;
    font-size:.68rem;
    font-weight:700
}
.blog-article-back {
    margin-top:3rem;
    padding-top:1.5rem;
    border-top:1px solid #dce5eb
}
.blog-article-back a {
    color:#087f77;
    font-size:.78rem;
    font-weight:700;
    text-decoration:none
}
html[data-bs-theme="dark"] .gt-admin-body .blog-version {
    border-color:var(--bs-border-color)
}
@media(max-width:767px) {
    .blog-hero .display-4,.blog-article-header .display-4 {
        font-size:2.25rem
    }
    .blog-card-image {
        height:190px
    }
    .blog-version-card {
        position:static!important
    }
}
/* Administrator configuration center */
.config-shell {
    max-width:1800px
}
.config-nav {
    display:flex;
    gap:.35rem;
    overflow-x:auto;
    padding:.45rem;
    border:1px solid var(--bs-border-color);
    border-radius:14px;
    background:var(--bs-body-bg);
    box-shadow:0 5px 18px rgba(14,39,69,.04);
    scrollbar-width:thin
}
.config-nav a {
    flex:0 0 auto;
    padding:.58rem .8rem;
    border-radius:9px;
    color:var(--bs-secondary-color);
    font-size:.7rem;
    font-weight:720;
    text-decoration:none
}
.config-nav a:hover {
    background:var(--bs-tertiary-bg);
    color:var(--bs-emphasis-color)
}
.config-nav a.active {
    background:linear-gradient(120deg,#15c4b7,#49c9ee);
    color:#06243c;
    box-shadow:0 5px 13px rgba(21,196,183,.18)
}
.config-tile {
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:.8rem;
    min-height:112px;
    padding:1rem;
    border:1px solid var(--bs-border-color);
    border-radius:15px;
    background:var(--bs-body-bg);
    box-shadow:0 8px 24px rgba(14,39,69,.055);
    color:var(--bs-body-color);
    text-decoration:none;
    transition:transform .18s ease,box-shadow .18s ease
}
.config-tile:hover {
    transform:translateY(-2px);
    box-shadow:0 14px 30px rgba(14,39,69,.1);
    color:var(--bs-body-color)
}
.config-icon {
    display:grid;
    place-items:center;
    width:43px;
    height:43px;
    border-radius:12px;
    background:rgba(21,196,183,.12);
    color:#0d948b;
    font-size:.78rem;
    font-weight:850
}
.config-tile strong,.config-tile small {
    display:block
}
.config-tile strong {
    font-size:.8rem
}
.config-tile small {
    margin-top:.25rem;
    color:var(--bs-secondary-color);
    font-size:.63rem
}
.config-tile b {
    color:#0d948b;
    font-size:.75rem
}
.config-editor {
    top:78px
}
.config-shell .form-label {
    font-size:.72rem;
    font-weight:680
}
.config-shell .form-text {
    font-size:.62rem
}
.config-shell .table th {
    white-space:nowrap;
    font-size:.67rem
}
.config-shell .table td {
    font-size:.72rem
}
.config-order {
    display:grid;
    place-items:center;
    width:31px;
    height:31px;
    border-radius:9px;
    background:var(--bs-tertiary-bg);
    font-size:.68rem;
    font-weight:800
}
.config-user-assignment {
    display:grid;
    grid-template-columns:minmax(145px,1fr) minmax(175px,1.35fr) auto;
    gap:.4rem;
    min-width:440px
}
.config-shell .opacity-50 {
    filter:grayscale(.4)
}
.settings-logo-preview {
    display:grid;
    place-items:center;
    min-height:140px;
    padding:1rem;
    border:1px dashed var(--bs-border-color);
    border-radius:14px;
    background:var(--bs-tertiary-bg)
}
.settings-logo-preview img {
    max-width:100%;
    max-height:110px;
    object-fit:contain
}
.settings-color-swatch {
    min-width:46px;
    border-color:var(--bs-border-color)
}
.min-w-0 {
    min-width:0
}
@media(max-width:1199px) {
    .config-editor {
        position:static!important
    }
    .config-user-assignment {
        min-width:390px
    }
}
@media(max-width:575px) {
    .config-nav {
        margin-inline:-.25rem
    }
    .config-tile {
        min-height:96px
    }
    .config-user-assignment {
        grid-template-columns:1fr;
        min-width:230px
    }
    .config-user-assignment .btn {
        width:100%
    }
}
/* Shipment Excel import */
.shipment-import-page {
    max-width:1800px
}
.import-step {
    display:grid;
    place-items:center;
    flex:0 0 auto;
    width:40px;
    height:40px;
    border-radius:12px;
    background:linear-gradient(135deg,#0b5f87,#15a99f);
    box-shadow:0 7px 16px rgba(11,95,135,.18);
    color:#fff;
    font-size:.82rem;
    font-weight:850
}
.import-dropzone {
    display:grid;
    grid-template-columns:auto 1fr;
    gap:1rem;
    align-items:center;
    padding:1.25rem;
    border:1.5px dashed #9fc5d3;
    border-radius:16px;
    background:linear-gradient(135deg,#f5fbfc,#fbfdff);
    cursor:pointer;
    transition:border-color .18s,background .18s
}
.import-dropzone:hover {
    border-color:#15a99f;
    background:#f1fbfa
}
.import-dropzone>span strong,.import-dropzone>span small {
    display:block
}
.import-dropzone>span strong {
    color:#17374f;
    font-size:.88rem
}
.import-dropzone>span small {
    margin-top:.25rem;
    color:var(--bs-secondary-color);
    font-size:.7rem
}
.import-dropzone .form-control {
    grid-column:1/-1
}
.import-file-icon {
    display:grid;
    place-items:center;
    width:52px;
    height:52px;
    border-radius:14px;
    background:#dff5e8;
    color:#157347;
    font-size:.65rem;
    font-weight:850
}
.import-stat {
    display:grid;
    gap:.12rem;
    padding:.85rem 1rem;
    border:1px solid var(--bs-border-color);
    border-radius:13px;
    background:var(--bs-tertiary-bg)
}
.import-stat strong {
    font-size:1.35rem;
    line-height:1
}
.import-stat span {
    color:var(--bs-secondary-color);
    font-size:.65rem;
    font-weight:700;
    text-transform:uppercase
}
.import-stat.success {
    border-color:#b9e0c9;
    background:#edf8f3
}
.import-stat.success strong {
    color:#157347
}
.import-errors {
    max-height:350px
}
.import-guide {
    background:radial-gradient(circle at 100% 0,rgba(73,201,238,.18),transparent 12rem),linear-gradient(140deg,#071c32,#0b3b5a);
    color:#fff
}
.import-guide .text-muted {
    color:#aac2cc!important
}
.import-link-row {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:.85rem;
    border:1px solid rgba(255,255,255,.12);
    border-radius:12px;
    background:rgba(255,255,255,.06);
    font-size:.7rem
}
.sheet-pill {
    padding:.35rem .55rem;
    border-radius:8px;
    background:#15c4b7;
    color:#06243c;
    font-weight:800
}
.import-link-line {
    height:20px;
    margin-left:1.45rem;
    border-left:1px dashed #72e7df
}
.import-checklist {
    display:grid;
    gap:.8rem;
    padding:0;
    list-style:none
}
.import-checklist li {
    position:relative;
    padding-left:1.6rem;
    color:var(--bs-secondary-color);
    font-size:.75rem;
    line-height:1.5
}
.import-checklist li:before {
    content:"✓";
    position:absolute;
    left:0;
    top:0;
    display:grid;
    place-items:center;
    width:18px;
    height:18px;
    border-radius:6px;
    background:#dff5e8;
    color:#157347;
    font-size:.65rem;
    font-weight:850
}
html[data-bs-theme="dark"] .import-dropzone {
    border-color:var(--bs-border-color);
    background:var(--bs-tertiary-bg)
}
html[data-bs-theme="dark"] .import-dropzone>span strong {
    color:var(--bs-emphasis-color)
}
@media(max-width:575px) {
    .import-dropzone {
        grid-template-columns:1fr
    }
    .import-file-icon {
        width:45px;
        height:45px
    }
    .shipment-import-page .panel {
        padding:1rem!important
    }
}
/* Conversion-focused public website */
.gt-public-body {
    background:#fff;
    color:#10253f
}
.gt-public-body #main-content {
    overflow:hidden
}
.public-contact-bar {
    padding:.46rem 0;
    background:#071a2f;
    color:#bed2dd;
    font-size:.65rem;
    font-weight:600;
    letter-spacing:.015em
}
.public-contact-bar b {
    margin-right:.35rem;
    color:#30d59a
}
.public-contact-bar a {
    color:#bed2dd;
    text-decoration:none
}
.public-contact-bar a:hover {
    color:#fff
}
.gt-public-nav {
    min-height:76px;
    padding:.55rem 0;
    border-bottom:1px solid #e6ebf0;
    background:rgba(255,255,255,.97);
    box-shadow:0 5px 18px rgba(10,35,57,.045);
    backdrop-filter:blur(12px);
    z-index:1030
}
.public-brand {
    display:flex;
    align-items:center;
    gap:.58rem;
    color:#0d2940!important;
    text-decoration:none
}
.public-brand>.brand-mark {
    width:40px;
    height:40px;
    border-radius:12px;
    font-size:1.05rem;
    font-weight:850
}
.public-brand>span:last-child {
    font-size:1.05rem;
    line-height:.95
}
.public-brand strong {
    font-weight:850
}
.public-brand small {
    display:block;
    margin-top:.3rem;
    color:#7b8e9c;
    font-size:.52rem;
    font-weight:650;
    letter-spacing:.11em;
    text-transform:uppercase
}
.gt-public-nav .navbar-nav {
    gap:.15rem
}
.gt-public-nav .nav-link {
    padding:.65rem .75rem!important;
    border-radius:9px;
    color:#334d60;
    font-size:.72rem;
    font-weight:700
}
.gt-public-nav .nav-link:hover {
    background:#eef8f7;
    color:#087f77
}
.public-nav-actions .btn {
    padding:.58rem .78rem;
    border-radius:10px;
    font-size:.69rem;
    font-weight:750
}
.public-btn-primary {
    border:1px solid #15c4b7!important;
    background:linear-gradient(120deg,#15c4b7,#49c9ee)!important;
    box-shadow:0 8px 18px rgba(21,196,183,.2);
    color:#06243c!important;
    font-weight:780!important
}
.public-btn-primary:hover {
    transform:translateY(-1px);
    box-shadow:0 11px 22px rgba(21,196,183,.27)
}
.public-btn-ghost {
    border:1px solid #d8e2e9!important;
    color:#27495f!important
}
.public-signin,.public-signout {
    color:#425b6d!important;
    font-size:.69rem!important;
    font-weight:720!important
}
.public-signout {
    padding-inline:.25rem!important
}
.public-home-hero {
    position:relative;
    min-height:665px;
    overflow:hidden;
    background:radial-gradient(circle at 50% 120%,rgba(27,163,157,.42),transparent 42%),radial-gradient(circle at 85% 15%,rgba(73,201,238,.16),transparent 24rem),linear-gradient(118deg,#07172b 0%,#102d50 48%,#103d55 100%);
    color:#fff
}
.public-home-hero:before {
    content:"";
    position:absolute;
    inset:0;
    background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
    background-size:70px 70px;
    mask-image:linear-gradient(to bottom,rgba(0,0,0,.75),transparent 85%)
}
.public-home-hero .container-xl {
    z-index:2
}
.public-map-grid {
    position:absolute;
    inset:0;
    opacity:.65
}
.public-map-grid:before,.public-map-grid:after {
    content:"";
    position:absolute;
    border:1px solid rgba(114,231,223,.12);
    border-radius:50%
}
.public-map-grid:before {
    width:760px;
    height:400px;
    left:-130px;
    top:100px;
    transform:rotate(-7deg)
}
.public-map-grid:after {
    width:650px;
    height:330px;
    right:-100px;
    top:180px;
    transform:rotate(12deg)
}
.map-point {
    position:absolute;
    z-index:2;
    display:grid;
    place-items:center;
    width:37px;
    height:37px;
    border:1px solid #72e7df;
    border-radius:50%;
    background:#0c2f4a;
    box-shadow:0 0 0 8px rgba(114,231,223,.08);
    color:#72e7df;
    font-size:.55rem;
    font-weight:850
}
.point-one {
    left:9%;
    top:47%
}
.point-two {
    right:8%;
    top:38%
}
.point-three {
    right:20%;
    top:14%
}
.map-route {
    position:absolute;
    height:170px;
    border-top:1px dashed rgba(114,231,223,.5);
    border-radius:50%
}
.route-one {
    left:11%;
    right:10%;
    top:42%;
    transform:rotate(-5deg)
}
.route-two {
    left:20%;
    right:21%;
    top:29%;
    transform:rotate(-15deg)
}
.public-hero-copy {
    max-width:920px
}
.public-kicker {
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    color:#72e7df;
    font-size:.67rem;
    font-weight:800;
    letter-spacing:.13em;
    text-transform:uppercase
}
.public-kicker>span {
    width:7px;
    height:7px;
    border-radius:50%;
    background:#31da9f;
    box-shadow:0 0 0 5px rgba(49,218,159,.1)
}
.public-kicker.dark {
    color:#0b8d85
}
.public-hero-copy h1 {
    max-width:900px;
    margin:.9rem auto .8rem;
    font-size:clamp(2.65rem,5.5vw,5rem);
    font-weight:820;
    line-height:1.01;
    letter-spacing:-.048em
}
.public-hero-copy p {
    max-width:760px;
    margin:0 auto;
    color:#bfd1dd;
    font-size:1.02rem;
    line-height:1.7
}
.public-action-card {
    position:relative;
    max-width:1080px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:22px;
    background:rgba(255,255,255,.98);
    box-shadow:0 22px 60px rgba(0,0,0,.25);
    color:#10253f
}
.public-action-tabs {
    position:absolute;
    left:50%;
    top:0;
    display:flex;
    gap:.25rem;
    padding:.35rem;
    border:1px solid rgba(255,255,255,.14);
    border-radius:999px;
    background:#102c49;
    transform:translate(-50%,-50%)
}
.public-action-tabs button {
    display:flex;
    align-items:center;
    gap:.35rem;
    padding:.52rem .82rem;
    border:0;
    border-radius:999px;
    background:transparent;
    color:#9db6c4;
    font-size:.68rem;
    font-weight:760;
    white-space:nowrap
}
.public-action-tabs button span {
    color:#49c9ee
}
.public-action-tabs button.active {
    background:#fff;
    box-shadow:0 5px 14px rgba(0,0,0,.17);
    color:#13334d
}
.public-action-tabs button.active span {
    color:#0b968d
}
.public-action-panel {
    display:none;
    grid-template-columns:repeat(3,minmax(0,1fr)) auto;
    align-items:center;
    padding:2.25rem 1.2rem 1.2rem
}
.public-action-panel.active {
    display:grid
}
.action-field {
    display:flex;
    align-items:center;
    gap:.7rem;
    min-height:58px;
    padding:.4rem 1rem;
    border-right:1px solid #dfe7ed
}
.action-field-wide {
    grid-column:span 2
}
.action-symbol {
    display:grid;
    place-items:center;
    flex:0 0 auto;
    width:35px;
    height:35px;
    border-radius:10px;
    background:#e5f7f4;
    color:#087f77;
    font-size:.56rem;
    font-weight:850
}
.action-field small,.action-field strong,.action-field label {
    display:block
}
.action-field small,.action-field label {
    margin-bottom:.16rem;
    color:#78909e;
    font-size:.58rem;
    font-weight:750;
    letter-spacing:.06em;
    text-transform:uppercase
}
.action-field strong {
    color:#17364d;
    font-size:.72rem
}
.action-field>div {
    width:100%;
    min-width:0
}
.action-field input {
    width:100%;
    padding:.2rem 0;
    border:0;
    outline:0;
    background:transparent;
    color:#17364d;
    font-size:.85rem;
    font-weight:700
}
.action-field input::placeholder {
    color:#9babb5;
    font-weight:500
}
.public-action-submit {
    align-self:stretch;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.7rem;
    min-width:180px;
    padding:.8rem 1.05rem;
    border:0;
    border-radius:13px;
    background:linear-gradient(125deg,#15c4b7,#49c9ee);
    box-shadow:0 9px 20px rgba(21,196,183,.24);
    color:#06243c;
    text-decoration:none;
    font-size:.73rem;
    font-weight:820
}
.public-action-submit:hover {
    color:#06243c;
    transform:translateY(-1px)
}
.public-action-submit b {
    font-size:1rem
}
.public-proof-row {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:1.5rem;
    margin-top:1.2rem;
    color:#b8ccd7;
    font-size:.66rem
}
.public-proof-row i {
    display:inline-grid;
    place-items:center;
    width:16px;
    height:16px;
    margin-right:.25rem;
    border-radius:50%;
    background:#2dcf96;
    color:#072237;
    font-size:.56rem;
    font-style:normal;
    font-weight:900
}
.public-hero-stats {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    max-width:900px;
    margin:1.2rem auto 0;
    border:1px solid rgba(255,255,255,.1);
    border-radius:15px;
    background:rgba(255,255,255,.055);
    backdrop-filter:blur(8px)
}
.public-hero-stats>div {
    padding:.85rem 1rem;
    text-align:center
}
.public-hero-stats>div+div {
    border-left:1px solid rgba(255,255,255,.1)
}
.public-hero-stats strong,.public-hero-stats span {
    display:block
}
.public-hero-stats strong {
    font-size:1.2rem
}
.public-hero-stats span {
    margin-top:.15rem;
    color:#91adbc;
    font-size:.54rem;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase
}
.public-capability-strip {
    padding:1.05rem 0;
    border-bottom:1px solid #e3eaf0;
    background:#fff
}
.public-capability-strip .container-xl {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:2rem
}
.public-capability-strip span {
    color:#8193a0;
    font-size:.62rem;
    font-weight:760;
    letter-spacing:.08em;
    text-transform:uppercase
}
.public-capability-strip div div {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:2rem
}
.public-capability-strip b {
    color:#456173;
    font-size:.65rem;
    letter-spacing:.14em
}
.public-section {
    padding-top:6rem;
    padding-bottom:6rem
}
.public-section-heading {
    max-width:760px
}
.public-section-heading h2,.public-control-section h2 {
    margin:.7rem 0 .8rem;
    color:#102f49;
    font-size:clamp(2rem,4vw,3.2rem);
    font-weight:810;
    line-height:1.08;
    letter-spacing:-.035em
}
.public-section-heading p,.public-control-section p {
    color:#647b8c;
    font-size:.9rem;
    line-height:1.75
}
.public-service-card {
    position:relative;
    display:block;
    height:100%;
    padding:1.45rem;
    border:1px solid #dde7ed;
    border-radius:20px;
    background:#fff;
    box-shadow:0 10px 30px rgba(14,39,69,.055);
    color:#18364e;
    text-decoration:none;
    transition:transform .2s,box-shadow .2s,border-color .2s
}
.public-service-card:hover {
    transform:translateY(-5px);
    border-color:#9eddd8;
    box-shadow:0 18px 42px rgba(14,39,69,.11);
    color:#18364e
}
.public-service-card .service-icon {
    display:grid;
    place-items:center;
    width:48px;
    height:48px;
    margin-bottom:1.4rem;
    border-radius:14px;
    background:linear-gradient(135deg,#e3f7f5,#e8f4fa);
    color:#087f77;
    font-size:.9rem;
    font-weight:850
}
.public-service-card>small {
    position:absolute;
    right:1.35rem;
    top:1.5rem;
    color:#afbdc6;
    font-size:.62rem;
    font-weight:800
}
.public-service-card h3 {
    font-size:1rem;
    font-weight:780
}
.public-service-card p {
    min-height:86px;
    color:#6b8190;
    font-size:.75rem;
    line-height:1.7
}
.public-service-card b {
    color:#087f77;
    font-size:.68rem
}
.public-control-section {
    padding:6rem 0;
    background:radial-gradient(circle at 90% 10%,rgba(73,201,238,.12),transparent 25rem),linear-gradient(180deg,#f2f8fb,#fff)
}
.public-feature-list {
    display:grid;
    gap:1rem;
    margin:1.5rem 0;
    padding:0;
    list-style:none
}
.public-feature-list li {
    display:flex;
    align-items:flex-start;
    gap:.75rem
}
.public-feature-list li>span {
    display:grid;
    place-items:center;
    flex:0 0 auto;
    width:26px;
    height:26px;
    border-radius:8px;
    background:#dff5e8;
    color:#157347;
    font-size:.7rem;
    font-weight:850
}
.public-feature-list strong,.public-feature-list small {
    display:block
}
.public-feature-list strong {
    font-size:.76rem
}
.public-feature-list small {
    margin-top:.18rem;
    color:#738896;
    font-size:.67rem
}
.public-btn-dark {
    padding:.72rem 1rem;
    border-radius:11px;
    background:#0b3554;
    color:#fff;
    font-size:.71rem;
    font-weight:760
}
.public-btn-dark:hover {
    background:#071f34;
    color:#fff
}
.public-dashboard-visual {
    overflow:hidden;
    border:1px solid #c9d9e3;
    border-radius:22px;
    background:#fff;
    box-shadow:0 28px 70px rgba(14,39,69,.17);
    transform:perspective(1200px) rotateY(-3deg)
}
.visual-toolbar {
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    padding:.8rem 1rem;
    background:#09243d;
    color:#fff;
    font-size:.63rem
}
.visual-toolbar>span {
    display:flex;
    gap:.3rem
}
.visual-toolbar i {
    width:7px;
    height:7px;
    border-radius:50%;
    background:#ff8069
}
.visual-toolbar i:nth-child(2) {
    background:#ffd166
}
.visual-toolbar i:nth-child(3) {
    background:#2dd49a
}
.visual-toolbar small {
    justify-self:end;
    padding:.25rem .45rem;
    border-radius:999px;
    background:rgba(45,212,154,.14);
    color:#64e2b3
}
.visual-content {
    display:grid;
    grid-template-columns:125px 1fr;
    min-height:390px
}
.visual-content aside {
    display:grid;
    align-content:start;
    gap:.3rem;
    padding:1rem .7rem;
    background:#0d304c
}
.visual-content aside span {
    padding:.55rem .6rem;
    border-radius:8px;
    color:#8eacbd;
    font-size:.6rem
}
.visual-content aside span.active {
    background:rgba(21,196,183,.17);
    color:#72e7df
}
.visual-content main {
    padding:1rem;
    background:#f5f8fb
}
.visual-summary {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:.6rem
}
.visual-summary div {
    display:grid;
    padding:.7rem;
    border:1px solid #dde7ed;
    border-radius:10px;
    background:#fff
}
.visual-summary small {
    color:#7e909c;
    font-size:.51rem
}
.visual-summary strong {
    margin:.15rem 0;
    font-size:1.1rem
}
.visual-summary em {
    color:#1a9b79;
    font-size:.48rem;
    font-style:normal
}
.visual-route-card {
    margin-top:.7rem;
    padding:1rem;
    border-radius:13px;
    background:linear-gradient(125deg,#0b304e,#0b6070);
    color:#fff
}
.visual-route-card header,.visual-route-card footer {
    display:flex;
    align-items:center;
    justify-content:space-between
}
.visual-route-card header {
    font-size:.55rem
}
.visual-route-card header b {
    padding:.25rem .4rem;
    border-radius:999px;
    background:rgba(114,231,223,.16);
    color:#72e7df
}
.visual-route {
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:.8rem;
    padding:1.4rem 0
}
.visual-route strong {
    font-size:1rem
}
.visual-route>i {
    position:relative;
    border-top:1px dashed #72e7df
}
.visual-route>i:after {
    content:"";
    position:absolute;
    right:0;
    top:-4px;
    width:8px;
    height:8px;
    border-top:2px solid #72e7df;
    border-right:2px solid #72e7df;
    transform:rotate(45deg)
}
.visual-route footer {
    color:#9eb9c6;
    font-size:.48rem
}
.visual-rows {
    display:grid;
    gap:.45rem;
    margin-top:.7rem
}
.visual-rows span {
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:.45rem;
    padding:.55rem .65rem;
    border:1px solid #e0e7ec;
    border-radius:9px;
    background:#fff;
    color:#526b7c;
    font-size:.53rem
}
.visual-rows i {
    width:8px;
    height:8px;
    border:2px solid #22ad83;
    border-radius:50%
}
.visual-rows b {
    color:#8ba0ad;
    font-weight:600
}
.public-process-grid {
    display:grid;
    grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;
    align-items:center;
    gap:1rem
}
.public-process-grid>div {
    min-height:185px;
    padding:1.35rem;
    border:1px solid #dce7ed;
    border-radius:18px;
    background:#fff
}
.public-process-grid>div>span {
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    border-radius:12px;
    background:#e4f7f5;
    color:#087f77;
    font-size:.7rem;
    font-weight:850
}
.public-process-grid h3 {
    margin:.9rem 0 .4rem;
    font-size:.93rem
}
.public-process-grid p {
    margin:0;
    color:#6c8190;
    font-size:.7rem;
    line-height:1.65
}
.public-process-grid>i {
    color:#75a5af;
    font-style:normal
}
.public-final-cta {
    position:relative;
    overflow:hidden;
    padding:4rem 0;
    background:radial-gradient(circle at 80% 0,rgba(73,201,238,.25),transparent 24rem),linear-gradient(120deg,#071a2f,#0a4a61);
    color:#fff
}
.public-final-cta:after {
    content:"";
    position:absolute;
    right:-10rem;
    bottom:-18rem;
    width:34rem;
    height:34rem;
    border:1px solid rgba(255,255,255,.1);
    border-radius:50%;
    box-shadow:0 0 0 4rem rgba(255,255,255,.02),0 0 0 8rem rgba(255,255,255,.015)
}
.public-final-cta>.container-xl {
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:2rem
}
.public-final-cta h2 {
    max-width:720px;
    margin:.6rem 0 0;
    font-size:clamp(1.8rem,4vw,3rem);
    font-weight:800;
    letter-spacing:-.035em
}
.public-final-cta .container-xl>div:last-child {
    display:flex;
    gap:.65rem
}
.public-btn-light,.public-btn-outline {
    padding:.7rem 1rem;
    border-radius:11px;
    font-size:.7rem;
    font-weight:780
}
.public-btn-light {
    background:#fff;
    color:#0c3854
}
.public-btn-outline {
    border:1px solid rgba(255,255,255,.3);
    color:#fff
}
.public-btn-outline:hover {
    background:rgba(255,255,255,.08);
    color:#fff
}
.public-footer {
    margin:0!important;
    background:#06182b
}
.public-footer .public-footer-brand {
    color:#fff!important
}
.public-footer p {
    max-width:430px;
    color:#829fab;
    font-size:.7rem;
    line-height:1.7
}
.public-footer h2 {
    margin-bottom:.8rem;
    color:#fff;
    font-size:.7rem;
    font-weight:780;
    text-transform:uppercase
}
.public-footer .col-6>a:not(.btn),.public-footer .col-lg-2>a {
    display:block;
    margin:.55rem 0;
    color:#91adb9;
    font-size:.66rem;
    text-decoration:none
}
.public-footer a:hover {
    color:#72e7df
}
.public-footer-status {
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    padding:.38rem .55rem;
    border:1px solid rgba(255,255,255,.09);
    border-radius:999px;
    color:#8db0b8;
    font-size:.58rem
}
.public-footer-status i {
    width:7px;
    height:7px;
    border-radius:50%;
    background:#30d59a;
    box-shadow:0 0 0 4px rgba(48,213,154,.1)
}
.public-footer-bottom {
    display:flex;
    justify-content:space-between;
    gap:2rem;
    margin-top:2.5rem;
    padding-top:1.2rem;
    border-top:1px solid rgba(255,255,255,.08);
    color:#668793;
    font-size:.58rem
}
.public-footer-bottom>span:last-child {
    display:flex;
    gap:1rem
}
.public-footer-bottom a {
    color:#7899a5;
    text-decoration:none
}
.public-content-hero {
    position:relative;
    overflow:hidden;
    background:radial-gradient(circle at 85% 0,rgba(73,201,238,.22),transparent 22rem),linear-gradient(120deg,#071a2f,#0b4d62);
    color:#fff
}
.public-content-hero:after {
    content:"";
    position:absolute;
    right:-7rem;
    bottom:-13rem;
    width:28rem;
    height:28rem;
    border:1px solid rgba(255,255,255,.1);
    border-radius:50%
}
.public-content-hero .container-xl {
    position:relative;
    z-index:1
}
.public-content-hero h1 {
    max-width:820px;
    margin:.6rem 0;
    font-size:clamp(2.3rem,5vw,4.2rem);
    font-weight:820;
    letter-spacing:-.04em
}
.public-content-hero p {
    color:#bad0dc
}
.public-content-page {
    padding-top:5rem;
    padding-bottom:6rem
}
.public-content-body {
    white-space:pre-line;
    color:#405c6f;
    font-size:1rem;
    line-height:1.9
}
.public-content-aside {
    display:grid;
    gap:.8rem;
    padding:1.5rem;
    border:1px solid #d7e5ec;
    border-radius:20px;
    background:#f4fafb
}
.public-content-aside>span {
    color:#0b9289;
    font-size:.62rem;
    font-weight:800;
    letter-spacing:.09em;
    text-transform:uppercase
}
.public-content-aside h2 {
    font-size:1.35rem
}
.public-content-aside p {
    color:#6b8291;
    font-size:.75rem;
    line-height:1.7
}
.public-content-aside>a:last-child {
    color:#087f77;
    font-size:.68rem;
    font-weight:750;
    text-decoration:none
}
@media(max-width:1199px) {
    .public-action-panel {
        grid-template-columns:repeat(2,1fr)
    }
    .public-action-panel .public-action-submit {
        grid-column:1/-1;
        margin-top:.5rem;
        min-height:50px
    }
    .action-field:nth-child(2) {
        border-right:0
    }
    .action-field:nth-child(3) {
        border-top:1px solid #dfe7ed
    }
    .public-dashboard-visual {
        transform:none
    }
}
@media(max-width:991px) {
    .public-contact-bar {
        display:none
    }
    .gt-public-nav {
        min-height:68px
    }
    .gt-public-nav .navbar-collapse {
        padding:1rem 0
    }
    .gt-public-nav .navbar-nav {
        margin-bottom:1rem!important
    }
    .public-nav-actions {
        align-items:stretch!important;
        flex-direction:column
    }
    .public-nav-actions .btn {
        width:100%
    }
    .public-home-hero {
        min-height:auto
    }
    .public-hero-stats {
        grid-template-columns:repeat(2,1fr)
    }
    .public-hero-stats>div:nth-child(3) {
        border-top:1px solid rgba(255,255,255,.1);
        border-left:0
    }
    .public-hero-stats>div:nth-child(4) {
        border-top:1px solid rgba(255,255,255,.1)
    }
    .public-capability-strip .container-xl {
        align-items:flex-start;
        flex-direction:column
    }
    .public-capability-strip div div {
        gap:1rem
    }
    .public-process-grid {
        grid-template-columns:1fr 1fr
    }
    .public-process-grid>i {
        display:none
    }
    .public-final-cta>.container-xl {
        align-items:flex-start;
        flex-direction:column
    }
    .public-footer-bottom {
        flex-direction:column
    }
    .visual-content {
        grid-template-columns:100px 1fr
    }
}
@media(max-width:767px) {
    .public-section,.public-control-section {
        padding-top:4rem;
        padding-bottom:4rem
    }
    .public-action-panel,.public-action-panel.active {
        grid-template-columns:1fr
    }
    .action-field,.action-field:nth-child(2),.action-field:nth-child(3) {
        border-top:0;
        border-right:0;
        border-bottom:1px solid #e3e9ee
    }
    .action-field-wide {
        grid-column:auto
    }
    .public-action-tabs {
        width:max-content
    }
    .public-action-tabs button {
        padding:.46rem .6rem
    }
    .public-action-submit {
        grid-column:auto!important;
        margin-top:.6rem
    }
    .public-proof-row {
        justify-content:flex-start;
        gap:.7rem
    }
    .public-process-grid {
        grid-template-columns:1fr
    }
    .public-final-cta .container-xl>div:last-child {
        width:100%;
        flex-direction:column
    }
    .public-final-cta .btn {
        width:100%
    }
    .public-dashboard-visual {
        margin-top:1rem
    }
    .visual-content {
        grid-template-columns:1fr
    }
    .visual-content aside {
        display:none
    }
}
@media(max-width:575px) {
    .public-hero-copy h1 {
        font-size:2.5rem
    }
    .public-home-hero .container-xl {
        padding-top:3.5rem!important
    }
    .public-action-card {
        border-radius:17px
    }
    .public-action-panel {
        padding:2.1rem .75rem .8rem
    }
    .public-hero-stats strong {
        font-size:1rem
    }
    .public-capability-strip div div {
        gap:.75rem
    }
    .public-capability-strip b {
        font-size:.56rem
    }
    .visual-summary {
        grid-template-columns:1fr 1fr
    }
    .visual-summary div:last-child {
        grid-column:1/-1
    }
    .public-process-grid>div {
        min-height:auto
    }
    .public-footer-bottom>span:last-child {
        flex-wrap:wrap
    }
    .public-logo-frame {
        flex-basis:132px;
        width:132px;
        height:40px
    }
    .public-brand>span:last-child {
        font-size:.88rem
    }
    .public-brand small {
        display:none
    }
    .brand-asset-heading {
        align-items:flex-start;
        flex-direction:column
    }
    .brand-logo-preview {
        width:100%;
        max-width:180px
    }
}
/* Public service notifications */
.public-notifications-section {
    padding:4.5rem 0;
    background:linear-gradient(180deg,#f5fafc,#fff);
    border-bottom:1px solid #e4ebf0
}
.public-notifications-heading {
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:1.5rem;
    margin-bottom:1.4rem
}
.public-notifications-heading h2 {
    margin:.55rem 0 0;
    color:#102f49;
    font-size:clamp(1.8rem,3.5vw,2.7rem);
    font-weight:810;
    letter-spacing:-.035em
}
.public-notifications-heading>span {
    padding:.42rem .7rem;
    border:1px solid #d3e3e9;
    border-radius:999px;
    background:#fff;
    color:#647d8c;
    font-size:.62rem;
    font-weight:760;
    text-transform:uppercase
}
.public-notification-list {
    display:grid;
    gap:.85rem
}
.public-notification-card {
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:1rem;
    padding:1.15rem 1.25rem;
    border:1px solid #d8e6ec;
    border-left:4px solid #2c9dc2;
    border-radius:16px;
    background:#fff;
    box-shadow:0 8px 24px rgba(14,39,69,.055)
}
.public-notification-icon {
    display:grid;
    place-items:center;
    width:39px;
    height:39px;
    border-radius:12px;
    background:#e4f5fb;
    color:#19799a;
    font-size:.82rem;
    font-weight:850
}
.public-notification-card small {
    color:#77909d;
    font-size:.55rem;
    font-weight:800;
    letter-spacing:.09em;
    text-transform:uppercase
}
.public-notification-card h3 {
    margin:.2rem 0 .22rem;
    color:#18384f;
    font-size:.9rem;
    font-weight:780
}
.public-notification-card p {
    margin:0;
    color:#657d8c;
    font-size:.7rem;
    line-height:1.55
}
.public-notification-card>a {
    padding:.55rem .75rem;
    border-radius:9px;
    background:#eef8fa;
    color:#087f77;
    font-size:.66rem;
    font-weight:780;
    text-decoration:none;
    white-space:nowrap
}
.public-notification-success {
    border-left-color:#25a873
}
.public-notification-success .public-notification-icon {
    background:#e3f6ec;
    color:#188359
}
.public-notification-warning {
    border-left-color:#e1a52e
}
.public-notification-warning .public-notification-icon {
    background:#fff3d7;
    color:#996815
}
.public-notification-critical {
    border-left-color:#d54a55
}
.public-notification-critical .public-notification-icon {
    background:#fde9eb;
    color:#ae303b
}
.public-notification-empty {
    display:flex;
    align-items:center;
    gap:1rem;
    padding:1.25rem;
    border:1px solid #d7e8df;
    border-radius:16px;
    background:#f6fcf8
}
.public-notification-empty>span {
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    border-radius:50%;
    background:#dff5e8;
    color:#157347;
    font-weight:850
}
.public-notification-empty strong {
    color:#204a38;
    font-size:.82rem
}
.public-notification-empty p {
    margin:.2rem 0 0;
    color:#71867b;
    font-size:.68rem
}
@media(max-width:767px) {
    .public-notifications-section {
        padding:3.5rem 0
    }
    .public-notifications-heading {
        align-items:flex-start;
        flex-direction:column
    }
    .public-notification-card {
        grid-template-columns:auto 1fr
    }
    .public-notification-card>a {
        grid-column:1/-1;
        text-align:center
    }
}
/* Collapsible admin navigation */
.gt-admin-body .sidebar-menu > .nav-item > .nav-link p {
    display:flex;
    align-items:center;
    flex:1;
    min-width:0
}
.gt-admin-body .sidebar-menu .nav-arrow {
    margin-left:auto;
    color:#6f97a6;
    font-size:1.15rem;
    line-height:1;
    transition:transform .2s ease,color .2s ease
}
.gt-admin-body .sidebar-menu .menu-open > .nav-link .nav-arrow {
    color:#72e7df;
    transform:rotate(90deg)
}
.gt-admin-body .sidebar-menu .nav-treeview {
    margin:.1rem 0 .35rem;
    padding:.18rem 0 .22rem 1rem;
    border-left:1px solid rgba(114,231,223,.16)
}
.gt-admin-body .sidebar-menu .nav-treeview .nav-link {
    min-height:35px;
    margin:.04rem 0;
    padding:.37rem .55rem;
    color:#91adba;
    font-size:.68rem
}
.gt-admin-body .sidebar-menu .nav-treeview .nav-link:hover {
    background:rgba(255,255,255,.055);
    color:#fff
}
.gt-admin-body .sidebar-menu .nav-treeview .nav-link.active {
    background:rgba(21,196,183,.12);
    box-shadow:none;
    color:#fff
}
.gt-nav-dot {
    display:block!important;
    flex:0 0 6px!important;
    width:6px!important;
    min-width:6px!important;
    max-width:6px!important;
    height:6px;
    margin:0 .75rem 0 .45rem!important;
    border:1px solid #648a99;
    border-radius:50%;
    background:transparent
}
.gt-admin-body .sidebar-menu .nav-treeview .nav-link.active .gt-nav-dot {
    border-color:#72e7df;
    background:#15c4b7;
    box-shadow:0 0 0 3px rgba(21,196,183,.12)
}
@media(prefers-reduced-motion:reduce) {
    .gt-admin-body .sidebar-menu .nav-arrow {
        transition:none
    }
}
/* Live customer support */
.support-page {
    min-height:calc(100vh - 104px);
    background:radial-gradient(circle at 90% 0,rgba(21,196,183,.07),transparent 28rem),var(--bs-tertiary-bg)
}
.support-page-heading {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:1rem
}
.support-page-heading h1 {
    margin:.25rem 0;
    font-size:1.8rem;
    font-weight:790;
    letter-spacing:-.025em
}
.support-page-heading p {
    margin:0;
    color:var(--bs-secondary-color);
    font-size:.8rem
}
.support-connection {
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    padding:.45rem .7rem;
    border:1px solid var(--bs-border-color);
    border-radius:999px;
    background:var(--bs-body-bg);
    color:var(--bs-secondary-color);
    font-size:.65rem;
    font-weight:750
}
.support-connection i {
    width:7px;
    height:7px;
    border-radius:50%;
    background:#e0a02b
}
.support-connection.is-online i {
    background:#25b783;
    box-shadow:0 0 0 4px rgba(37,183,131,.12)
}
.support-connection.is-offline i {
    background:#e0a02b
}
.support-queue-count {
    padding:.43rem .65rem;
    border-radius:999px;
    background:rgba(21,196,183,.1);
    color:#0a837b;
    font-size:.65rem;
    font-weight:780
}
.support-layout {
    display:grid;
    grid-template-columns:330px minmax(0,1fr);
    min-height:680px;
    overflow:hidden;
    border:1px solid var(--bs-border-color);
    border-radius:20px;
    background:var(--bs-body-bg);
    box-shadow:0 16px 42px rgba(10,40,66,.09)
}
.support-sidebar {
    min-width:0;
    border-right:1px solid var(--bs-border-color);
    background:var(--bs-tertiary-bg)
}
.support-new-card {
    margin:1rem;
    border:1px solid var(--bs-border-color);
    border-radius:14px;
    background:var(--bs-body-bg)
}
.support-new-card summary {
    display:flex;
    align-items:center;
    gap:.55rem;
    padding:.8rem;
    cursor:pointer;
    color:var(--bs-emphasis-color);
    font-size:.72rem;
    font-weight:760;
    list-style:none
}
.support-new-card summary::-webkit-details-marker {
    display:none
}
.support-new-card summary span {
    display:grid;
    place-items:center;
    width:25px;
    height:25px;
    border-radius:8px;
    background:#ddf6f3;
    color:#087f77;
    font-size:.9rem
}
.support-new-card .form-label {
    margin-bottom:.3rem;
    font-size:.65rem;
    font-weight:720
}
.support-new-card .form-control {
    font-size:.72rem
}
.support-list-heading {
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:.85rem 1rem .55rem;
    color:var(--bs-secondary-color);
    font-size:.61rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase
}
.support-list-heading b {
    display:grid;
    place-items:center;
    min-width:23px;
    height:23px;
    border-radius:999px;
    background:var(--bs-secondary-bg);
    font-size:.58rem
}
.support-conversation-list {
    display:grid;
    gap:.35rem;
    padding:0 .65rem 1rem
}
.support-conversation-row {
    position:relative;
    display:grid;
    gap:.18rem;
    padding:.8rem 3.1rem .8rem .85rem;
    border:1px solid transparent;
    border-radius:12px;
    color:var(--bs-body-color);
    text-decoration:none
}
.support-conversation-row:hover {
    border-color:var(--bs-border-color);
    background:var(--bs-body-bg);
    color:var(--bs-body-color)
}
.support-conversation-row.active {
    border-color:rgba(21,196,183,.26);
    background:rgba(21,196,183,.09);
    box-shadow:inset 3px 0 #15c4b7
}
.support-conversation-row.is-new {
    animation:support-new-row .7s ease
}
.support-conversation-row strong {
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.75rem
}
.support-conversation-row span {
    overflow:hidden;
    color:var(--bs-secondary-color);
    font-size:.59rem;
    text-overflow:ellipsis;
    white-space:nowrap
}
.support-conversation-row small {
    overflow:hidden;
    color:var(--bs-secondary-color);
    font-size:.63rem;
    text-overflow:ellipsis;
    white-space:nowrap
}
.support-conversation-row b {
    position:absolute;
    right:.65rem;
    top:.65rem;
    color:#0a8d84;
    font-size:.52rem;
    text-transform:uppercase
}
.support-conversation-row i {
    position:absolute;
    right:.7rem;
    bottom:.65rem;
    display:grid;
    place-items:center;
    min-width:20px;
    height:20px;
    padding:0 .3rem;
    border-radius:999px;
    background:#15c4b7;
    color:#06243c;
    font-size:.55rem;
    font-style:normal;
    font-weight:850
}
.support-list-empty {
    padding:3rem 1rem;
    color:var(--bs-secondary-color);
    font-size:.7rem;
    text-align:center
}
.support-chat-panel {
    display:flex;
    min-width:0;
    flex-direction:column;
    background:var(--bs-body-bg)
}
.support-chat-header {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    min-height:91px;
    padding:1rem 1.25rem;
    border-bottom:1px solid var(--bs-border-color)
}
.support-chat-header small,.support-chat-header span {
    display:block;
    color:var(--bs-secondary-color);
    font-size:.62rem
}
.support-chat-header h2 {
    margin:.2rem 0;
    font-size:1rem;
    font-weight:780
}
.support-status {
    padding:.38rem .58rem;
    border-radius:999px;
    background:var(--bs-secondary-bg);
    color:var(--bs-secondary-color);
    font-size:.58rem;
    text-transform:uppercase
}
.support-status-active {
    background:#ddf6f3;
    color:#087f77
}
.support-status-waiting {
    background:#fff2d6;
    color:#94620b
}
.support-status-resolved {
    background:#e3f6eb;
    color:#18784e
}
.support-status-closed {
    background:#edf0f2;
    color:#66747e
}
.support-agent-header {
    align-items:flex-start
}
.support-agent-actions {
    display:flex;
    align-items:center;
    gap:.5rem
}
.support-agent-actions .form-select {
    width:120px;
    font-size:.65rem
}
.support-message-list {
    display:flex;
    flex:1;
    min-height:420px;
    max-height:560px;
    overflow-y:auto;
    flex-direction:column;
    gap:.8rem;
    padding:1.25rem;
    background:linear-gradient(180deg,var(--bs-tertiary-bg),var(--bs-body-bg))
}
.support-message {
    align-self:flex-start;
    width:min(76%,680px);
    padding:.8rem 1rem;
    border:1px solid var(--bs-border-color);
    border-radius:15px 15px 15px 4px;
    background:var(--bs-body-bg);
    box-shadow:0 5px 14px rgba(10,35,57,.04)
}
.support-message.is-customer {
    align-self:flex-end;
    border-color:rgba(21,196,183,.25);
    border-radius:15px 15px 4px 15px;
    background:rgba(21,196,183,.1)
}
.support-agent-page .support-message.is-customer {
    align-self:flex-start;
    border-radius:15px 15px 15px 4px
}
.support-agent-page .support-message.is-agent {
    align-self:flex-end;
    border-radius:15px 15px 4px 15px;
    background:rgba(49,105,169,.09)
}
.support-message.is-note {
    align-self:center;
    border-style:dashed;
    border-color:#e1a52e;
    background:#fff8e8
}
.support-message.is-system {
    align-self:center;
    padding:.5rem .8rem;
    border:0;
    border-radius:999px;
    background:var(--bs-secondary-bg);
    text-align:center
}
.support-message header {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem
}
.support-message strong {
    font-size:.64rem
}
.support-message time {
    color:var(--bs-secondary-color);
    font-size:.55rem
}
.support-message p {
    margin:.45rem 0 0;
    white-space:pre-wrap;
    font-size:.73rem;
    line-height:1.55
}
.support-typing {
    min-height:25px;
    padding:.3rem 1.25rem;
    color:var(--bs-secondary-color);
    font-size:.62rem
}
.support-composer {
    display:grid;
    grid-template-columns:1fr auto;
    gap:.7rem;
    padding:.85rem 1rem 1rem;
    border-top:1px solid var(--bs-border-color)
}
.support-composer textarea {
    width:100%;
    resize:none;
    padding:.7rem .8rem;
    border:1px solid var(--bs-border-color);
    border-radius:12px;
    outline:0;
    background:var(--bs-body-bg);
    color:var(--bs-body-color);
    font-size:.73rem
}
.support-composer textarea:focus {
    border-color:#15c4b7;
    box-shadow:0 0 0 3px rgba(21,196,183,.1)
}
.support-composer .btn {
    min-width:86px;
    border-radius:11px
}
.support-agent-composer {
    grid-template-columns:1fr auto auto;
    align-items:center
}
.support-note-toggle {
    display:flex;
    align-items:center;
    gap:.35rem;
    color:var(--bs-secondary-color);
    font-size:.62rem;
    white-space:nowrap
}
.support-empty-chat {
    display:grid;
    place-items:center;
    align-content:center;
    flex:1;
    min-height:620px;
    padding:2rem;
    text-align:center
}
.support-empty-chat>span {
    display:grid;
    place-items:center;
    width:56px;
    height:56px;
    margin-bottom:1rem;
    border-radius:18px;
    background:#ddf6f3;
    color:#087f77;
    font-size:1.2rem;
    font-weight:850
}
.support-empty-chat h2 {
    font-size:1.15rem
}
.support-empty-chat p {
    color:var(--bs-secondary-color);
    font-size:.75rem
}
@keyframes support-new-row {
    0% {
        background:rgba(21,196,183,.28)
    }
    100% {
        background:transparent
    }
}
@media(max-width:991px) {
    .support-layout {
        grid-template-columns:280px minmax(0,1fr)
    }
    .support-message {
        width:88%
    }
}
@media(max-width:767px) {
    .support-page-heading {
        align-items:flex-start;
        flex-direction:column
    }
    .support-layout {
        display:block;
        min-height:0;
        overflow:visible
    }
    .support-sidebar {
        border-right:0;
        border-bottom:1px solid var(--bs-border-color)
    }
    .support-conversation-list {
        max-height:300px;
        overflow-y:auto
    }
    .support-chat-panel {
        min-height:600px
    }
    .support-chat-header {
        align-items:flex-start;
        flex-direction:column
    }
    .support-agent-actions {
        width:100%;
        flex-wrap:wrap
    }
    .support-agent-actions .form-select {
        flex:1
    }
    .support-agent-composer {
        grid-template-columns:1fr auto
    }
    .support-agent-composer .support-note-toggle {
        grid-column:1
    }
    .support-message {
        width:95%
    }
}
/* Public guest support */
.guest-support-page {
    min-height:70vh;
    background:linear-gradient(180deg,#f4f9fb,#fff 35rem)
}
.guest-support-hero {
    position:relative;
    overflow:hidden;
    background:radial-gradient(circle at 85% 10%,rgba(73,201,238,.2),transparent 22rem),linear-gradient(120deg,#071a2f,#0b4d62);
    color:#fff
}
.guest-support-hero:after {
    content:"";
    position:absolute;
    right:-8rem;
    bottom:-15rem;
    width:30rem;
    height:30rem;
    border:1px solid rgba(255,255,255,.1);
    border-radius:50%;
    box-shadow:0 0 0 4rem rgba(255,255,255,.02)
}
.guest-support-hero .container-xl {
    position:relative;
    z-index:1
}
.guest-support-hero h1 {
    margin:.65rem 0 .5rem;
    font-size:clamp(2.4rem,5vw,4.3rem);
    font-weight:820;
    letter-spacing:-.045em
}
.guest-support-hero p {
    max-width:720px;
    margin:0;
    color:#bfd2dc;
    font-size:.9rem;
    line-height:1.7
}
.guest-support-connection {
    border-color:rgba(255,255,255,.16);
    background:rgba(255,255,255,.08);
    color:#d6e6ec
}
.guest-support-info-card,.guest-support-form-card {
    border:1px solid #d9e5eb;
    border-radius:20px;
    background:#fff;
    box-shadow:0 14px 35px rgba(14,39,69,.07)
}
.guest-support-info-card {
    padding:1.6rem
}
.guest-support-icon {
    display:grid;
    place-items:center;
    width:45px;
    height:45px;
    margin-bottom:1.2rem;
    border-radius:14px;
    background:linear-gradient(135deg,#ddf6f3,#e3f1fa);
    color:#087f77;
    font-size:.7rem;
    font-weight:850
}
.guest-support-info-card h2,.guest-support-form-card h2 {
    color:#15344c;
    font-size:1.35rem;
    font-weight:790
}
.guest-support-info-card ol {
    display:grid;
    gap:1rem;
    margin:1.4rem 0;
    padding:0;
    list-style:none;
    counter-reset:support-step
}
.guest-support-info-card li {
    position:relative;
    padding-left:2.4rem;
    counter-increment:support-step
}
.guest-support-info-card li:before {
    content:counter(support-step);
    position:absolute;
    left:0;
    top:0;
    display:grid;
    place-items:center;
    width:26px;
    height:26px;
    border-radius:8px;
    background:#e5f7f5;
    color:#087f77;
    font-size:.62rem;
    font-weight:850
}
.guest-support-info-card b,.guest-support-info-card small {
    display:block
}
.guest-support-info-card b {
    color:#294a5f;
    font-size:.75rem
}
.guest-support-info-card small {
    margin-top:.18rem;
    color:#748995;
    font-size:.66rem;
    line-height:1.55
}
.guest-support-info-card p {
    margin:1.4rem 0 0;
    padding-top:1rem;
    border-top:1px solid #e4ebef;
    color:#6c808d;
    font-size:.68rem
}
.guest-support-info-card a {
    color:#087f77;
    font-weight:750
}
.guest-support-form-card {
    padding:1.6rem
}
.guest-support-form-card .form-label {
    color:#496474;
    font-size:.67rem;
    font-weight:740
}
.guest-support-form-card .form-control {
    min-height:44px;
    border-color:#d7e3e9;
    border-radius:11px;
    font-size:.76rem
}
.guest-support-form-card textarea.form-control {
    min-height:140px
}
.guest-support-form-card .form-control:focus {
    border-color:#15c4b7;
    box-shadow:0 0 0 3px rgba(21,196,183,.1)
}
.guest-support-privacy {
    display:flex;
    align-items:center;
    gap:.5rem;
    margin:1rem 0;
    color:#6e828e;
    font-size:.63rem
}
.guest-support-privacy span {
    display:grid;
    place-items:center;
    width:19px;
    height:19px;
    border-radius:50%;
    background:#dff5e8;
    color:#157347;
    font-size:.58rem;
    font-weight:850
}
.guest-support-access-card {
    display:flex;
    align-items:flex-start;
    gap:1.2rem;
    max-width:760px;
    margin:2rem auto;
    padding:2rem;
    border:1px solid #efd8a8;
    border-radius:20px;
    background:#fffaf0;
    box-shadow:0 12px 32px rgba(83,58,14,.08)
}
.guest-support-access-card>span {
    display:grid;
    place-items:center;
    flex:0 0 auto;
    width:46px;
    height:46px;
    border-radius:14px;
    background:#fff0cf;
    color:#95600a;
    font-weight:850
}
.guest-support-access-card h2 {
    font-size:1.25rem
}
.guest-support-access-card p {
    color:#7d715c;
    font-size:.75rem
}
.guest-support-chat-wrap {
    display:grid;
    grid-template-columns:280px minmax(0,1fr);
    min-height:680px;
    overflow:hidden;
    border:1px solid #d9e5eb;
    border-radius:22px;
    background:#fff;
    box-shadow:0 18px 45px rgba(14,39,69,.11)
}
.guest-support-conversation-info {
    padding:1.5rem;
    background:radial-gradient(circle at 30% 100%,rgba(21,196,183,.2),transparent 15rem),linear-gradient(180deg,#09233d,#0b4a5d);
    color:#fff
}
.guest-support-conversation-info small {
    color:#78e3dc;
    font-size:.6rem;
    font-weight:800;
    letter-spacing:.09em;
    text-transform:uppercase
}
.guest-support-conversation-info h1 {
    margin:.6rem 0;
    font-size:1.35rem
}
.guest-support-conversation-info p {
    color:#a9c1cd;
    font-size:.68rem
}
.guest-support-conversation-info dl {
    display:grid;
    gap:.8rem;
    margin:1.6rem 0
}
.guest-support-conversation-info dl div {
    padding:.7rem;
    border:1px solid rgba(255,255,255,.1);
    border-radius:11px;
    background:rgba(255,255,255,.05)
}
.guest-support-conversation-info dt {
    color:#8caab8;
    font-size:.55rem;
    text-transform:uppercase
}
.guest-support-conversation-info dd {
    margin:.2rem 0 0;
    font-size:.7rem
}
.guest-support-conversation-info>a {
    color:#72e7df;
    font-size:.65rem;
    font-weight:750
}
.guest-chat-panel {
    min-height:680px
}
@media(max-width:991px) {
    .guest-support-chat-wrap {
        grid-template-columns:220px minmax(0,1fr)
    }
}
@media(max-width:767px) {
    .guest-support-chat-wrap {
        display:block;
        overflow:visible
    }
    .guest-support-conversation-info {
        border-radius:20px 20px 0 0
    }
    .guest-support-chat-wrap .support-chat-panel {
        min-height:590px
    }
    .guest-support-form-card,.guest-support-info-card {
        padding:1.25rem
    }
}
/* Customer-facing public tools and CMS-managed website */
.public-logo-frame {
    display:grid;
    place-items:center;
    flex:0 0 168px;
    width:168px;
    height:48px;
    overflow:hidden
}
.public-logo {
    display:block;
    width:100%;
    max-width:100%;
    height:100%;
    object-fit:contain;
    object-position:left center
}
.public-footer-logo-frame {
    background:rgba(255,255,255,.96);
    border-radius:8px;
    padding:4px
}
.brand-asset-card {
    padding:1.25rem;
    border:1px solid #dfe8ed;
    border-radius:16px;
    background:#f8fbfc
}
.brand-asset-heading {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem
}
.brand-asset-heading strong,.brand-asset-heading small {
    display:block
}
.brand-asset-heading small {
    margin-top:.2rem;
    color:#6f8391;
    font-size:.72rem
}
.brand-asset-preview {
    display:grid;
    place-items:center;
    flex:0 0 auto;
    overflow:hidden;
    border:1px solid #d9e4e9;
    border-radius:10px;
    background:#fff
}
.brand-asset-preview img {
    display:block;
    width:100%;
    height:100%;
    object-fit:contain
}
.brand-logo-preview {
    width:132px;
    height:48px;
    padding:4px
}
.brand-favicon-preview {
    width:48px;
    height:48px;
    padding:7px
}
.cms-settings-accordion .accordion-item {
    overflow:hidden;
    margin-bottom:.8rem;
    border:1px solid #dfe8ed;
    border-radius:14px!important
}
.cms-settings-accordion .accordion-button {
    font-weight:750
}
.media-admin-card {
    overflow:hidden
}
.media-admin-card>img {
    width:100%;
    height:175px;
    object-fit:cover
}
.public-tool-hero {
    overflow:hidden;
    padding:4.8rem 0 3.4rem;
    background:radial-gradient(circle at 80% 20%,rgba(32,203,188,.22),transparent 24rem),linear-gradient(125deg,#061a31,#075c66);
    color:#fff
}
.public-tool-hero>.container-xl {
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:3rem
}
.public-tool-hero h1 {
    max-width:760px;
    margin:.6rem 0;
    font-size:clamp(2.4rem,5vw,4.4rem);
    font-weight:830;
    letter-spacing:-.045em
}
.public-tool-hero p {
    max-width:720px;
    margin:0;
    color:#bfd3da;
    line-height:1.7
}
.public-tool-steps {
    display:flex;
    flex-direction:column;
    flex:0 0 235px;
    gap:.65rem
}
.public-tool-steps span {
    padding:.75rem 1rem;
    border:1px solid rgba(255,255,255,.13);
    border-radius:10px;
    color:#9fb9c3;
    font-size:.68rem;
    font-weight:750
}
.public-tool-steps span.active {
    border-color:#54ddd3;
    background:rgba(50,207,194,.13);
    color:#dffffd
}
.public-tool-section {
    padding-top:4rem;
    padding-bottom:5rem
}
.public-form-card,.public-results-card,.public-request-form>section {
    border:1px solid #dce8ed;
    border-radius:20px;
    background:#fff;
    box-shadow:0 16px 42px rgba(11,42,65,.08)
}
.public-form-card {
    padding:1.55rem
}
.public-form-card .form-label,.public-request-form .form-label {
    color:#486475;
    font-size:.7rem;
    font-weight:760
}
.public-form-card .form-control,.public-form-card .form-select,.public-request-form .form-control,.public-request-form .form-select {
    min-height:46px;
    border-color:#d5e1e7;
    border-radius:10px;
    font-size:.78rem
}
.public-form-note {
    margin:0;
    color:#708792;
    font-size:.62rem;
    line-height:1.5
}
.public-results-card {
    min-height:100%;
    padding:1.6rem
}
.public-results-heading {
    display:flex;
    align-items:start;
    justify-content:space-between;
    padding-bottom:1.2rem;
    border-bottom:1px solid #e5edf0
}
.public-results-heading span {
    color:#078078;
    font-size:.62rem;
    font-weight:800;
    text-transform:uppercase
}
.public-results-heading h2 {
    margin:.25rem 0 0;
    color:#173a50;
    font-size:1.5rem;
    font-weight:800
}
.public-tool-empty {
    display:grid;
    place-items:center;
    min-height:390px;
    padding:2rem;
    text-align:center
}
.public-tool-empty b {
    display:grid;
    place-items:center;
    width:58px;
    height:58px;
    border-radius:18px;
    background:#e3f7f5;
    color:#078078;
    font-size:1.3rem
}
.public-tool-empty h3 {
    margin:.8rem 0 0;
    color:#294b60;
    font-size:1.2rem
}
.public-tool-empty p {
    max-width:420px;
    color:#768c98;
    font-size:.72rem
}
.public-rate-result {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:1.35rem 0;
    border-bottom:1px solid #e5edf0
}
.public-rate-result:last-child {
    border-bottom:0
}
.public-rate-result span {
    color:#078078;
    font-size:.6rem;
    font-weight:800
}
.public-rate-result h3 {
    margin:.25rem 0;
    color:#1b4158;
    font-size:1.05rem
}
.public-rate-result p {
    margin:0;
    color:#748993;
    font-size:.68rem
}
.public-rate-price {
    text-align:right
}
.public-rate-price small,.public-rate-price strong,.public-rate-price a {
    display:block
}
.public-rate-price small {
    color:#7d929d;
    font-size:.58rem
}
.public-rate-price strong {
    color:#10394d;
    font-size:1.25rem
}
.public-rate-price a {
    margin-top:.4rem;
    color:#087e76;
    font-size:.65rem;
    font-weight:800
}
.public-request-form {
    display:grid;
    gap:1.2rem;
    max-width:1040px;
    margin:auto
}
.public-request-form>section {
    padding:1.6rem
}
.public-form-section-title {
    display:flex;
    align-items:center;
    gap:1rem;
    margin-bottom:1.25rem
}
.public-form-section-title>span {
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    border-radius:12px;
    background:#e3f7f5;
    color:#078078;
    font-size:.68rem;
    font-weight:850
}
.public-form-section-title h2 {
    margin:0;
    color:#153b52;
    font-size:1.25rem
}
.public-form-section-title p {
    margin:.15rem 0 0;
    color:#758a95;
    font-size:.66rem
}
.public-request-submit {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:1rem 0
}
.public-request-submit p {
    max-width:550px;
    margin:0;
    color:#718690;
    font-size:.67rem
}
.public-confirmation {
    display:flex;
    align-items:flex-start;
    gap:1.5rem;
    max-width:900px;
    margin:auto;
    padding:2.2rem;
    border:1px solid #bfe4d7;
    border-radius:22px;
    background:linear-gradient(140deg,#f2fff9,#fff);
    box-shadow:0 18px 50px rgba(22,94,72,.1)
}
.public-confirmation>span {
    display:grid;
    place-items:center;
    flex:0 0 55px;
    height:55px;
    border-radius:18px;
    background:#dff7ea;
    color:#137347;
    font-size:1.4rem;
    font-weight:900
}
.public-confirmation h2 {
    color:#164a3a
}
.public-confirmation p {
    color:#5f7c72
}
.public-confirmation>div>div:last-child {
    display:flex;
    gap:.7rem
}
.destination-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1rem
}
.destination-grid article {
    display:flex;
    align-items:center;
    gap:1rem;
    padding:1rem 1.1rem;
    border:1px solid #dfe8ed;
    border-radius:15px;
    background:#fff;
    box-shadow:0 8px 24px rgba(17,49,71,.05)
}
.destination-grid article>span {
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    border-radius:13px;
    background:#e8f7f5;
    color:#087e76;
    font-size:.67rem;
    font-weight:850
}
.destination-grid h2 {
    margin:0;
    color:#25495e;
    font-size:.85rem
}
.destination-grid p {
    margin:.15rem 0 0;
    color:#80939c;
    font-size:.6rem
}
.destination-grid a {
    margin-left:auto;
    color:#087e76;
    font-weight:900
}
.public-directory-search {
    display:flex;
    max-width:520px;
    margin-top:1.5rem
}
.public-directory-search input {
    flex:1;
    min-width:0;
    padding:.8rem 1rem;
    border:0;
    border-radius:12px 0 0 12px
}
.public-directory-search button {
    padding:0 1.3rem;
    border:0;
    border-radius:0 12px 12px 0;
    background:#25c8ba;
    color:#062b2b;
    font-weight:800
}
.public-gallery-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1rem
}
.public-gallery-grid figure {
    position:relative;
    overflow:hidden;
    min-height:265px;
    margin:0;
    border-radius:17px;
    background:#dfe8eb
}
.public-gallery-grid img {
    width:100%;
    height:100%;
    min-height:265px;
    object-fit:cover;
    transition:transform .3s
}
.public-gallery-grid figure:hover img {
    transform:scale(1.035)
}
.public-gallery-grid figcaption {
    position:absolute;
    right:0;
    bottom:0;
    left:0;
    padding:2.7rem 1rem 1rem;
    background:linear-gradient(transparent,rgba(3,23,39,.88));
    color:#fff
}
.public-gallery-grid figcaption span,.public-gallery-grid figcaption strong {
    display:block
}
.public-gallery-grid figcaption span {
    color:#6de0d7;
    font-size:.55rem;
    font-weight:800;
    text-transform:uppercase
}
.public-gallery-grid figcaption strong {
    font-size:.8rem
}
.contact-detail-card {
    height:100%;
    padding:2rem;
    border-radius:22px;
    background:radial-gradient(circle at 80% 90%,rgba(27,201,188,.2),transparent 18rem),#08263e;
    color:#fff
}
.contact-detail-card h2 {
    margin:.6rem 0
}
.contact-detail-card>p {
    color:#b4cad4
}
.contact-detail-card dl {
    display:grid;
    gap:.9rem;
    margin:1.5rem 0
}
.contact-detail-card dl div {
    padding:.8rem;
    border:1px solid rgba(255,255,255,.1);
    border-radius:11px
}
.contact-detail-card dt {
    color:#7edfd7;
    font-size:.58rem;
    text-transform:uppercase
}
.contact-detail-card dd {
    margin:.2rem 0 0;
    color:#d7e5ea;
    font-size:.75rem
}
.contact-detail-card dd a {
    color:inherit
}
.contact-map-link {
    display:block;
    margin-top:1.3rem;
    color:#75e2da;
    font-size:.68rem
}
.related-posts {
    width:100%
}
.related-post-card {
    display:flex;
    flex-direction:column;
    min-height:155px;
    padding:1.2rem;
    border:1px solid #dde7ec;
    border-radius:15px;
    background:#fff
}
.related-post-card span {
    color:#078078;
    font-size:.58rem;
    text-transform:uppercase
}
.related-post-card strong {
    margin:.5rem 0;
    color:#24475c
}
.related-post-card small {
    margin-top:auto;
    color:#087e76
}
.blog-tags a {
    display:inline-block;
    margin:.15rem;
    padding:.3rem .55rem;
    border-radius:99px;
    background:#e8f5f4;
    color:#087e76;
    font-size:.6rem
}
.public-page-featured {
    width:100%;
    max-height:440px;
    margin-bottom:1.5rem;
    border-radius:18px;
    object-fit:cover
}
.public-content-hero.has-image {
    background-size:cover;
    background-position:center
}
.public-home-directory,.public-home-gallery {
    padding:5rem 0;
    background:#f4f8fa
}
.home-destination-row {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:.8rem;
    margin:2rem 0
}
.home-destination-row a {
    display:flex;
    align-items:center;
    gap:.7rem;
    padding:1rem;
    border:1px solid #dae6eb;
    border-radius:14px;
    background:#fff;
    color:#23485d
}
.home-destination-row span {
    color:#087e76;
    font-size:.62rem;
    font-weight:850
}
.home-destination-row strong {
    font-size:.72rem
}
.home-destination-row i {
    margin-left:auto;
    font-style:normal
}
@media(max-width:1199px) {
    .gt-public-nav .navbar-nav {
        font-size:.64rem
    }
    .public-tool-hero>.container-xl {
        align-items:start;
        flex-direction:column
    }
    .public-tool-steps {
        width:100%;
        flex:auto;
        flex-direction:row
    }
    .public-tool-steps span {
        flex:1
    }
    .destination-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .home-destination-row {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
}
@media(max-width:767px) {
    .public-tool-hero {
        padding:3.2rem 0 2.4rem
    }
    .public-tool-steps {
        display:none
    }
    .public-tool-section {
        padding-top:2rem
    }
    .public-rate-result,.public-request-submit {
        align-items:flex-start;
        flex-direction:column
    }
    .public-rate-price {
        text-align:left
    }
    .destination-grid,.public-gallery-grid,.home-destination-row {
        grid-template-columns:1fr
    }
    .public-gallery-grid figure,.public-gallery-grid img {
        min-height:220px
    }
    .public-confirmation {
        padding:1.4rem
    }
    .public-confirmation>span {
        width:44px;
        height:44px;
        flex-basis:44px
    }
}
.cms-rich-editor {
    overflow:hidden;
    border:1px solid #ced9df;
    border-radius:10px;
    background:#fff
}
.cms-rich-toolbar {
    display:flex;
    flex-wrap:wrap;
    gap:.35rem;
    padding:.55rem;
    border-bottom:1px solid #dde6ea;
    background:#f5f8fa
}
.cms-rich-toolbar button {
    padding:.35rem .6rem;
    border:1px solid #d0dce2;
    border-radius:6px;
    background:#fff;
    color:#38566a;
    font-size:.67rem;
    font-weight:700
}
.cms-rich-toolbar button:hover {
    border-color:#18a99d;
    color:#087e76
}
.cms-rich-canvas {
    min-height:320px;
    padding:1rem;
    color:#263f4e;
    font-size:.82rem;
    line-height:1.7;
    outline:0
}
.cms-rich-canvas:focus {
    box-shadow:inset 0 0 0 2px rgba(21,196,183,.18)
}
/* Administrator-configured branding and first-run setup */
.gt-public-nav {
    background:var(--site-header,#fff)
}
.public-header a:not(.btn),.public-footer a,.public-content-body a,.blog-article-body a {
    color:var(--site-link,#087f77)
}
.public-btn-primary,.public-action-submit,.public-directory-search button,.public-request-submit .btn-info {
    background:var(--site-button,#087f77)!important;
    border-color:var(--site-button,#087f77)!important
}
.public-footer {
    background:var(--site-footer,#071a2f)
}
.public-kicker.dark,.blog-read-more,.public-rate-result span,.public-rate-price a,.public-service-card b {
    color:var(--site-primary,#087f77)
}
.brand-mark,.shipment-section-number {
    background:linear-gradient(135deg,var(--site-accent,#15c4b7),var(--site-secondary,#0b5f87))
}
.setup-shell {
    min-height:100vh;
    padding:5rem 1rem;
    background:#eef4f7
}
.setup-card {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(360px,520px);
    max-width:1120px;
    margin:auto;
    overflow:hidden;
    border-radius:26px;
    background:#fff;
    box-shadow:0 30px 80px rgba(5,31,52,.16)
}
.setup-intro {
    padding:4rem;
    background:linear-gradient(140deg,var(--site-footer,#071a2f),var(--site-secondary,#0b5f87));
    color:#fff
}
.setup-intro>span {
    color:var(--site-accent,#15c4b7);
    font-size:.7rem;
    font-weight:800;
    letter-spacing:.14em
}
.setup-intro h1 {
    margin:.8rem 0;
    font-size:clamp(2rem,4vw,3.4rem)
}
.setup-intro p,.setup-intro li {
    color:#c8d9e2
}
.setup-form {
    padding:3.5rem
}
.setup-form h2 {
    margin-bottom:1.5rem
}
.searchable-select-filter {
    margin-bottom:.35rem
}
@media(max-width:800px) {
    .setup-card {
        grid-template-columns:1fr
    }
    .setup-intro,.setup-form {
        padding:2rem
    }
}
/* Public home advertising carousel */
.public-advertising-section {
    padding:4.5rem 0;
    background:#fff
}
.public-advertising-heading {
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:1rem;
    margin-bottom:1.4rem
}
.public-advertising-heading h2 {
    margin:.35rem 0 0;
    color:#12364c;
    font-size:clamp(1.7rem,3vw,2.45rem);
    font-weight:800;
    letter-spacing:-.035em
}
.public-advertising-heading>span {
    color:#718995;
    font-size:.67rem;
    font-weight:750;
    text-transform:uppercase;
    letter-spacing:.08em
}
.public-advertising-carousel {
    overflow:hidden;
    border-radius:24px;
    background:#0a263d;
    box-shadow:0 24px 58px rgba(8,39,61,.17)
}
.public-advertising-carousel .carousel-item {
    height:clamp(310px,34vw,465px)
}
.public-advertising-carousel .carousel-item>img {
    height:100%;
    object-fit:cover;
    object-position:center
}
.public-advertising-shade {
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(4,22,37,.9) 0%,rgba(5,36,51,.62) 46%,rgba(5,28,43,.08) 78%),linear-gradient(0deg,rgba(2,18,29,.42),transparent 55%)
}
.public-advertising-caption {
    right:auto;
    bottom:50%;
    left:clamp(2rem,7vw,6rem);
    max-width:560px;
    padding:0;
    text-align:left;
    transform:translateY(50%)
}
.public-advertising-caption>span {
    display:inline-block;
    margin-bottom:.75rem;
    padding:.35rem .6rem;
    border:1px solid rgba(255,255,255,.3);
    border-radius:99px;
    color:#7ce5dc;
    font-size:.57rem;
    font-weight:850;
    letter-spacing:.12em;
    text-transform:uppercase
}
.public-advertising-caption h3 {
    margin:0;
    color:#fff;
    font-size:clamp(1.8rem,4vw,3.6rem);
    font-weight:830;
    line-height:1.04;
    letter-spacing:-.045em;
    text-shadow:0 3px 16px rgba(0,0,0,.25)
}
.public-advertising-caption p {
    max-width:520px;
    margin:.85rem 0 1.2rem;
    color:#d5e3e8;
    font-size:clamp(.78rem,1.3vw,1rem);
    line-height:1.6
}
.public-banner-button {
    padding:.72rem 1.05rem;
    border:0;
    border-radius:11px;
    background:var(--site-accent,#15c4b7);
    color:#05293a;
    font-size:.72rem;
    font-weight:850
}
.public-banner-button:hover {
    background:#fff;
    color:#05293a
}
.public-advertising-carousel .carousel-indicators {
    justify-content:flex-start;
    right:auto;
    left:clamp(2rem,7vw,6rem);
    margin-right:0;
    margin-left:0
}
.public-advertising-carousel .carousel-indicators [data-bs-target] {
    width:28px;
    height:4px;
    border:0;
    border-radius:99px
}
.public-advertising-carousel .carousel-control-prev,.public-advertising-carousel .carousel-control-next {
    width:7%
}
@media(max-width:767px) {
    .public-advertising-section {
        padding:3rem 0
    }
    .public-advertising-heading {
        align-items:flex-start;
        flex-direction:column
    }
    .public-advertising-carousel {
        border-radius:17px
    }
    .public-advertising-carousel .carousel-item {
        height:390px
    }
    .public-advertising-shade {
        background:linear-gradient(90deg,rgba(4,22,37,.9),rgba(5,36,51,.52)),linear-gradient(0deg,rgba(2,18,29,.65),transparent 60%)
    }
    .public-advertising-caption {
        right:2rem;
        left:2rem;
        max-width:none
    }
    .public-advertising-caption h3 {
        font-size:2rem
    }
    .public-advertising-carousel .carousel-indicators {
        left:2rem
    }
    .public-advertising-carousel .carousel-control-prev,.public-advertising-carousel .carousel-control-next {
        display:none
    }
}
@media(prefers-reduced-motion:reduce) {
    .public-advertising-carousel .carousel-item {
        transition:none
    }
}
/* Items-first shipment packing workbench */
.packing-workbench {
    min-height:100vh;
    background:linear-gradient(180deg,#edf3f7,#f8fafc)
}
.packing-page-hero {
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:2rem;
    padding:2rem 2.25rem;
    border-radius:22px;
    background:radial-gradient(circle at 85% 10%,rgba(43,215,196,.2),transparent 22rem),linear-gradient(120deg,#071b31,#0b5161);
    box-shadow:0 18px 45px rgba(7,31,52,.16);
    color:#fff
}
.packing-page-hero>div:first-child>span {
    color:#6fe4d9;
    font-size:.64rem;
    font-weight:850;
    letter-spacing:.15em
}
.packing-page-hero h1 {
    margin:.55rem 0;
    font-size:clamp(1.8rem,3vw,2.8rem);
    font-weight:820;
    letter-spacing:-.035em
}
.packing-page-hero p {
    max-width:760px;
    margin:0;
    color:#bdd1db;
    font-size:.8rem;
    line-height:1.65
}
.packing-flow {
    display:flex;
    align-items:center;
    flex:0 0 auto;
    gap:.55rem
}
.packing-flow b {
    padding:.55rem .7rem;
    border:1px solid rgba(255,255,255,.13);
    border-radius:9px;
    color:#96b4c0;
    font-size:.58rem
}
.packing-flow b.active {
    border-color:#48d8ca;
    background:rgba(72,216,202,.13);
    color:#e1fffc
}
.packing-flow i {
    color:#618692;
    font-style:normal
}
.packing-validation:empty {
    display:none
}
.packing-section {
    padding:1.5rem;
    border-radius:18px
}
.packing-section-title {
    display:flex;
    align-items:center;
    gap:1rem;
    margin-bottom:1.25rem
}
.packing-section-title>span {
    display:grid;
    place-items:center;
    flex:0 0 42px;
    height:42px;
    border-radius:13px;
    background:linear-gradient(135deg,#dff7f4,#e7f3fa);
    color:#087f77;
    font-size:.66rem;
    font-weight:900
}
.packing-section-title h2 {
    margin:0;
    color:#173c54;
    font-size:1.25rem;
    font-weight:800
}
.packing-section-title p {
    margin:.18rem 0 0;
    color:#718793;
    font-size:.68rem
}
.packing-address {
    height:100%;
    padding:1.15rem;
    border:1px solid #dce7ec;
    border-radius:14px;
    background:#f8fbfc
}
.packing-address legend {
    float:none;
    width:auto;
    margin:0 0 .9rem;
    color:#31566b;
    font-size:.75rem;
    font-weight:820
}
.packing-section .form-label {
    color:#526c7c;
    font-size:.65rem;
    font-weight:760
}
.packing-balance-head {
    display:grid;
    grid-template-columns:minmax(0,1fr) 120px 85px 85px 120px;
    gap:.8rem;
    padding:0 .9rem .5rem;
    color:#82949e;
    font-size:.56rem;
    font-weight:820;
    letter-spacing:.08em;
    text-transform:uppercase
}
.packing-balance-head span:nth-child(2) {
    grid-column:2
}
.packing-item-list {
    display:grid;
    gap:.75rem
}
.packing-item-row {
    display:grid;
    grid-template-columns:minmax(460px,1fr) 120px 85px 85px 120px;
    align-items:end;
    gap:.8rem;
    padding:.95rem;
    border:1px solid #dce6eb;
    border-radius:14px;
    background:#fff;
    box-shadow:0 7px 20px rgba(15,48,69,.045)
}
.packing-item-fields {
    display:grid;
    grid-template-columns:2fr 1fr 1.2fr 1fr .7fr;
    gap:.55rem
}
.packing-item-row output {
    display:grid;
    place-items:center;
    min-height:43px;
    border-radius:10px;
    background:#eaf7f5;
    color:#08796f;
    font-size:.9rem;
    font-weight:850
}
.packing-item-row output[data-available].is-complete {
    background:#e4f7e9;
    color:#197445
}
.packing-item-row output[data-available].is-negative {
    background:#fff0ef;
    color:#b6332c
}
.packing-item-actions {
    display:grid;
    gap:.25rem;
    align-self:center;
    color:#607987;
    font-size:.58rem
}
.packing-item-actions label {
    display:flex;
    gap:.35rem
}
.handling-unit-list {
    display:grid;
    gap:1rem
}
.handling-unit-card {
    overflow:hidden;
    border:1px solid #d9e5ea;
    border-radius:16px;
    background:#fff;
    box-shadow:0 10px 25px rgba(15,48,69,.06)
}
.handling-unit-card>header {
    display:flex;
    align-items:center;
    gap:1rem;
    padding:.8rem 1rem;
    background:linear-gradient(90deg,#f5fafb,#fff)
}
.handling-unit-card>header>button:first-child {
    display:grid;
    grid-template-columns:150px minmax(180px,1fr) auto;
    align-items:center;
    flex:1;
    gap:1rem;
    padding:0;
    border:0;
    background:transparent;
    color:#365a6e;
    text-align:left
}
.handling-unit-card>header>button:first-child i {
    color:#8799a2;
    font-size:.58rem;
    font-style:normal
}
.handling-id {
    display:inline-flex;
    width:max-content;
    padding:.45rem .65rem;
    border-radius:8px;
    background:#0c3954;
    color:#78e8df;
    font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
    font-size:.72rem;
    font-weight:850
}
.handling-unit-body {
    display:grid;
    grid-template-columns:minmax(480px,1.2fr) minmax(330px,.8fr);
    gap:1.25rem;
    padding:1.15rem;
    border-top:1px solid #e3eaee
}
.handling-dimensions {
    display:grid;
    grid-template-columns:1.6fr repeat(4,1fr);
    align-items:end;
    gap:.6rem
}
.handling-danger {
    grid-column:1/-1;
    display:flex;
    gap:.45rem;
    color:#667e8b;
    font-size:.62rem
}
.handling-items {
    padding:1rem;
    border-radius:12px;
    background:#f5f9fb
}
.handling-items-title {
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:.7rem;
    color:#36566a;
    font-size:.72rem
}
.handling-allocation {
    display:grid;
    grid-template-columns:1fr 130px 42px;
    gap:.5rem;
    margin-top:.5rem
}
.handling-packed-preview {
    display:flex;
    flex-wrap:wrap;
    gap:.4rem;
    margin-top:.75rem
}
.handling-packed-preview span {
    display:flex;
    align-items:center;
    gap:.5rem;
    padding:.35rem .5rem;
    border-radius:7px;
    background:#e2f4f1;
    color:#276458;
    font-size:.6rem
}
.handling-packed-preview b {
    padding:.1rem .3rem;
    border-radius:4px;
    background:#fff
}
.handling-packed-preview em {
    color:#81939c;
    font-size:.62rem
}
.packing-submit-bar {
    position:sticky;
    z-index:20;
    bottom:0;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:.75rem;
    margin-top:1rem;
    padding:1rem 1.25rem;
    border:1px solid #d5e3e8;
    border-radius:16px;
    background:rgba(255,255,255,.95);
    box-shadow:0 -10px 35px rgba(10,41,61,.1);
    backdrop-filter:blur(12px)
}
.packing-submit-bar>div {
    margin-right:auto
}
.packing-submit-bar strong,.packing-submit-bar span {
    display:block
}
.packing-submit-bar strong {
    color:#173d53;
    font-size:.78rem
}
.packing-submit-bar span {
    margin-top:.15rem;
    color:#728995;
    font-size:.62rem
}
.saved-handling-items {
    display:grid;
    gap:.5rem;
    padding:1rem;
    border-top:1px solid #e2eaee
}
.saved-handling-items>div {
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:.8rem 1rem;
    border-radius:10px;
    background:#f5f9fa
}
.saved-handling-items strong,.saved-handling-items small {
    display:block
}
.saved-handling-items small {
    margin-top:.15rem;
    color:#748994;
    font-size:.61rem
}
.saved-handling-items>b {
    color:#087a70;
    font-size:.72rem
}
.packing-field-alert {
    display:flex;
    align-items:center;
    gap:.65rem;
    padding:.72rem .9rem;
    border:1px solid #e7aeb3;
    border-left:4px solid #c93643;
    border-radius:8px;
    background:#fff5f5;
    color:#9f2631;
    font-size:.76rem;
    font-weight:750
}
.packing-field-alert i {
    font-size:1rem
}
.packing-workbench .form-control.packing-field-invalid,.packing-workbench .form-select.packing-field-invalid,.packing-workbench .input-validation-error {
    border-color:#cf3442!important;
    background-color:#fff8f8!important;
    box-shadow:0 0 0 3px rgba(207,52,66,.12)!important
}
.packing-workbench .packing-field-invalid:focus {
    border-color:#b51f2d!important;
    box-shadow:0 0 0 4px rgba(207,52,66,.18)!important
}
.packing-field-error {
    margin-top:.32rem;
    color:#b02532;
    font-size:.64rem;
    font-weight:700;
    line-height:1.35
}
.packing-item-row:has(.packing-field-invalid),.handling-unit-card:has(.packing-field-invalid) {
    border-color:#df7d86!important;
    box-shadow:0 0 0 3px rgba(207,52,66,.07)!important
}
@media(max-width:1199px) {
    .packing-page-hero {
        align-items:flex-start;
        flex-direction:column
    }
    .packing-flow {
        flex-wrap:wrap
    }
    .packing-item-row {
        grid-template-columns:1fr 100px 75px 75px
    }
    .packing-item-actions {
        grid-column:1/-1;
        display:flex
    }
    .packing-item-fields {
        grid-column:1/-1
    }
    .handling-unit-body {
        grid-template-columns:1fr
    }
    .handling-unit-card>header>button:first-child {
        grid-template-columns:150px 1fr
    }
    .handling-unit-card>header>button:first-child i {
        display:none
    }
}
@media(max-width:767px) {
    .packing-page-hero {
        padding:1.4rem
    }
    .packing-flow {
        display:none
    }
    .packing-section {
        padding:1rem
    }
    .packing-balance-head {
        display:none
    }
    .packing-item-row {
        grid-template-columns:repeat(3,1fr)
    }
    .packing-item-fields {
        grid-template-columns:1fr 1fr
    }
    .packing-item-fields>div:first-child {
        grid-column:1/-1
    }
    .packing-quantity-cell {
        grid-column:1
    }
    .packing-item-actions {
        grid-column:1/-1;
        flex-wrap:wrap
    }
    .handling-unit-card>header {
        align-items:flex-start
    }
    .handling-unit-card>header>button:first-child {
        grid-template-columns:1fr
    }
    .handling-unit-body {
        padding:.8rem
    }
    .handling-dimensions {
        grid-template-columns:1fr 1fr
    }
    .handling-dimensions>div:first-child {
        grid-column:1/-1
    }
    .handling-allocation {
        grid-template-columns:1fr 100px 38px
    }
    .packing-submit-bar {
        align-items:stretch;
        flex-wrap:wrap
    }
    .packing-submit-bar>div {
        width:100%
    }
    .packing-submit-bar .btn {
        flex:1
    }
    .saved-handling-items>div {
        align-items:flex-start;
        flex-direction:column
    }
}
/* Dense shipment workbench used only by the items-first creation screen. */
.packing-workbench--compact {
    min-height:100vh;
    background:#eef2f5;
    color:#1e2a34
}
.packing-workbench--compact .packing-shell {
    width:100%;
    padding:0 0 76px
}
.packing-workbench--compact .packing-validation.validation-summary-valid {
    display:none
}
.packing-app-header {
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:76px;
    padding:0 1.25rem;
    background:#34363b;
    color:#fff;
    box-shadow:0 2px 8px rgba(15,25,35,.18)
}
.packing-app-title {
    display:flex;
    align-items:center;
    gap:.9rem
}
.packing-app-mark {
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    border-right:1px solid #696c72;
    color:#fff;
    font-size:1.55rem
}
.packing-app-title small {
    display:block;
    color:#7ed4f2;
    font-size:.6rem;
    font-weight:800;
    letter-spacing:.12em
}
.packing-app-title h1 {
    margin:.15rem 0 0;
    font-size:1.45rem;
    font-weight:500;
    letter-spacing:.01em
}
.packing-header-status {
    display:flex;
    align-items:center;
    gap:1.15rem
}
.packing-header-status>span {
    color:#9ee475;
    font-size:.78rem
}
.packing-header-status>span i {
    margin-right:.35rem;
    font-size:.5rem
}
.packing-header-status>b {
    padding:.42rem .65rem;
    border:1px solid #5c6168;
    border-radius:4px;
    color:#e9edf1;
    font-size:.68rem
}
.packing-header-status>a {
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    border-left:1px solid #666a70;
    color:#fff;
    font-size:1.45rem
}
.packing-top-grid {
    display:grid;
    grid-template-columns:minmax(680px,1.35fr) minmax(420px,.65fr);
    gap:1px;
    margin:12px 12px 0;
    background:#cad3da;
    border:1px solid #cad3da
}
.packing-console-panel {
    min-width:0;
    background:#fff
}
.packing-console-heading {
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:48px;
    padding:.65rem .85rem;
    border-bottom:1px solid #d5dde3;
    background:linear-gradient(#fff,#f7f9fa)
}
.packing-console-heading>div:first-child {
    display:flex;
    align-items:center;
    gap:.55rem;
    color:#1c2d39;
    font-size:.92rem;
    font-weight:800
}
.packing-console-heading>div:first-child i {
    color:#14a9dc;
    font-size:1rem
}
.packing-console-heading>small {
    color:#75828b;
    font-size:.62rem
}
.packing-address-grid {
    display:grid;
    grid-template-columns:1fr 1fr
}
.packing-workbench--compact .packing-address {
    height:auto;
    padding:.8rem;
    border:0;
    border-radius:0;
    background:#fff
}
.packing-workbench--compact .packing-address:first-child {
    border-right:1px solid #d9e0e5
}
.packing-workbench--compact .packing-address legend {
    display:flex;
    align-items:center;
    gap:.5rem;
    margin:0 0 .65rem;
    color:#263946;
    font-size:.75rem
}
.packing-workbench--compact .packing-address legend span {
    padding:.2rem .38rem;
    border-radius:3px;
    background:#263b4a;
    color:#fff;
    font-size:.52rem;
    letter-spacing:.08em
}
.packing-form-grid {
    display:grid;
    grid-template-columns:repeat(12,minmax(0,1fr));
    gap:.55rem
}
.packing-form-grid .span-3 {
    grid-column:span 3
}
.packing-form-grid .span-4 {
    grid-column:span 4
}
.packing-form-grid .span-6 {
    grid-column:span 6
}
.packing-form-grid .span-8 {
    grid-column:span 8
}
.packing-form-grid .span-12 {
    grid-column:span 12
}
.packing-workbench--compact .form-label {
    display:block;
    margin-bottom:.22rem;
    color:#485865;
    font-size:.6rem;
    font-weight:750;
    text-transform:none
}
.packing-workbench--compact .form-control,.packing-workbench--compact .form-select {
    min-height:36px;
    border-color:#aebdca;
    border-radius:3px;
    background-color:#fff;
    font-size:.72rem
}
.packing-workbench--compact textarea.form-control {
    min-height:75px
}
.shipment-console-fields {
    padding:.8rem
}
.packing-units {
    display:flex;
    gap:.6rem;
    color:#6b7780;
    font-size:.56rem
}
.packing-units span {
    padding-left:.6rem;
    border-left:1px solid #d1d9de
}
.packing-units b {
    display:block;
    color:#253744;
    font-size:.66rem
}
.packing-route-summary {
    display:flex;
    align-items:center;
    gap:.75rem;
    margin:.1rem .8rem .8rem;
    padding:.7rem .8rem;
    border-left:3px solid #19a8d8;
    background:#f1f8fb
}
.packing-route-summary>i {
    color:#16a8d9;
    font-size:1.35rem
}
.packing-route-summary small,.packing-route-summary strong,.packing-route-summary span {
    display:block
}
.packing-route-summary small {
    color:#78909d;
    font-size:.5rem;
    font-weight:800;
    letter-spacing:.08em
}
.packing-route-summary strong {
    color:#223744;
    font-size:.76rem
}
.packing-route-summary span {
    color:#768690;
    font-size:.58rem
}
.packing-workbench-tabs {
    display:flex;
    align-items:stretch;
    margin:0 12px;
    border:1px solid #cbd5dc;
    border-top:0;
    background:#e4e7e9;
    overflow-x:auto
}
.packing-workbench-tabs a,.packing-workbench-tabs span {
    display:flex;
    align-items:center;
    gap:.4rem;
    flex:0 0 auto;
    padding:.72rem 1rem;
    border-right:1px solid #c8d1d7;
    color:#263640;
    font-size:.7rem;
    text-decoration:none
}
.packing-workbench-tabs a:hover {
    background:#f5f7f8
}
.packing-workbench-tabs .active {
    border-color:#20a7d7;
    background:#20a7d7;
    color:#fff;
    font-weight:800
}
.packing-workbench-tabs span {
    color:#707d85
}
.packing-grid-workspace {
    display:grid;
    grid-template-columns:minmax(620px,1.08fr) minmax(540px,.92fr);
    gap:1px;
    margin:0 12px;
    background:#cbd5dc;
    border:1px solid #cbd5dc;
    border-top:0
}
.packing-items-console,.packing-units-console {
    padding-bottom:.9rem
}
.packing-console-help {
    min-height:38px;
    margin:0;
    padding:.55rem .85rem;
    border-bottom:1px solid #e2e7ea;
    color:#6b7b86;
    font-size:.61rem
}
.packing-action-toolbar {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.75rem;
    padding:.6rem .75rem;
    border-bottom:1px solid #d9e3e8;
    background:#eef7fb
}
.packing-action-toolbar>div {
    display:flex;
    flex-wrap:wrap;
    gap:.45rem
}
.packing-action-toolbar>span {
    color:#567282;
    font-size:.58rem;
    text-align:right
}
.packing-action-toolbar>span.is-error {
    color:#b62f2f;
    font-weight:750
}
.packing-workbench--compact .packing-balance-head {
    grid-template-columns:minmax(0,1fr) 82px 65px 70px;
    gap:.5rem;
    margin:0;
    padding:.65rem .75rem .4rem;
    border-bottom:1px solid #e3e8eb;
    background:#f8fafb
}
.packing-workbench--compact .packing-item-list {
    gap:.55rem;
    padding:.65rem
}
.packing-workbench--compact .packing-item-row {
    grid-template-columns:minmax(84px,1fr) 65px 70px;
    gap:.55rem;
    padding:.65rem;
    border-radius:4px;
    box-shadow:none
}
.packing-workbench--compact .packing-item-fields {
    grid-column:1/-1;
    grid-template-columns:2fr 1fr 1.2fr 1fr .7fr;
    gap:.45rem
}
.packing-workbench--compact .packing-quantity-cell {
    grid-column:1
}
.packing-workbench--compact .packing-item-row output {
    min-height:36px;
    border-radius:3px;
    font-size:.74rem
}
.packing-choice-cell {
    grid-column:1/-1;
    display:grid;
    grid-template-columns:minmax(120px,.7fr) minmax(130px,1fr);
    align-items:end;
    gap:.75rem;
    margin-top:.1rem;
    padding:.55rem .65rem;
    border:1px solid #cde3ed;
    border-radius:3px;
    background:#f0f8fb
}
.packing-select-item {
    display:flex;
    align-items:center;
    gap:.45rem;
    min-height:36px;
    color:#176486;
    font-size:.66rem;
    font-weight:800
}
.packing-select-item input {
    width:17px;
    height:17px
}
.packing-workbench--compact .packing-item-actions {
    grid-column:1/-1;
    display:flex;
    align-items:center;
    gap:.8rem
}
.packing-workbench--compact .packing-item-actions .btn {
    margin-left:auto
}
.handling-grid-head {
    display:grid;
    grid-template-columns:28px 1fr 75px 120px 50px;
    gap:.45rem;
    padding:.65rem .75rem .4rem;
    border-bottom:1px solid #e3e8eb;
    background:#f8fafb;
    color:#82909a;
    font-size:.53rem;
    font-weight:850;
    letter-spacing:.06em;
    text-transform:uppercase
}
.packing-workbench--compact .handling-unit-list {
    gap:.55rem;
    padding:.65rem
}
.packing-workbench--compact .handling-unit-card {
    border-radius:4px;
    box-shadow:none
}
.packing-workbench--compact .handling-unit-card>header {
    padding:.55rem .65rem
}
.packing-workbench--compact .handling-unit-card>header>button:first-child {
    grid-template-columns:130px minmax(150px,1fr) auto;
    gap:.6rem
}
.packing-workbench--compact .handling-id {
    padding:.35rem .48rem;
    border-radius:3px;
    background:#30495a;
    color:#8de9e2;
    font-size:.64rem
}
.packing-workbench--compact .handling-unit-body {
    grid-template-columns:1fr;
    gap:.75rem;
    padding:.7rem
}
.packing-workbench--compact .handling-dimensions {
    grid-template-columns:1.5fr repeat(4,1fr);
    gap:.45rem
}
.packing-workbench--compact .handling-items {
    padding:.7rem;
    border-radius:3px
}
.packing-workbench--compact .handling-allocation {
    grid-template-columns:1fr 110px 38px
}
.packing-workbench--compact .packing-submit-bar {
    position:fixed;
    z-index:1035;
    right:0;
    bottom:0;
    left:0;
    margin:0;
    padding:.72rem 1rem;
    border:0;
    border-radius:0;
    background:#34363b;
    box-shadow:0 -4px 16px rgba(16,25,31,.22);
    color:#fff
}
.packing-workbench--compact .packing-submit-bar strong {
    color:#fff
}
.packing-workbench--compact .packing-submit-bar span {
    color:#b9c3ca
}
.packing-workbench--compact .packing-submit-bar .btn {
    border-radius:3px
}
@media(max-width:1399px) {
    .packing-top-grid {
        grid-template-columns:1fr
    }
    .packing-address-console {
        border-bottom:1px solid #cad3da
    }
}
@media(max-width:1199px) {
    .packing-grid-workspace {
        grid-template-columns:1fr
    }
    .packing-items-console {
        border-bottom:1px solid #cad3da
    }
}
@media(max-width:991px) {
    .packing-address-grid {
        grid-template-columns:1fr
    }
    .packing-workbench--compact .packing-address:first-child {
        border-right:0;
        border-bottom:1px solid #d9e0e5
    }
    .packing-app-title h1 {
        font-size:1.15rem
    }
    .packing-header-status>b {
        display:none
    }
}
@media(max-width:767px) {
    .packing-app-header {
        min-height:64px;
        padding:0 .7rem
    }
    .packing-app-mark {
        width:36px;
        height:40px
    }
    .packing-app-title small {
        display:none
    }
    .packing-app-title h1 {
        font-size:1rem
    }
    .packing-header-status>span {
        display:none
    }
    .packing-top-grid,.packing-grid-workspace,.packing-workbench-tabs {
        margin-right:6px;
        margin-left:6px
    }
    .packing-form-grid .span-3,.packing-form-grid .span-4,.packing-form-grid .span-6,.packing-form-grid .span-8 {
        grid-column:span 6
    }
    .packing-form-grid .span-12 {
        grid-column:1/-1
    }
    .packing-workbench--compact .packing-item-fields {
        grid-template-columns:1fr 1fr
    }
    .packing-workbench--compact .packing-item-fields>div:first-child {
        grid-column:1/-1
    }
    .packing-workbench--compact .packing-balance-head {
        display:grid
    }
    .packing-action-toolbar {
        align-items:stretch;
        flex-direction:column
    }
    .packing-action-toolbar>span {
        text-align:left
    }
    .packing-choice-cell {
        grid-template-columns:1fr
    }
    .packing-workbench--compact .handling-dimensions {
        grid-template-columns:1fr 1fr
    }
    .packing-workbench--compact .handling-dimensions>div:first-child {
        grid-column:1/-1
    }
    .packing-workbench--compact .packing-submit-bar>div {
        display:none
    }
    .packing-workbench--compact .packing-submit-bar .btn {
        font-size:.65rem
    }
    .packing-units {
        display:none
    }
}
/* Dense operations layout: keep all shipment and packing controls while reducing scrolling. */
.packing-workbench--compact .packing-shell {
    padding-bottom:58px
}
.packing-workbench--compact .packing-app-header {
    min-height:54px;
    padding:0 .8rem
}
.packing-workbench--compact .packing-app-mark {
    width:38px;
    height:38px;
    font-size:1.15rem
}
.packing-workbench--compact .packing-app-title {
    gap:.6rem
}
.packing-workbench--compact .packing-app-title h1 {
    margin-top:.05rem;
    font-size:1.08rem
}
.packing-workbench--compact .packing-header-status {
    gap:.7rem
}
.packing-workbench--compact .packing-header-status>a {
    width:38px;
    height:38px;
    font-size:1.05rem
}
.packing-workbench--compact .packing-top-grid {
    grid-template-columns:minmax(600px,1.35fr) minmax(360px,.65fr);
    margin-top:7px
}
.packing-workbench--compact .packing-console-heading {
    min-height:38px;
    padding:.42rem .65rem
}
.packing-workbench--compact .packing-console-heading>div:first-child {
    font-size:.8rem
}
.packing-workbench--compact .packing-address {
    padding:.52rem .62rem
}
.packing-workbench--compact .packing-address legend {
    margin-bottom:.4rem;
    font-size:.68rem
}
.packing-workbench--compact .packing-form-grid {
    gap:.34rem .42rem
}
.packing-workbench--compact .form-label {
    margin-bottom:.12rem;
    font-size:.56rem;
    line-height:1.05
}
.packing-workbench--compact .form-control,.packing-workbench--compact .form-select {
    min-height:30px;
    padding-top:.22rem;
    padding-bottom:.22rem;
    font-size:.67rem
}
.packing-workbench--compact textarea.form-control {
    min-height:48px
}
.packing-workbench--compact .shipment-console-fields {
    padding:.52rem .62rem
}
.packing-workbench--compact .packing-route-summary {
    margin:.05rem .62rem .52rem;
    padding:.45rem .58rem
}
.packing-workbench--compact .packing-route-summary>i {
    font-size:1rem
}
.packing-workbench--compact .packing-workbench-tabs a,.packing-workbench--compact .packing-workbench-tabs span {
    padding:.48rem .72rem;
    font-size:.62rem
}
.packing-workbench--compact .packing-console-help {
    display:none
}
.packing-workbench--compact .packing-action-toolbar {
    padding:.42rem .55rem
}
.packing-workbench--compact .packing-balance-head {
    grid-template-columns:minmax(0,1fr) 90px 52px 56px;
    gap:.38rem;
    padding:.42rem .55rem .28rem
}
.packing-workbench--compact .packing-item-list {
    gap:.38rem;
    padding:.45rem
}
.packing-workbench--compact .packing-item-row {
    grid-template-columns:minmax(225px,1fr) 90px 52px 56px auto;
    gap:.38rem;
    padding:.45rem
}
.packing-workbench--compact .packing-item-fields {
    grid-column:1/-1;
    grid-row:1;
    gap:.32rem
}
.packing-workbench--compact .packing-quantity-cell {
    grid-column:2;
    grid-row:2
}
.packing-workbench--compact .packing-item-row output {
    grid-row:2;
    min-height:30px;
    font-size:.68rem
}
.packing-workbench--compact .packing-item-row output[data-packed] {
    grid-column:3
}
.packing-workbench--compact .packing-item-row output[data-available] {
    grid-column:4
}
.packing-workbench--compact .packing-choice-cell {
    grid-column:1;
    grid-row:2;
    display:flex;
    align-items:center;
    gap:.55rem;
    margin:0;
    padding:.28rem .4rem
}
.packing-workbench--compact .packing-choice-cell>div {
    display:flex;
    align-items:center;
    gap:.35rem;
    margin-left:auto
}
.packing-workbench--compact .packing-choice-cell>div .form-label {
    margin:0;
    white-space:nowrap
}
.packing-workbench--compact .packing-choice-cell>div .form-control {
    width:76px
}
.packing-workbench--compact .packing-select-item {
    min-height:28px;
    font-size:.61rem;
    white-space:nowrap
}
.packing-workbench--compact .packing-select-item input {
    width:15px;
    height:15px
}
.packing-workbench--compact .packing-item-actions {
    grid-column:5;
    grid-row:2;
    gap:.45rem;
    font-size:.54rem;
    white-space:nowrap
}
.packing-workbench--compact .packing-item-actions .btn {
    margin-left:0;
    padding:.25rem .42rem
}
.packing-workbench--compact .handling-grid-head {
    padding:.42rem .55rem .28rem
}
.packing-workbench--compact .handling-unit-list {
    gap:.38rem;
    padding:.45rem
}
.packing-workbench--compact .handling-unit-card>header {
    padding:.4rem .5rem
}
.packing-workbench--compact .handling-unit-card>header>button:first-child {
    grid-template-columns:118px minmax(130px,1fr) auto;
    gap:.45rem
}
.packing-workbench--compact .handling-id {
    padding:.28rem .4rem;
    font-size:.58rem
}
.packing-workbench--compact .handling-unit-body {
    gap:.5rem;
    padding:.5rem
}
.packing-workbench--compact .handling-dimensions {
    gap:.32rem
}
.packing-workbench--compact .handling-danger {
    font-size:.57rem
}
.packing-workbench--compact .handling-items {
    padding:.5rem
}
.packing-workbench--compact .handling-items-title {
    margin-bottom:.4rem
}
.packing-workbench--compact .handling-allocation {
    gap:.32rem;
    margin-top:.32rem
}
.packing-workbench--compact .handling-packed-preview {
    margin-top:.42rem
}
.packing-workbench--compact .packing-submit-bar {
    padding:.48rem .72rem
}
@media(max-width:1099px) {
    .packing-workbench--compact .packing-top-grid {
        grid-template-columns:1fr
    }
    .packing-workbench--compact .packing-address-console {
        border-bottom:1px solid #cad3da
    }
    .packing-workbench--compact .packing-grid-workspace {
        grid-template-columns:1fr
    }
    .packing-workbench--compact .packing-items-console {
        border-bottom:1px solid #cad3da
    }
}
@media(min-width:1100px) {
    .packing-workbench--compact .packing-grid-workspace {
        grid-template-columns:minmax(570px,1.08fr) minmax(470px,.92fr)
    }
}
@media(max-width:767px) {
    .packing-workbench--compact .packing-app-header {
        min-height:52px
    }
    .packing-workbench--compact .packing-top-grid {
        margin-top:5px
    }
    .packing-workbench--compact .packing-address {
        padding:.5rem
    }
    .packing-workbench--compact .packing-item-row {
        grid-template-columns:1fr 52px 56px
    }
    .packing-workbench--compact .packing-item-fields {
        grid-column:1/-1;
        grid-row:auto
    }
    .packing-workbench--compact .packing-choice-cell {
        grid-column:1/-1;
        grid-row:auto
    }
    .packing-workbench--compact .packing-item-actions {
        grid-column:1/-1;
        grid-row:auto
    }
    .packing-workbench--compact .packing-quantity-cell {
        grid-column:1;
        grid-row:auto
    }
    .packing-workbench--compact .packing-item-row output {
        grid-row:auto
    }
    .packing-workbench--compact .packing-item-row output[data-packed] {
        grid-column:2
    }
    .packing-workbench--compact .packing-item-row output[data-available] {
        grid-column:3
    }
}
/* Sectioned shipment booking layout: addresses, details, items, then packages. */
.packing-workbench--compact .packing-top-grid,
.packing-workbench--compact .packing-grid-workspace {
    grid-template-columns:1fr;
    gap:12px;
    margin:12px;
    border:0;
    background:transparent;
}
.packing-workbench--compact .packing-top-grid {
    margin-top:12px
}
.packing-workbench--compact .packing-grid-workspace {
    margin-top:12px
}
.packing-workbench--compact .packing-console-panel {
    overflow:hidden;
    scroll-margin-top:72px;
    border:1px solid #cbd7df;
    border-radius:8px;
    box-shadow:0 5px 16px rgba(18,48,67,.06);
}
.packing-workbench--compact .packing-address-console,
.packing-workbench--compact .packing-items-console {
    border-bottom:1px solid #cbd7df
}
.packing-workbench--compact .packing-console-heading {
    background:linear-gradient(90deg,#f7fbfd,#fff)
}
.packing-step-number {
    display:grid;
    place-items:center;
    flex:0 0 26px;
    width:26px;
    height:26px;
    border-radius:50%;
    background:#14a9dc;
    color:#fff;
    font-size:.62rem;
    font-weight:900;
}
.packing-workbench--compact .packing-workbench-tabs {
    position:sticky;
    z-index:15;
    top:0;
    margin:12px 12px 0;
    border:1px solid #cbd5dc;
    border-radius:6px;
    background:#fff;
    box-shadow:0 4px 14px rgba(18,48,67,.07);
}
.packing-workbench--compact .packing-workbench-tabs a {
    border-right:0;
    border-bottom:3px solid transparent
}
.packing-workbench--compact .packing-workbench-tabs a b {
    display:grid;
    place-items:center;
    width:20px;
    height:20px;
    border-radius:50%;
    background:#e8f1f5;
    color:#36566a;
    font-size:.55rem;
}
.packing-workbench--compact .packing-workbench-tabs a.active {
    border-bottom-color:#108eb9;
    background:#eaf7fc;
    color:#176486
}
.packing-workbench--compact .packing-workbench-tabs a.active b {
    background:#14a9dc;
    color:#fff
}
.packing-workbench--compact .packing-items-console,
.packing-workbench--compact .packing-units-console {
    width:100%
}
.packing-item-fields,
.packing-workbench--compact .packing-item-fields {
    grid-template-columns:2fr 1fr 1.2fr 1fr
}
.packing-item-locations {
    grid-column:1/-1;
    display:flex;
    align-items:center;
    gap:.4rem;
    min-height:25px;
    padding:.3rem .45rem;
    border-radius:4px;
    background:#f1f6f8;
    color:#5e7481;
    font-size:.58rem
}
.packing-item-locations i {
    color:#1685a8
}
.packing-item-row.is-packed {
    border-left:4px solid #26a269
}
.packing-item-row.is-packed .packing-item-locations {
    background:#e8f7ee;
    color:#24744d
}
.packing-item-row.is-overpacked {
    border-color:#dc6b6b;
    background:#fffafa
}
.packing-item-row output {
    grid-template-rows:auto auto;
    line-height:1.05
}
.packing-item-row output:before {
    content:attr(data-label);
    display:block;
    color:#607987;
    font-size:.48rem;
    font-weight:700;
    text-transform:uppercase
}
.packing-item-row output.is-negative:before {
    color:#b6332c
}
.packing-workbench--compact .handling-allocation {
    grid-template-columns:minmax(220px,1fr) 130px 150px 96px;
    align-items:center;
    padding:.38rem;
    border:1px solid #dce6eb;
    border-radius:5px;
    background:#fff
}
.packing-workbench--compact .handling-allocation.is-invalid {
    border-color:#dc6b6b;
    background:#fff6f6
}
.handling-allocation-status {
    color:#5f7886;
    font-size:.58rem;
    font-weight:700
}
.handling-allocation-status.is-error {
    color:#b6332c
}
.handling-allocation [data-remove-allocation] {
    white-space:nowrap
}
.handling-unit-card.is-invalid {
    border-color:#dc6b6b;
    box-shadow:0 0 0 2px rgba(220,53,69,.08)
}
@media(max-width:767px) {
    .packing-workbench--compact .packing-top-grid,
  .packing-workbench--compact .packing-grid-workspace {
        gap:8px;
        margin-right:6px;
        margin-left:6px
    }
    .packing-workbench--compact .packing-workbench-tabs {
        margin-right:6px;
        margin-left:6px
    }
    .packing-workbench--compact .packing-workbench-tabs span {
        display:none
    }
    .packing-item-fields,
  .packing-workbench--compact .packing-item-fields {
        grid-template-columns:1fr 1fr
    }
    .packing-workbench--compact .handling-allocation {
        grid-template-columns:1fr 95px
    }
    .handling-allocation-status {
        padding-left:.2rem
    }
    .handling-allocation [data-remove-allocation] {
        width:100%
    }
}
/* Item action row: total quantity first, then packing controls, balances and actions. */
.packing-workbench--compact .packing-item-row {
    grid-template-columns:155px minmax(270px,1fr) 70px 78px minmax(205px,auto);
    align-items:stretch
}
.packing-workbench--compact .packing-quantity-cell {
    grid-column:1;
    grid-row:2;
    display:flex;
    align-items:center;
    gap:.5rem;
    min-height:48px;
    padding:.42rem .5rem;
    border:1px solid #cde3ed;
    border-radius:4px;
    background:#f0f8fb
}
.packing-workbench--compact .packing-quantity-cell .form-label {
    margin:0;
    white-space:nowrap
}
.packing-workbench--compact .packing-quantity-cell .form-control {
    width:64px;
    margin-left:auto
}
.packing-workbench--compact .packing-choice-cell {
    grid-column:2;
    grid-row:2;
    min-height:48px;
    margin:0;
    border-color:#cde3ed;
    background:#f0f8fb
}
.packing-workbench--compact .packing-item-row output[data-packed] {
    grid-column:3;
    grid-row:2
}
.packing-workbench--compact .packing-item-row output[data-available] {
    grid-column:4;
    grid-row:2
}
.packing-workbench--compact .packing-item-actions {
    grid-column:5;
    grid-row:2;
    min-height:48px;
    padding:.35rem .45rem;
    border:1px solid #dbe5ea;
    border-radius:4px;
    background:#f7fafb
}
@media(max-width:767px) {
    .packing-workbench--compact .packing-item-row {
        grid-template-columns:1fr 1fr
    }
    .packing-workbench--compact .packing-quantity-cell {
        grid-column:1/-1;
        grid-row:2
    }
    .packing-workbench--compact .packing-choice-cell {
        grid-column:1/-1;
        grid-row:3
    }
    .packing-workbench--compact .packing-item-row output[data-packed] {
        grid-column:1;
        grid-row:4
    }
    .packing-workbench--compact .packing-item-row output[data-available] {
        grid-column:2;
        grid-row:4
    }
    .packing-workbench--compact .packing-item-actions {
        grid-column:1/-1;
        grid-row:5
    }
}
/* Keep standard-size controls authoritative over the legacy compact rules above. */
.packing-workbench--compact.packing-workbench--standard .packing-item-row {
    grid-template-columns:145px 155px minmax(210px,1fr) 90px 100px minmax(205px,auto);
    gap:.65rem;
    padding:.9rem;
    border-radius:10px
}
.packing-workbench--compact.packing-workbench--standard .packing-select-cell,.packing-workbench--compact.packing-workbench--standard .packing-quantity-cell,.packing-workbench--compact.packing-workbench--standard .packing-pack-quantity-cell,.packing-workbench--compact.packing-workbench--standard .packing-item-actions {
    min-height:62px;
    padding:.55rem .65rem;
    border-radius:7px
}
.packing-workbench--compact.packing-workbench--standard .packing-quantity-cell .form-control {
    width:70px
}
.packing-workbench--compact.packing-workbench--standard .packing-pack-quantity-cell .form-control {
    width:86px
}
.packing-workbench--compact.packing-workbench--standard .packing-item-row output[data-packed] {
    grid-column:4;
    grid-row:2
}
.packing-workbench--compact.packing-workbench--standard .packing-item-row output[data-available] {
    grid-column:5;
    grid-row:2
}
.packing-workbench--compact.packing-workbench--standard .packing-item-actions {
    grid-column:6;
    grid-row:2;
    gap:.55rem;
    font-size:.66rem
}
.packing-workbench--compact.packing-workbench--standard .handling-items {
    padding:1rem;
    border-radius:8px
}
.packing-workbench--compact.packing-workbench--standard .handling-items-title {
    min-height:46px;
    margin:-1rem -1rem .8rem;
    padding:.7rem 1rem
}
.packing-workbench--compact.packing-workbench--standard .handling-items-title>span {
    font-size:.64rem
}
@media(max-width:1199px) {
    .packing-workbench--compact.packing-workbench--standard .packing-item-row {
        grid-template-columns:145px 155px minmax(190px,1fr) 85px 95px
    }
    .packing-workbench--compact.packing-workbench--standard .packing-item-actions {
        grid-column:1/-1;
        grid-row:3;
        display:flex;
        justify-content:flex-end
    }
}
@media(max-width:767px) {
    .packing-workbench--compact.packing-workbench--standard .packing-item-row {
        grid-template-columns:1fr 1fr
    }
    .packing-workbench--compact.packing-workbench--standard .packing-select-cell {
        grid-column:1;
        grid-row:auto
    }
    .packing-workbench--compact.packing-workbench--standard .packing-quantity-cell {
        grid-column:2;
        grid-row:auto
    }
    .packing-workbench--compact.packing-workbench--standard .packing-pack-quantity-cell {
        grid-column:1/-1;
        grid-row:auto
    }
    .packing-workbench--compact.packing-workbench--standard .packing-item-row output[data-packed] {
        grid-column:1;
        grid-row:auto
    }
    .packing-workbench--compact.packing-workbench--standard .packing-item-row output[data-available] {
        grid-column:2;
        grid-row:auto
    }
    .packing-workbench--compact.packing-workbench--standard .packing-item-actions {
        grid-column:1/-1;
        grid-row:auto;
        align-items:flex-start;
        flex-direction:column
    }
}
/* Standard-size shipment workbench. Overrides the earlier dense operations variant. */
.packing-workbench--compact.packing-workbench--standard {
    font-size:1rem
}
.packing-workbench--standard .packing-shell {
    padding-bottom:1.5rem
}
.packing-workbench--standard .packing-app-header {
    min-height:72px;
    padding:0 1.25rem
}
.packing-workbench--standard .packing-app-mark {
    width:48px;
    height:48px;
    font-size:1.45rem
}
.packing-workbench--standard .packing-app-title {
    gap:.9rem
}
.packing-workbench--standard .packing-app-title small {
    font-size:.66rem
}
.packing-workbench--standard .packing-app-title h1 {
    font-size:1.4rem;
    font-weight:650
}
.packing-workbench--standard .packing-header-status {
    gap:1rem
}
.packing-workbench--standard .packing-header-status>span {
    font-size:.82rem
}
.packing-workbench--standard .packing-header-status>b {
    padding:.48rem .7rem;
    font-size:.76rem
}
.packing-workbench--standard .packing-header-status>a {
    width:46px;
    height:46px
}
.packing-workbench--standard .packing-workbench-tabs {
    margin:16px 18px 0;
    border-radius:9px
}
.packing-workbench--standard .packing-workbench-tabs a,.packing-workbench--standard .packing-workbench-tabs span {
    padding:.8rem 1.05rem;
    font-size:.78rem
}
.packing-workbench--standard .packing-workbench-tabs a b {
    width:25px;
    height:25px;
    font-size:.64rem
}
.packing-workbench--standard .packing-top-grid,.packing-workbench--standard .packing-grid-workspace {
    gap:18px;
    margin:18px;
    border:0;
    background:transparent
}
.packing-workbench--standard .packing-top-grid {
    margin-top:18px
}
.packing-workbench--standard .packing-grid-workspace {
    margin-top:18px
}
.packing-workbench--standard .packing-console-panel {
    border:1px solid #cbd7df;
    border-radius:12px;
    box-shadow:0 7px 22px rgba(18,48,67,.07)
}
.packing-workbench--standard .packing-console-heading {
    min-height:54px;
    padding:.75rem 1rem
}
.packing-workbench--standard .packing-console-heading>div:first-child {
    gap:.7rem;
    font-size:1rem
}
.packing-workbench--standard .packing-console-heading>small {
    font-size:.72rem
}
.packing-workbench--standard .packing-step-number {
    width:30px;
    height:30px;
    font-size:.7rem
}
.packing-workbench--standard .packing-address {
    padding:1rem 1.1rem
}
.packing-workbench--standard .packing-address legend {
    margin-bottom:.8rem;
    font-size:.82rem
}
.packing-workbench--standard .packing-address legend span {
    padding:.28rem .45rem;
    font-size:.6rem
}
.packing-workbench--standard .packing-form-grid {
    gap:.7rem .8rem
}
.packing-workbench--standard .form-label {
    margin-bottom:.35rem;
    color:#405966;
    font-size:.76rem;
    font-weight:700;
    line-height:1.25
}
.packing-workbench--standard .form-control,.packing-workbench--standard .form-select {
    min-height:43px;
    padding:.55rem .7rem;
    border-color:#b8c7d1;
    border-radius:7px;
    font-size:.86rem;
    line-height:1.35
}
.packing-workbench--standard textarea.form-control {
    min-height:82px
}
.packing-workbench--standard .shipment-console-fields {
    padding:1rem 1.1rem
}
.packing-workbench--standard .packing-route-summary {
    margin:0 1.1rem 1rem;
    padding:.8rem 1rem;
    border-radius:0 8px 8px 0
}
.packing-workbench--standard .packing-route-summary small {
    font-size:.58rem
}
.packing-workbench--standard .packing-route-summary strong {
    font-size:.86rem
}
.packing-workbench--standard .packing-route-summary span {
    margin-top:.15rem;
    font-size:.68rem
}
.packing-workbench--standard .packing-console-help {
    display:block;
    min-height:auto;
    padding:.72rem 1rem;
    font-size:.72rem;
    line-height:1.55
}
.packing-workbench--standard .packing-action-toolbar {
    padding:.7rem 1rem
}
.packing-workbench--standard .packing-action-toolbar .btn {
    min-height:38px;
    padding:.45rem .75rem;
    font-size:.74rem
}
.packing-workbench--standard .packing-action-toolbar>span {
    max-width:520px;
    font-size:.68rem;
    line-height:1.45
}
.packing-workbench--standard .packing-balance-head {
    grid-template-columns:minmax(0,1fr) 155px minmax(210px,1fr) 90px 100px minmax(205px,auto);
    gap:.65rem;
    padding:.7rem 1rem .45rem;
    font-size:.6rem
}
.packing-workbench--standard .packing-balance-head span:nth-child(2) {
    grid-column:2
}
.packing-workbench--standard .packing-balance-head span:nth-child(3) {
    grid-column:4
}
.packing-workbench--standard .packing-balance-head span:nth-child(4) {
    grid-column:5
}
.packing-workbench--standard .packing-item-list {
    gap:.8rem;
    padding:.9rem 1rem 1.1rem
}
.packing-workbench--standard .packing-item-row {
    grid-template-columns:145px 155px minmax(210px,1fr) 90px 100px minmax(205px,auto);
    gap:.65rem;
    padding:.9rem;
    border-radius:10px;
    box-shadow:0 5px 16px rgba(15,48,69,.055)
}
.packing-workbench--standard .packing-item-fields {
    gap:.65rem;
    grid-template-columns:2fr 1fr 1.25fr 1fr
}
.packing-workbench--standard .packing-select-cell,.packing-workbench--standard .packing-quantity-cell,.packing-workbench--standard .packing-pack-quantity-cell,.packing-workbench--standard .packing-item-actions {
    min-height:62px;
    padding:.55rem .65rem;
    border-radius:7px
}
.packing-workbench--standard .packing-select-item {
    font-size:.74rem
}
.packing-workbench--standard .packing-select-item input {
    width:18px;
    height:18px
}
.packing-workbench--standard .packing-quantity-cell .form-control {
    width:70px
}
.packing-workbench--standard .packing-pack-quantity-cell .form-control {
    width:86px
}
.packing-workbench--standard .packing-item-row output {
    min-height:62px;
    border-radius:7px;
    font-size:.92rem
}
.packing-workbench--standard .packing-item-row output:before {
    font-size:.56rem
}
.packing-workbench--standard .packing-item-actions {
    gap:.55rem;
    font-size:.66rem
}
.packing-workbench--standard .packing-item-actions label {
    align-items:center
}
.packing-workbench--standard .packing-item-actions input {
    width:16px;
    height:16px
}
.packing-workbench--standard .packing-item-actions .btn {
    min-height:34px;
    padding:.4rem .6rem;
    font-size:.68rem
}
.packing-workbench--standard .packing-item-locations {
    min-height:32px;
    padding:.45rem .6rem;
    font-size:.66rem
}
.packing-workbench--standard .handling-grid-head {
    padding:.65rem 1rem .45rem;
    font-size:.59rem
}
.packing-workbench--standard .handling-unit-list {
    gap:.8rem;
    padding:.9rem 1rem 1.1rem
}
.packing-workbench--standard .handling-unit-card {
    border-radius:10px;
    box-shadow:0 5px 16px rgba(15,48,69,.055)
}
.packing-workbench--standard .handling-unit-card>header {
    padding:.75rem .85rem
}
.packing-workbench--standard .handling-unit-card>header>button:first-child {
    grid-template-columns:150px minmax(160px,1fr) auto;
    gap:.8rem
}
.packing-workbench--standard .handling-id {
    padding:.42rem .6rem;
    border-radius:6px;
    font-size:.7rem
}
.packing-workbench--standard .handling-unit-body {
    gap:1rem;
    padding:1rem
}
.packing-workbench--standard .handling-dimensions {
    gap:.65rem
}
.packing-workbench--standard .handling-danger {
    align-items:center;
    font-size:.7rem
}
.packing-workbench--standard .handling-danger input {
    width:17px;
    height:17px
}
.packing-workbench--standard .handling-items {
    padding:1rem;
    border-radius:8px
}
.packing-workbench--standard .handling-items-title {
    min-height:46px;
    margin:-1rem -1rem .8rem;
    padding:.7rem 1rem
}
.packing-workbench--standard .handling-items-title strong {
    font-size:.78rem
}
.packing-workbench--standard .handling-items-title>span {
    font-size:.64rem
}
.packing-workbench--standard .handling-allocation {
    grid-template-columns:minmax(240px,1fr) 140px 160px 105px;
    gap:.6rem;
    margin-top:.55rem;
    padding:.55rem;
    border-radius:7px
}
.packing-workbench--standard .handling-allocation-status {
    font-size:.65rem
}
.packing-workbench--standard .handling-allocation .btn {
    min-height:40px;
    font-size:.68rem
}
.packing-workbench--standard .packing-submit-bar {
    position:sticky;
    right:auto;
    bottom:0;
    left:auto;
    margin:18px;
    padding:.9rem 1rem;
    border:1px solid #cbd7df;
    border-radius:11px;
    background:rgba(31,43,52,.96);
    box-shadow:0 -7px 24px rgba(16,25,31,.17)
}
.packing-workbench--standard .packing-submit-bar strong {
    font-size:.86rem
}
.packing-workbench--standard .packing-submit-bar span {
    font-size:.68rem
}
.packing-workbench--standard .packing-submit-bar .btn {
    min-height:42px;
    padding:.55rem .85rem;
    border-radius:7px;
    font-size:.76rem
}
@media(max-width:1199px) {
    .packing-workbench--standard .packing-item-row {
        grid-template-columns:145px 155px minmax(190px,1fr) 85px 95px
    }
    .packing-workbench--standard .packing-item-actions {
        grid-column:1/-1;
        grid-row:3;
        display:flex;
        justify-content:flex-end
    }
    .packing-workbench--standard .packing-balance-head {
        display:none
    }
    .packing-workbench--standard .handling-allocation {
        grid-template-columns:minmax(220px,1fr) 140px 150px 105px
    }
}
@media(max-width:767px) {
    .packing-workbench--standard .packing-top-grid,.packing-workbench--standard .packing-grid-workspace,.packing-workbench--standard .packing-workbench-tabs,.packing-workbench--standard .packing-submit-bar {
        margin-right:8px;
        margin-left:8px
    }
    .packing-workbench--standard .packing-address-grid {
        grid-template-columns:1fr
    }
    .packing-workbench--standard .packing-form-grid .span-3,.packing-workbench--standard .packing-form-grid .span-4,.packing-workbench--standard .packing-form-grid .span-6,.packing-workbench--standard .packing-form-grid .span-8 {
        grid-column:1/-1
    }
    .packing-workbench--standard .packing-item-row {
        grid-template-columns:1fr 1fr
    }
    .packing-workbench--standard .packing-item-fields {
        grid-template-columns:1fr;
        grid-column:1/-1
    }
    .packing-workbench--standard .packing-select-cell {
        grid-column:1;
        grid-row:auto
    }
    .packing-workbench--standard .packing-quantity-cell {
        grid-column:2;
        grid-row:auto
    }
    .packing-workbench--standard .packing-pack-quantity-cell {
        grid-column:1/-1;
        grid-row:auto
    }
    .packing-workbench--standard .packing-item-row output[data-packed],.packing-workbench--standard .packing-item-row output[data-available] {
        grid-row:auto
    }
    .packing-workbench--standard .packing-item-row output[data-packed] {
        grid-column:1
    }
    .packing-workbench--standard .packing-item-row output[data-available] {
        grid-column:2
    }
    .packing-workbench--standard .packing-item-actions {
        grid-column:1/-1;
        grid-row:auto;
        align-items:flex-start;
        flex-direction:column
    }
    .packing-workbench--standard .handling-dimensions {
        grid-template-columns:1fr 1fr
    }
    .packing-workbench--standard .handling-allocation {
        grid-template-columns:1fr
    }
    .packing-workbench--standard .handling-allocation .btn {
        width:100%
    }
    .packing-workbench--standard .packing-submit-bar {
        align-items:stretch;
        position:sticky
    }
    .packing-workbench--standard .packing-submit-bar>div {
        display:block;
        width:100%
    }
    .packing-workbench--standard .packing-submit-bar .btn {
        flex:1
    }
}
/* Full rich-text editing for CMS pages and blog posts. */
.cms-rich-editor {
    position:relative;
    overflow:hidden;
    border:1px solid var(--bs-border-color,#ced9df);
    border-radius:10px;
    background:var(--bs-body-bg,#fff);
    box-shadow:0 4px 15px rgba(18,54,75,.04)
}
.cms-rich-toolbar {
    position:sticky;
    z-index:3;
    top:0;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:.4rem;
    padding:.55rem;
    border-bottom:1px solid var(--bs-border-color,#dde6ea);
    background:var(--bs-tertiary-bg,#f5f8fa)
}
.cms-rich-toolbar-group {
    display:flex;
    align-items:center;
    gap:.25rem;
    padding-right:.4rem;
    border-right:1px solid var(--bs-border-color,#d5e0e5)
}
.cms-rich-toolbar-group:last-child {
    padding-right:0;
    border-right:0
}
.cms-rich-toolbar button,.cms-rich-format {
    min-height:32px;
    padding:.34rem .55rem;
    border:1px solid var(--bs-border-color,#d0dce2);
    border-radius:6px;
    background:var(--bs-body-bg,#fff);
    color:var(--bs-body-color,#38566a);
    font-size:.65rem;
    font-weight:700;
    line-height:1.1
}
.cms-rich-toolbar button:hover,.cms-rich-toolbar button:focus-visible,.cms-rich-format:focus {
    border-color:#18a99d;
    color:#087e76;
    outline:0
}
.cms-rich-toolbar button.active {
    border-color:#0e948a;
    background:#def6f2;
    color:#08766e
}
.cms-rich-format {
    min-width:115px
}
.cms-rich-canvas,.cms-rich-source {
    display:block;
    width:100%;
    min-height:430px;
    padding:1.25rem;
    border:0;
    background:var(--bs-body-bg,#fff);
    color:var(--bs-body-color,#263f4e);
    font-size:.84rem;
    line-height:1.75;
    outline:0
}
.cms-rich-canvas:focus,.cms-rich-source:focus {
    box-shadow:inset 0 0 0 2px rgba(21,196,183,.2)
}
.cms-rich-canvas:empty:before {
    color:var(--bs-secondary-color,#8799a3);
    content:attr(data-placeholder);
    pointer-events:none
}
.cms-rich-canvas h2 {
    margin:1.4rem 0 .7rem;
    font-size:1.7rem
}
.cms-rich-canvas h3 {
    margin:1.2rem 0 .6rem;
    font-size:1.35rem
}
.cms-rich-canvas h4 {
    margin:1rem 0 .5rem;
    font-size:1.08rem
}
.cms-rich-canvas blockquote {
    margin:1rem 0;
    padding:.8rem 1rem;
    border-left:4px solid #18a99d;
    background:var(--bs-tertiary-bg,#f2f8f8)
}
.cms-rich-canvas img {
    display:block;
    max-width:100%;
    height:auto;
    margin:1rem auto;
    border-radius:8px
}
.cms-rich-canvas a {
    color:#087f77
}
.cms-rich-source {
    resize:vertical;
    font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
    font-size:.74rem;
    white-space:pre
}
.cms-rich-footer {
    display:flex;
    justify-content:space-between;
    min-height:32px;
    padding:.42rem .7rem;
    border-top:1px solid var(--bs-border-color,#dde6ea);
    background:var(--bs-tertiary-bg,#f7f9fa);
    color:var(--bs-secondary-color,#6d828f);
    font-size:.58rem
}
.cms-rich-error {
    color:#c63743;
    font-weight:750
}
.cms-rich-editor.is-fullscreen {
    position:fixed;
    z-index:2050;
    inset:12px;
    display:flex;
    flex-direction:column;
    border-radius:12px;
    box-shadow:0 30px 90px rgba(0,0,0,.35)
}
.cms-rich-editor.is-fullscreen .cms-rich-canvas,.cms-rich-editor.is-fullscreen .cms-rich-source {
    flex:1;
    min-height:0;
    overflow:auto
}
@media(max-width:767px) {
    .cms-rich-toolbar {
        gap:.3rem
    }
    .cms-rich-toolbar-group {
        padding-right:.25rem
    }
    .cms-rich-toolbar button {
        padding:.32rem .43rem
    }
    .cms-rich-editor.is-fullscreen {
        inset:4px
    }
    .cms-rich-canvas,.cms-rich-source {
        min-height:330px;
        padding:1rem
    }
}
/* CMS media batch upload, scheduling and banner ordering. */
.media-upload-card {
    top:1rem
}
.media-dropzone {
    display:grid;
    place-items:center;
    min-height:150px;
    padding:1.25rem;
    border:2px dashed #a9c4d2;
    border-radius:14px;
    background:#f5fafc;
    color:#426174;
    text-align:center;
    cursor:pointer;
    transition:border-color .18s,background .18s,transform .18s
}
.media-dropzone:hover,.media-dropzone:focus-visible,.media-dropzone.is-dragging {
    border-color:#13a5b5;
    background:#eaf9fa;
    outline:0;
    transform:translateY(-1px)
}
.media-dropzone-icon {
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    margin-bottom:.45rem;
    border-radius:50%;
    background:#d9f3f4;
    color:#087c86;
    font-size:1.45rem;
    font-weight:850
}
.media-dropzone strong,.media-dropzone span,.media-dropzone small {
    display:block
}
.media-dropzone span {
    font-size:.72rem
}
.media-dropzone small {
    margin-top:.45rem;
    color:#68808e;
    font-size:.62rem
}
.media-file-previews {
    display:grid;
    gap:.55rem
}
.media-file-previews:empty {
    display:none
}
.media-file-preview {
    display:grid;
    grid-template-columns:72px minmax(0,1fr) auto;
    align-items:center;
    gap:.65rem;
    padding:.5rem;
    border:1px solid #d8e4e9;
    border-radius:10px;
    background:#fff
}
.media-file-preview.is-invalid {
    border-color:#d94d58;
    background:#fff7f7
}
.media-file-preview img {
    width:72px;
    height:45px;
    border-radius:6px;
    object-fit:cover
}
.media-file-preview strong,.media-file-preview small {
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap
}
.media-file-preview strong {
    font-size:.68rem
}
.media-file-preview small {
    margin-top:.2rem;
    color:#6d828f;
    font-size:.58rem
}
.media-current-preview {
    position:relative;
    overflow:hidden;
    border-radius:10px
}
.media-current-preview img {
    display:block;
    width:100%;
    aspect-ratio:8/3;
    object-fit:cover
}
.media-current-preview span {
    position:absolute;
    right:.5rem;
    bottom:.5rem;
    padding:.25rem .5rem;
    border-radius:20px;
    background:rgba(5,29,45,.78);
    color:#fff;
    font-size:.58rem;
    font-weight:750
}
.media-sort-list>[data-banner-id] {
    cursor:grab
}
.media-sort-list>[data-banner-id]:active {
    cursor:grabbing
}
.media-sort-list>[data-banner-id].is-dragging {
    opacity:.45
}
.media-banner-card {
    position:relative;
    transition:transform .16s,box-shadow .16s
}
.media-sort-list>[data-banner-id]:hover .media-banner-card {
    transform:translateY(-2px);
    box-shadow:0 12px 25px rgba(23,57,75,.13)!important
}
.media-drag-handle {
    position:absolute;
    z-index:2;
    top:.5rem;
    left:.5rem;
    display:grid;
    place-items:center;
    width:34px;
    height:30px;
    border-radius:8px;
    background:rgba(6,30,45,.78);
    color:#fff;
    font-size:.9rem;
    font-weight:900;
    letter-spacing:-.2rem;
    cursor:grab
}
.media-manager .media-banner-card>img {
    aspect-ratio:8/3;
    height:auto
}
.media-manager [data-banner-order-inputs] {
    display:none
}
@media(max-width:575px) {
    .media-file-preview {
        grid-template-columns:58px minmax(0,1fr)
    }
    .media-file-preview img {
        width:58px
    }
    .media-file-preview .btn {
        grid-column:1/-1
    }
    .media-upload-card {
        position:static!important
    }
}
.packing-workbench--compact .handling-items {
    border:1px solid #cde3ed;
    background:#f7fbfd
}
.packing-workbench--compact .handling-items-title {
    min-height:38px;
    margin:-.5rem -.5rem .5rem;
    padding:.5rem .65rem;
    border-bottom:1px solid #cde3ed;
    background:#f0f8fb;
    color:#176486
}
.packing-workbench--compact .handling-items-title strong {
    display:flex;
    align-items:center
}
.packing-workbench--compact .handling-items-title>span {
    color:#617b89;
    font-size:.56rem;
    font-weight:650
}
/* Requested control swap: selection first, followed by total and quantity to pack. */
.packing-workbench--compact .packing-item-row {
    grid-template-columns:145px 155px minmax(210px,1fr) 70px 78px minmax(205px,auto)
}
.packing-workbench--compact .packing-select-cell {
    grid-column:1;
    grid-row:2;
    align-self:stretch;
    min-height:48px;
    padding:.42rem .55rem;
    border:1px solid #cde3ed;
    border-radius:4px;
    background:#f0f8fb
}
.packing-workbench--compact .packing-quantity-cell {
    grid-column:2;
    grid-row:2
}
.packing-workbench--compact .packing-pack-quantity-cell {
    grid-column:3;
    grid-row:2;
    display:flex;
    align-items:center;
    gap:.5rem;
    min-height:48px;
    padding:.42rem .5rem;
    border:1px solid #cde3ed;
    border-radius:4px;
    background:#f0f8fb
}
.packing-workbench--compact .packing-pack-quantity-cell .form-label {
    margin:0;
    white-space:nowrap
}
.packing-workbench--compact .packing-pack-quantity-cell .form-control {
    width:78px;
    margin-left:auto
}
.packing-workbench--compact .packing-item-row output[data-packed] {
    grid-column:4;
    grid-row:2
}
.packing-workbench--compact .packing-item-row output[data-available] {
    grid-column:5;
    grid-row:2
}
.packing-workbench--compact .packing-item-actions {
    grid-column:6;
    grid-row:2
}
@media(max-width:767px) {
    .packing-workbench--compact .packing-item-row {
        grid-template-columns:1fr 1fr
    }
    .packing-workbench--compact .packing-select-cell {
        grid-column:1;
        grid-row:2
    }
    .packing-workbench--compact .packing-quantity-cell {
        grid-column:2;
        grid-row:2
    }
    .packing-workbench--compact .packing-pack-quantity-cell {
        grid-column:1/-1;
        grid-row:3
    }
    .packing-workbench--compact .packing-item-row output[data-packed] {
        grid-column:1;
        grid-row:4
    }
    .packing-workbench--compact .packing-item-row output[data-available] {
        grid-column:2;
        grid-row:4
    }
    .packing-workbench--compact .packing-item-actions {
        grid-column:1/-1;
        grid-row:5
    }
}
.user-password-reset > summary {
    list-style: none;
}
.user-password-reset > summary::-webkit-details-marker {
    display: none;
}
/* Public shipment request */
.public-request-hero {
    padding:3.7rem 0 3rem
}
.public-request-layout {
    display:grid;
    grid-template-columns:minmax(0,1fr) 330px;
    align-items:start;
    gap:1.5rem;
    max-width:1180px;
    margin:auto
}
.public-request-main {
    display:grid;
    gap:1.1rem;
    min-width:0
}
.public-request-card {
    padding:1.6rem;
    border:1px solid #dce8ed;
    border-radius:18px;
    background:#fff;
    box-shadow:0 12px 32px rgba(11,42,65,.07)
}
.public-request-card .form-label {
    margin-bottom:.4rem;
    color:#38576a;
    font-size:.78rem;
    font-weight:750
}
.public-request-card .form-control,.public-request-card .form-select {
    min-height:48px;
    border:1px solid #cad9e1;
    border-radius:9px;
    background-color:#fff;
    color:#17384b;
    font-size:.88rem
}
.public-request-card textarea.form-control {
    min-height:88px;
    resize:vertical
}
.public-request-card .form-control:focus,.public-request-card .form-select:focus {
    border-color:#0b8f87;
    box-shadow:0 0 0 3px rgba(11,143,135,.12)
}
.public-request-card .input-validation-error {
    border-color:#c83e4d;
    background:#fff9f9;
    box-shadow:0 0 0 3px rgba(200,62,77,.09)
}
.field-validation-message {
    display:block;
    min-height:1rem;
    margin-top:.28rem;
    color:#bd3042;
    font-size:.7rem;
    font-weight:650
}
.field-validation-valid {
    visibility:hidden
}
.public-form-errors {
    padding:1rem 1.15rem;
    border:1px solid #efc2c8;
    border-radius:12px;
    background:#fff6f7;
    color:#8f2633;
    font-size:.78rem
}
.public-form-errors strong {
    display:block;
    margin-bottom:.25rem
}
.public-form-errors ul {
    margin:0;
    padding-left:1.15rem
}
.public-input-unit {
    position:relative
}
.public-input-unit .form-control {
    padding-right:2.7rem
}
.public-input-unit>span {
    position:absolute;
    right:.8rem;
    top:50%;
    transform:translateY(-50%);
    color:#718894;
    font-size:.66rem;
    font-weight:750;
    pointer-events:none
}
.public-service-switches {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.75rem
}
.public-service-switches>label {
    display:flex;
    align-items:center;
    gap:.75rem;
    min-height:64px;
    padding:.75rem 1rem;
    border:1px solid #d6e3e9;
    border-radius:11px;
    background:#f8fbfc;
    cursor:pointer
}
.public-service-switches .form-check-input {
    flex:0 0 auto;
    width:2.2rem;
    height:1.15rem;
    margin:0
}
.public-service-switches span {
    display:grid
}
.public-service-switches strong {
    color:#284b5f;
    font-size:.75rem
}
.public-service-switches small {
    color:#728792;
    font-size:.64rem
}
.public-selected-estimate {
    display:grid;
    grid-template-columns:auto 1fr;
    gap:.15rem .8rem;
    padding:.85rem 1rem;
    border:1px solid #b8e2d8;
    border-radius:11px;
    background:#f1fcf8
}
.public-selected-estimate>span {
    grid-row:1/3;
    color:#087f77;
    font-size:.65rem;
    font-weight:800;
    text-transform:uppercase
}
.public-selected-estimate strong {
    color:#184d43;
    font-size:.82rem
}
.public-selected-estimate small {
    color:#66847d;
    font-size:.63rem
}
.public-field-help {
    display:block;
    margin-top:.35rem;
    color:#748b96;
    font-size:.66rem
}
.public-request-aside {
    position:sticky;
    top:88px
}
.public-request-summary {
    padding:1.5rem;
    border:1px solid #d5e5e9;
    border-radius:18px;
    background:linear-gradient(155deg,#f7fcfc,#fff);
    box-shadow:0 16px 38px rgba(9,45,63,.1)
}
.public-request-summary h2 {
    margin:.4rem 0 1.15rem;
    color:#173f53;
    font-size:1.35rem;
    font-weight:820
}
.public-request-summary dl {
    margin:0
}
.public-request-summary dl>div {
    display:flex;
    justify-content:space-between;
    gap:1rem;
    padding:.72rem 0;
    border-bottom:1px solid #e1ebee
}
.public-request-summary dt {
    color:#718791;
    font-size:.68rem;
    font-weight:650
}
.public-request-summary dd {
    margin:0;
    color:#20475a;
    font-size:.72rem;
    font-weight:800;
    text-align:right
}
.public-next-steps {
    margin:1.15rem 0;
    padding:1rem;
    border-radius:12px;
    background:#eaf7f5
}
.public-next-steps>strong {
    color:#176257;
    font-size:.72rem
}
.public-next-steps ol {
    margin:.6rem 0 0;
    padding-left:1.2rem;
    color:#55756f;
    font-size:.67rem;
    line-height:1.75
}
.public-submit-note {
    color:#718791;
    font-size:.65rem;
    line-height:1.55
}
.public-request-summary .btn {
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:50px;
    padding:.75rem 1rem;
    font-size:.78rem;
    font-weight:800
}
.public-summary-support {
    display:block;
    margin-top:.8rem;
    color:#087f77;
    font-size:.67rem;
    font-weight:750;
    text-align:center
}
.public-request-summary button[disabled] {
    cursor:wait;
    opacity:.72
}
@media(max-width:991px) {
    .public-request-layout {
        grid-template-columns:1fr
    }
    .public-request-aside {
        position:static
    }
    .public-request-summary dl {
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:0 1rem
    }
    .public-request-summary .btn {
        max-width:420px
    }
}
@media(max-width:575px) {
    .public-request-hero {
        padding:2.8rem 0 2.2rem
    }
    .public-request-card {
        padding:1.15rem;
        border-radius:14px
    }
    .public-service-switches {
        grid-template-columns:1fr
    }
    .public-selected-estimate {
        grid-template-columns:1fr
    }
    .public-selected-estimate>span {
        grid-row:auto
    }
    .public-request-summary dl {
        grid-template-columns:1fr
    }
    .public-request-summary .btn {
        max-width:none
    }
}
/* Unified AdminLTE shell, navigation icons and Bootstrap-sized controls */
.ui-icon {
    display:inline-block;
    width:1.1em;
    height:1.1em;
    flex:0 0 auto;
    vertical-align:-.16em
}
.btn .ui-icon {
    margin-right:.3rem;
    font-size:1.05em
}
.packing-status-icon {
    width:.58rem;
    height:.58rem
}
.gt-admin-body {
    --lte-sidebar-width:270px;
    font-size:1rem
}
.gt-admin-body .app-main {
    min-height:0;
    padding-bottom:0
}
.gt-admin-body .app-footer {
    margin-top:0;
    padding:.8rem 1.25rem;
    font-size:.8rem
}
.gt-admin-body .sidebar-menu {
    padding:0 .7rem
}
.gt-admin-body .sidebar-menu .nav-link {
    min-height:46px;
    padding:.6rem .75rem;
    border-radius:8px;
    font-size:.88rem
}
.gt-admin-body .sidebar-menu .nav-treeview .nav-link {
    min-height:40px;
    padding:.5rem .65rem;
    font-size:.81rem
}
.gt-admin-body .sidebar-menu .gt-nav-icon {
    display:block!important;
    width:32px!important;
    height:32px;
    margin-right:.65rem!important;
    padding:.42rem;
    box-sizing:border-box;
    border-radius:8px;
    overflow:visible;
    background:rgba(255,255,255,.075);
    color:#a8c8d3;
    font-family:inherit!important;
    font-size:inherit!important
}
.gt-admin-body .sidebar-menu .nav-link.active .gt-nav-icon {
    background:#15c4b7;
    color:#06243c
}
.gt-admin-body .sidebar-menu .nav-header {
    font-size:.66rem
}
.gt-sidebar-version {
    font-size:.68rem
}
/* Standard shipment booking workbench inside the AdminLTE content area */
.packing-workbench--standard {
    min-height:0;
    padding:1.5rem;
    background:transparent;
    color:var(--bs-body-color)
}
.packing-workbench--standard .packing-shell {
    width:100%;
    max-width:1720px;
    margin:0 auto;
    padding:0
}
.packing-workbench--standard .packing-app-header {
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:76px;
    padding:1rem 1.25rem;
    border:1px solid var(--bs-border-color);
    border-radius:12px;
    background:var(--bs-body-bg);
    box-shadow:0 .25rem .75rem rgba(21,42,61,.06);
    color:var(--bs-body-color)
}
.packing-workbench--standard .packing-app-title {
    gap:.85rem
}
.packing-workbench--standard .packing-app-mark {
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    border:0;
    border-radius:10px;
    background:var(--site-primary,#0d6efd);
    color:#fff;
    font-size:1.45rem
}
.packing-workbench--standard .packing-app-title small {
    color:var(--bs-secondary-color);
    font-size:.68rem;
    letter-spacing:.1em
}
.packing-workbench--standard .packing-app-title h1 {
    margin:.12rem 0 0;
    font-size:1.5rem;
    font-weight:700
}
.packing-workbench--standard .packing-header-status {
    gap:.75rem
}
.packing-workbench--standard .packing-header-status>span {
    display:flex;
    align-items:center;
    gap:.35rem;
    padding:.38rem .7rem;
    border-radius:999px;
    background:var(--bs-success-bg-subtle);
    color:var(--bs-success-text-emphasis);
    font-size:.8rem
}
.packing-workbench--standard .packing-header-status>b {
    padding:.45rem .7rem;
    border:1px solid var(--bs-border-color);
    border-radius:7px;
    color:var(--bs-body-color);
    font-size:.78rem
}
.packing-workbench--standard .packing-header-status>a {
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    border:1px solid var(--bs-border-color);
    border-radius:8px;
    color:var(--bs-secondary-color);
    font-size:1rem
}
.packing-workbench--standard .packing-header-status>a:hover {
    background:var(--bs-secondary-bg);
    color:var(--bs-emphasis-color)
}
.packing-workbench--standard .packing-field-alert {
    margin-right:0!important;
    margin-left:0!important
}
.packing-workbench--standard .packing-workbench-tabs {
    display:flex;
    align-items:stretch;
    margin:1rem 0 0;
    overflow-x:auto;
    border:1px solid var(--bs-border-color);
    border-radius:10px;
    background:var(--bs-body-bg)
}
.packing-workbench--standard .packing-workbench-tabs a,.packing-workbench--standard .packing-workbench-tabs>span {
    display:flex;
    align-items:center;
    gap:.45rem;
    min-height:48px;
    padding:.7rem 1rem;
    border-right:1px solid var(--bs-border-color);
    color:var(--bs-secondary-color);
    font-size:.82rem
}
.packing-workbench--standard .packing-workbench-tabs a b {
    display:grid;
    place-items:center;
    width:22px;
    height:22px;
    border-radius:50%;
    background:var(--bs-secondary-bg);
    font-size:.7rem
}
.packing-workbench--standard .packing-workbench-tabs a.active {
    background:var(--site-primary,#0d6efd);
    color:#fff
}
.packing-workbench--standard .packing-workbench-tabs a.active b {
    background:rgba(255,255,255,.2)
}
.packing-workbench--standard .packing-top-grid {
    display:grid;
    grid-template-columns:minmax(720px,1.4fr) minmax(390px,.6fr);
    gap:1rem;
    margin:1rem 0 0;
    border:0;
    background:transparent
}
.packing-workbench--standard .packing-console-panel {
    overflow:hidden;
    border:1px solid var(--bs-border-color);
    border-radius:12px;
    background:var(--bs-body-bg);
    box-shadow:0 .25rem .75rem rgba(21,42,61,.045)
}
.packing-workbench--standard .packing-console-heading {
    min-height:58px;
    padding:.85rem 1rem;
    border-bottom:1px solid var(--bs-border-color);
    background:var(--bs-tertiary-bg)
}
.packing-workbench--standard .packing-console-heading>div:first-child {
    gap:.6rem;
    font-size:1rem
}
.packing-workbench--standard .packing-console-heading>div:first-child .ui-icon {
    color:var(--site-primary,#0d6efd);
    font-size:1.15rem
}
.packing-workbench--standard .packing-console-heading>small {
    font-size:.75rem
}
.packing-workbench--standard .packing-step-number {
    display:grid;
    place-items:center;
    width:25px;
    height:25px;
    border-radius:7px;
    background:var(--site-primary,#0d6efd);
    color:#fff;
    font-size:.72rem
}
.packing-workbench--standard .packing-address-grid {
    display:grid;
    grid-template-columns:1fr 1fr
}
.packing-workbench--standard .packing-address {
    height:auto;
    padding:1rem;
    border:0;
    border-radius:0;
    background:var(--bs-body-bg)
}
.packing-workbench--standard .packing-address:first-child {
    border-right:1px solid var(--bs-border-color)
}
.packing-workbench--standard .packing-address legend {
    margin:0 0 .9rem;
    color:var(--bs-emphasis-color);
    font-size:.86rem
}
.packing-workbench--standard .packing-address legend span {
    padding:.25rem .45rem;
    border-radius:5px;
    background:var(--bs-secondary-bg);
    color:var(--bs-emphasis-color);
    font-size:.65rem
}
.packing-workbench--standard .packing-form-grid {
    gap:.8rem
}
.packing-workbench--standard .form-label {
    margin-bottom:.35rem;
    color:var(--bs-body-color);
    font-size:.78rem;
    font-weight:650
}
.packing-workbench--standard .form-control,.packing-workbench--standard .form-select {
    min-height:40px;
    padding:.45rem .7rem;
    border-color:var(--bs-border-color);
    border-radius:7px;
    background-color:var(--bs-body-bg);
    color:var(--bs-body-color);
    font-size:.875rem
}
.packing-workbench--standard textarea.form-control {
    min-height:72px
}
.packing-workbench--standard .form-control:focus,.packing-workbench--standard .form-select:focus {
    border-color:var(--site-primary,#0d6efd);
    box-shadow:0 0 0 .2rem color-mix(in srgb,var(--site-primary,#0d6efd) 18%,transparent)
}
.packing-workbench--standard .shipment-console-fields {
    padding:1rem
}
.packing-workbench--standard .packing-units {
    font-size:.68rem
}
.packing-workbench--standard .packing-units b {
    font-size:.75rem
}
.packing-workbench--standard .packing-route-summary {
    margin:.25rem 1rem 1rem;
    padding:.85rem 1rem;
    border:1px solid var(--bs-border-color);
    border-left:4px solid var(--site-primary,#0d6efd);
    border-radius:8px;
    background:var(--bs-tertiary-bg)
}
.packing-workbench--standard .packing-route-summary>.ui-icon {
    width:1.45rem;
    height:1.45rem;
    color:var(--site-primary,#0d6efd)
}
.packing-workbench--standard .packing-route-summary small {
    font-size:.62rem
}
.packing-workbench--standard .packing-route-summary strong {
    font-size:.85rem
}
.packing-workbench--standard .packing-route-summary span {
    font-size:.72rem
}
.packing-workbench--standard .packing-grid-workspace {
    display:grid;
    grid-template-columns:1fr;
    gap:1rem;
    margin:1rem 0 0;
    border:0;
    background:transparent
}
.packing-workbench--standard .packing-items-console,.packing-workbench--standard .packing-units-console {
    padding-bottom:0
}
.packing-workbench--standard .packing-console-help {
    min-height:auto;
    padding:.75rem 1rem;
    font-size:.75rem
}
.packing-workbench--standard .packing-action-toolbar {
    padding:.75rem 1rem;
    background:var(--bs-tertiary-bg)
}
.packing-workbench--standard .packing-action-toolbar>span {
    font-size:.72rem
}
.packing-workbench--standard .packing-balance-head {
    display:none
}
.packing-workbench--standard .packing-item-list {
    gap:.75rem;
    padding:1rem
}
.packing-workbench--standard .packing-item-row {
    display:grid;
    grid-template-columns:minmax(140px,1fr) minmax(140px,1fr) minmax(150px,1fr) 95px 95px;
    grid-template-areas:"fields fields fields fields fields" "total select pack packed available" "actions actions actions actions actions";
    align-items:end;
    gap:.8rem;
    padding:1rem;
    border:1px solid var(--bs-border-color);
    border-radius:10px;
    background:var(--bs-body-bg);
    box-shadow:none
}
.packing-workbench--standard .packing-item-fields {
    grid-area:fields;
    display:grid;
    grid-template-columns:2fr 1fr 1.25fr 1fr minmax(150px,.8fr);
    gap:.75rem
}
.packing-workbench--standard .packing-quantity-cell {
    grid-area:total
}
.packing-workbench--standard .packing-select-cell {
    grid-area:select
}
.packing-workbench--standard .packing-pack-quantity-cell {
    grid-area:pack
}
.packing-workbench--standard .packing-item-row output[data-packed] {
    grid-area:packed
}
.packing-workbench--standard .packing-item-row output[data-available] {
    grid-area:available
}
.packing-workbench--standard .packing-item-row output {
    position:relative;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    min-height:40px;
    padding:.45rem;
    border-radius:7px;
    font-size:.85rem
}
.packing-workbench--standard .packing-item-row output:before {
    content:attr(data-label);
    position:absolute;
    top:-1.35rem;
    left:0;
    color:var(--bs-body-color);
    font-size:.72rem;
    font-weight:650
}
.packing-workbench--standard .packing-item-actions {
    grid-area:actions;
    display:flex;
    align-items:center;
    gap:1rem;
    padding-top:.2rem;
    color:var(--bs-secondary-color);
    font-size:.75rem
}
.packing-workbench--standard .packing-item-actions .btn {
    margin-left:auto
}
.packing-workbench--standard .packing-select-item {
    min-height:40px;
    color:var(--bs-body-color);
    font-size:.78rem
}
.packing-workbench--standard .packing-select-item input {
    width:18px;
    height:18px
}
.packing-workbench--standard .packing-item-locations {
    display:flex;
    align-items:center;
    gap:.45rem;
    min-height:40px;
    padding:.55rem .7rem;
    border:1px solid var(--bs-border-color);
    border-radius:7px;
    background:var(--bs-tertiary-bg);
    color:var(--bs-secondary-color);
    font-size:.72rem
}
.packing-workbench--standard .handling-grid-head {
    display:none
}
.packing-workbench--standard .handling-unit-list {
    gap:.75rem;
    padding:1rem
}
.packing-workbench--standard .handling-unit-card {
    border-color:var(--bs-border-color);
    border-radius:10px;
    background:var(--bs-body-bg);
    box-shadow:none
}
.packing-workbench--standard .handling-unit-card>header {
    padding:.75rem 1rem;
    background:var(--bs-tertiary-bg)
}
.packing-workbench--standard .handling-unit-card>header>button:first-child {
    grid-template-columns:155px minmax(180px,1fr) auto
}
.packing-workbench--standard .handling-id {
    border-radius:6px
}
.packing-workbench--standard .handling-unit-body {
    grid-template-columns:minmax(580px,1.2fr) minmax(380px,.8fr);
    gap:1rem;
    padding:1rem;
    border-color:var(--bs-border-color)
}
.packing-workbench--standard .handling-dimensions {
    gap:.75rem
}
.packing-workbench--standard .handling-items {
    padding:1rem;
    border:1px solid var(--bs-border-color);
    border-radius:8px;
    background:var(--bs-tertiary-bg)
}
.packing-workbench--standard .handling-items-title {
    font-size:.8rem
}
.packing-workbench--standard .handling-items-title strong {
    display:flex;
    align-items:center
}
.packing-workbench--standard .handling-allocation {
    display:grid;
    grid-template-columns:minmax(220px,1fr) 140px minmax(100px,.35fr) auto;
    align-items:center;
    gap:.65rem
}
.packing-workbench--standard .handling-allocation .btn {
    min-height:40px;
    white-space:nowrap
}
.packing-workbench--standard .packing-submit-bar {
    position:sticky;
    z-index:20;
    right:auto;
    bottom:0;
    left:auto;
    margin:1rem 0 0;
    padding:1rem 1.25rem;
    border:1px solid var(--bs-border-color);
    border-radius:10px;
    background:color-mix(in srgb,var(--bs-body-bg) 94%,transparent);
    box-shadow:0 -.35rem 1.25rem rgba(21,42,61,.08);
    color:var(--bs-body-color);
    backdrop-filter:blur(12px)
}
.packing-workbench--standard .packing-submit-bar strong {
    color:var(--bs-emphasis-color);
    font-size:.85rem
}
.packing-workbench--standard .packing-submit-bar span {
    color:var(--bs-secondary-color);
    font-size:.75rem
}
.packing-workbench--standard .packing-submit-bar .btn {
    min-height:40px;
    border-radius:7px
}
/* CMS settings alignment */
.cms-settings-form {
    max-width:1600px
}
.cms-settings-form .cms-settings-accordion .accordion-item {
    margin-bottom:1rem;
    border-color:var(--bs-border-color);
    border-radius:10px!important;
    background:var(--bs-body-bg);
    box-shadow:0 .2rem .65rem rgba(21,42,61,.04)
}
.cms-settings-form .accordion-button {
    min-height:56px;
    padding:.9rem 1.1rem;
    background:var(--bs-tertiary-bg);
    color:var(--bs-emphasis-color);
    font-size:.95rem
}
.cms-settings-form .accordion-button:not(.collapsed) {
    background:color-mix(in srgb,var(--site-primary,#0d6efd) 8%,var(--bs-body-bg));
    color:var(--bs-emphasis-color);
    box-shadow:inset 0 -1px var(--bs-border-color)
}
.cms-settings-form .accordion-body {
    padding:1.25rem
}
.cms-settings-form .form-label {
    margin-bottom:.38rem;
    font-size:.8rem;
    font-weight:650
}
.cms-settings-form .form-control,.cms-settings-form .form-select {
    min-height:42px;
    border-color:var(--bs-border-color);
    border-radius:7px;
    background-color:var(--bs-body-bg);
    color:var(--bs-body-color);
    font-size:.875rem
}
.cms-settings-form textarea.form-control {
    min-height:82px
}
.cms-settings-form .form-text {
    font-size:.72rem
}
.cms-settings-form .input-validation-error {
    border-color:var(--bs-danger);
    background:var(--bs-danger-bg-subtle)
}
.settings-section-intro {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:1rem;
    margin-bottom:1rem;
    padding-bottom:1rem;
    border-bottom:1px solid var(--bs-border-color)
}
.settings-section-intro strong,.settings-section-intro span {
    display:block
}
.settings-section-intro strong {
    font-size:.95rem
}
.settings-section-intro div>span {
    margin-top:.2rem;
    color:var(--bs-secondary-color);
    font-size:.76rem
}
.theme-color-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(245px,1fr));
    gap:1rem
}
.theme-color-card {
    padding:1rem;
    border:1px solid var(--bs-border-color);
    border-radius:9px;
    background:var(--bs-tertiary-bg)
}
.theme-color-card .form-label {
    display:block
}
.theme-color-control {
    display:grid;
    grid-template-columns:52px minmax(0,1fr);
    gap:.6rem
}
.theme-color-control .form-control-color {
    width:52px;
    height:42px;
    padding:.3rem
}
.theme-color-card>small {
    display:block;
    margin-top:.4rem;
    color:var(--bs-secondary-color);
    font-size:.68rem
}
.theme-reset-row {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    margin-top:1.25rem;
    padding:1rem;
    border:1px solid var(--bs-border-color);
    border-radius:9px;
    background:var(--bs-tertiary-bg)
}
.theme-reset-row strong,.theme-reset-row span {
    display:block
}
.theme-reset-row span {
    margin-top:.2rem;
    color:var(--bs-secondary-color);
    font-size:.72rem
}
.cms-settings-actions {
    position:sticky;
    z-index:15;
    bottom:0;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:1rem;
    margin-top:1rem;
    padding:1rem 1.25rem;
    border:1px solid var(--bs-border-color);
    border-radius:10px;
    background:color-mix(in srgb,var(--bs-body-bg) 94%,transparent);
    box-shadow:0 -.35rem 1.25rem rgba(21,42,61,.07);
    backdrop-filter:blur(12px)
}
.cms-settings-actions>span {
    margin-right:auto;
    color:var(--bs-secondary-color);
    font-size:.75rem
}
.cms-settings-actions .btn {
    min-height:42px;
    border-radius:7px
}
@media(max-width:1399px) {
    .packing-workbench--standard .packing-top-grid {
        grid-template-columns:1fr
    }
    .packing-workbench--standard .handling-unit-body {
        grid-template-columns:1fr
    }
}
@media(max-width:991px) {
    .gt-admin-body {
        --lte-sidebar-width:255px
    }
    .packing-workbench--standard {
        padding:1rem
    }
    .packing-workbench--standard .packing-address-grid {
        grid-template-columns:1fr
    }
    .packing-workbench--standard .packing-address:first-child {
        border-right:0;
        border-bottom:1px solid var(--bs-border-color)
    }
    .packing-workbench--standard .packing-item-fields {
        grid-template-columns:1fr 1fr
    }
    .packing-workbench--standard .packing-item-fields>div:first-child {
        grid-column:1/-1
    }
    .packing-workbench--standard .packing-item-row {
        grid-template-columns:1fr 1fr 1fr;
        grid-template-areas:"fields fields fields" "total select pack" "packed available actions"
    }
    .packing-workbench--standard .packing-item-actions {
        align-self:center;
        justify-content:flex-end;
        flex-wrap:wrap
    }
    .packing-workbench--standard .packing-item-actions .btn {
        margin-left:0
    }
    .packing-workbench--standard .handling-dimensions {
        grid-template-columns:1fr 1fr
    }
    .packing-workbench--standard .handling-dimensions>div:first-child {
        grid-column:1/-1
    }
}
@media(max-width:767px) {
    .packing-workbench--standard {
        padding:.75rem
    }
    .packing-workbench--standard .packing-app-header {
        align-items:flex-start
    }
    .packing-workbench--standard .packing-app-title h1 {
        font-size:1.2rem
    }
    .packing-workbench--standard .packing-header-status>b {
        display:none
    }
    .packing-workbench--standard .packing-workbench-tabs {
        margin-top:.75rem
    }
    .packing-workbench--standard .packing-workbench-tabs>span {
        display:none
    }
    .packing-workbench--standard .packing-form-grid .span-3,.packing-workbench--standard .packing-form-grid .span-4,.packing-workbench--standard .packing-form-grid .span-6,.packing-workbench--standard .packing-form-grid .span-8 {
        grid-column:span 6
    }
    .packing-workbench--standard .packing-item-row {
        grid-template-columns:1fr 1fr;
        grid-template-areas:"fields fields" "total select" "pack pack" "packed available" "actions actions"
    }
    .packing-workbench--standard .packing-item-fields {
        grid-template-columns:1fr
    }
    .packing-workbench--standard .packing-item-fields>div:first-child {
        grid-column:auto
    }
    .packing-workbench--standard .packing-item-actions {
        justify-content:flex-start
    }
    .packing-workbench--standard .handling-unit-card>header {
        align-items:flex-start
    }
    .packing-workbench--standard .handling-unit-card>header>button:first-child {
        grid-template-columns:1fr
    }
    .packing-workbench--standard .handling-allocation {
        grid-template-columns:1fr 120px
    }
    .packing-workbench--standard .handling-allocation-status {
        grid-column:1
    }
    .packing-workbench--standard .packing-submit-bar {
        position:static;
        align-items:stretch;
        flex-direction:column
    }
    .packing-workbench--standard .packing-submit-bar>div {
        width:100%;
        margin-right:0
    }
    .packing-workbench--standard .packing-submit-bar .btn {
        width:100%
    }
    .theme-reset-row,.cms-settings-actions {
        align-items:stretch;
        flex-direction:column
    }
    .cms-settings-actions {
        position:static
    }
    .cms-settings-actions>span {
        margin-right:0
    }
}
@media(max-width:575px) {
    .packing-workbench--standard .packing-form-grid .span-3,.packing-workbench--standard .packing-form-grid .span-4,.packing-workbench--standard .packing-form-grid .span-6,.packing-workbench--standard .packing-form-grid .span-8 {
        grid-column:1/-1
    }
    .packing-workbench--standard .packing-units {
        display:none
    }
    .settings-section-intro {
        flex-direction:column
    }
    .theme-color-grid {
        grid-template-columns:1fr
    }
}
/* Shipment row-structure correction: keep related controls aligned until phone width. */
.packing-workbench--standard .packing-top-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:stretch;
}
.packing-workbench--standard .packing-top-grid--three>.packing-shipment-console {
    grid-column:1/-1;
}
.packing-workbench--standard .packing-top-grid--three>.packing-console-panel {
    height:100%
}
.packing-workbench--standard .packing-address-section .packing-address {
    height:auto;
    padding:1rem
}
.packing-workbench--standard .packing-console-panel {
    --packing-panel-accent:var(--admin-primary,var(--site-primary,#0d9488))
}
.packing-workbench--standard .packing-console-panel>.packing-console-heading {
    border-left:4px solid var(--packing-panel-accent);
    background:color-mix(in srgb,var(--packing-panel-accent) 84%,#102a43);
    color:#fff;
    box-shadow:inset 0 -1px rgba(255,255,255,.14);
}
.packing-workbench--standard .packing-console-panel>.packing-console-heading>div:first-child,
.packing-workbench--standard .packing-console-panel>.packing-console-heading>small,
.packing-workbench--standard .packing-console-panel>.packing-console-heading .packing-units,
.packing-workbench--standard .packing-console-panel>.packing-console-heading .packing-units b {
    color:#fff;
}
.packing-workbench--standard .packing-console-panel>.packing-console-heading>div:first-child .ui-icon {
    color:#fff;
}
.packing-workbench--standard .packing-console-panel>.packing-console-heading .packing-step-number {
    border:1px solid rgba(255,255,255,.32);
    background:rgba(255,255,255,.18);
    color:#fff;
}
.packing-workbench--standard .packing-console-panel>.packing-console-heading .packing-units span {
    border-left-color:rgba(255,255,255,.3)
}
.packing-workbench--standard .packing-grid-workspace .packing-action-toolbar {
    background:color-mix(in srgb,var(--packing-panel-accent) 7%,var(--bs-body-bg))
}
.packing-workbench--standard .handling-items-title {
    border-bottom-color:color-mix(in srgb,var(--packing-panel-accent) 28%,var(--bs-border-color));
    background:color-mix(in srgb,var(--packing-panel-accent) 10%,var(--bs-body-bg));
    color:var(--packing-panel-accent)
}
.packing-workbench--standard .handling-items-title strong,.packing-workbench--standard .handling-items-title .ui-icon {
    color:var(--packing-panel-accent)
}
.packing-workbench--standard .handling-id {
    background:color-mix(in srgb,var(--packing-panel-accent) 12%,var(--bs-body-bg));
    color:var(--packing-panel-accent)
}
.packing-workbench--standard .packing-submit-bar {
    border-top:4px solid var(--admin-primary,var(--site-primary,#0d9488))
}
@media(max-width:991px) {
    .packing-workbench--standard .packing-top-grid {
        grid-template-columns:minmax(0,1fr)
    }
    .packing-workbench--standard .packing-top-grid--three>.packing-shipment-console {
        grid-column:auto
    }
}
.packing-workbench--standard .shipment-details .packing-console-heading>div:first-child span:last-child {
    white-space:nowrap;
}
.packing-workbench--standard .packing-item-row {
    grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) minmax(170px,1.15fr) 105px 105px;
    grid-template-areas:
    "fields fields fields fields fields"
    "total select pack packed available"
    "actions actions actions actions actions";
}
.packing-workbench--standard .packing-select-cell,
.packing-workbench--standard .packing-quantity-cell,
.packing-workbench--standard .packing-pack-quantity-cell,
.packing-workbench--standard .packing-item-row output,
.packing-workbench--standard .packing-item-actions {
    min-width:0;
    min-height:66px;
    padding:.65rem .75rem;
    border:1px solid var(--bs-border-color);
    border-radius:8px;
    background:var(--bs-tertiary-bg);
}
.packing-workbench--standard .packing-quantity-cell,
.packing-workbench--standard .packing-pack-quantity-cell {
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
}
.packing-workbench--standard .packing-quantity-cell .form-control,
.packing-workbench--standard .packing-pack-quantity-cell .form-control {
    width:100%;
}
.packing-workbench--standard .packing-select-cell {
    align-self:stretch;
    justify-content:flex-start;
}
.packing-workbench--standard .packing-item-row output {
    align-items:center;
    padding-top:1.2rem;
}
.packing-workbench--standard .packing-item-row output::before {
    top:.45rem;
    left:.65rem;
}
.packing-workbench--standard .packing-item-actions {
    flex-direction:row;
    flex-wrap:wrap;
}
.packing-workbench--standard .packing-action-toolbar,
.packing-workbench--standard .packing-submit-bar {
    flex-direction:row;
    flex-wrap:wrap;
}
@media(max-width:1199px) {
    .packing-workbench--standard .packing-item-fields {
        grid-template-columns:2fr 1fr 1.25fr 1fr
    }
    .packing-workbench--standard .packing-item-fields>div:last-child {
        grid-column:1/-1
    }
    .packing-workbench--standard .packing-item-row {
        grid-template-columns:repeat(3,minmax(0,1fr));
        grid-template-areas:
      "fields fields fields"
      "total select pack"
      "packed available ."
      "actions actions actions";
    }
    .packing-workbench--standard .packing-item-actions {
        align-self:stretch;
        justify-content:flex-start;
    }
}
@media(max-width:767px) {
    .packing-workbench--standard .packing-top-grid {
        grid-template-columns:1fr
    }
    .packing-workbench--standard .packing-item-fields {
        grid-template-columns:1fr 1fr
    }
    .packing-workbench--standard .packing-item-fields>div:first-child,
  .packing-workbench--standard .packing-item-fields>div:last-child {
        grid-column:1/-1
    }
    .packing-workbench--standard .packing-item-row {
        grid-template-columns:repeat(2,minmax(0,1fr));
        grid-template-areas:
      "fields fields"
      "total select"
      "pack pack"
      "packed available"
      "actions actions";
    }
    .packing-workbench--standard .packing-item-actions {
        align-items:center;
        flex-direction:row;
    }
    .packing-workbench--standard .packing-item-actions .btn {
        margin-left:auto
    }
    .packing-workbench--standard .packing-action-toolbar {
        align-items:center;
        flex-direction:row;
    }
    .packing-workbench--standard .packing-action-toolbar>span {
        flex:1 0 100%;
        max-width:none;
        text-align:left;
    }
    .packing-workbench--standard .packing-submit-bar {
        position:static;
        align-items:center;
        flex-direction:row;
    }
    .packing-workbench--standard .packing-submit-bar>div {
        flex:1 0 100%;
        width:auto;
    }
    .packing-workbench--standard .packing-submit-bar .btn {
        flex:1 1 150px;
        width:auto;
    }
    .packing-workbench--standard .handling-allocation {
        grid-template-columns:minmax(0,1fr) 115px;
    }
    .packing-workbench--standard .handling-allocation-status {
        grid-column:1
    }
    .packing-workbench--standard .handling-allocation .btn {
        width:auto
    }
}
@media(max-width:575px) {
    .packing-workbench--standard .packing-item-fields {
        grid-template-columns:1fr
    }
    .packing-workbench--standard .packing-item-fields>div:first-child,
  .packing-workbench--standard .packing-item-fields>div:last-child {
        grid-column:auto
    }
    .packing-workbench--standard .packing-item-actions {
        align-items:stretch
    }
    .packing-workbench--standard .packing-item-actions label {
        flex:1 1 auto
    }
    .packing-workbench--standard .packing-item-actions .btn {
        flex:1 0 100%;
        margin-left:0
    }
    .packing-workbench--standard .packing-action-toolbar>div {
        width:100%
    }
    .packing-workbench--standard .packing-action-toolbar>div .btn {
        flex:1 1 150px
    }
    .packing-workbench--standard .handling-allocation {
        grid-template-columns:1fr
    }
    .packing-workbench--standard .handling-allocation-status {
        grid-column:auto
    }
    .packing-workbench--standard .handling-allocation .btn {
        width:100%
    }
}
/* AdminLTE mini sidebar and shipment fullscreen controls. */
.packing-workbench--standard .packing-header-action {
    display:grid;
    place-items:center;
    flex:0 0 40px;
    width:40px;
    height:40px;
    padding:0;
    border:1px solid var(--bs-border-color);
    border-radius:8px;
    background:transparent;
    color:var(--bs-secondary-color);
    text-decoration:none;
}
.packing-workbench--standard .packing-header-action:hover,
.packing-workbench--standard .packing-header-action:focus-visible {
    background:var(--bs-secondary-bg);
    color:var(--bs-emphasis-color);
}
.packing-workbench--standard .packing-header-action:focus-visible {
    outline:0;
    box-shadow:0 0 0 .2rem color-mix(in srgb,var(--site-primary,#0d6efd) 20%,transparent);
}
.packing-workbench--standard .packing-header-action>span {
    display:grid;
    place-items:center;
}
.packing-workbench--standard .packing-header-action .ui-icon {
    width:1.15rem;
    height:1.15rem
}
@media(min-width:992px) {
    .sidebar-mini.sidebar-collapse .app-sidebar .gt-admin-brand {
        justify-content:center;
        padding-right:.35rem;
        padding-left:.35rem;
    }
    .sidebar-mini.sidebar-collapse .app-sidebar .gt-sidebar-user {
        justify-content:center;
        margin:.75rem .45rem;
        padding:.45rem;
        border-color:transparent;
        background:transparent;
    }
    .sidebar-mini.sidebar-collapse .app-sidebar .gt-sidebar-user>div,
  .sidebar-mini.sidebar-collapse .app-sidebar .gt-sidebar-version {
        display:none;
    }
    .sidebar-mini.sidebar-collapse .app-sidebar .sidebar-menu {
        padding-right:.45rem;
        padding-left:.45rem;
    }
    .sidebar-mini.sidebar-collapse .app-sidebar .sidebar-menu .nav-link {
        justify-content:center;
        margin-right:auto;
        margin-left:auto;
        padding-right:.35rem;
        padding-left:.35rem;
    }
    .sidebar-mini.sidebar-collapse .app-sidebar .sidebar-menu .gt-nav-icon {
        margin-right:0!important;
    }
}
/* AdminLTE-style section flyout beside a collapsed menu icon, without resizing the page. */
.gt-admin-brand .brand-text {
    overflow:hidden;
    max-width:calc(var(--lte-sidebar-width) - 62px);
    text-overflow:ellipsis;
    white-space:nowrap
}
.gt-sidebar-preview[hidden] {
    display:none!important
}
.gt-sidebar-preview {
    position:fixed;
    z-index:1040;
    top:60px;
    left:4.6rem;
    width:min(270px,calc(100vw - 4.6rem));
    max-height:calc(100vh - 68px);
    overflow-y:auto;
    border:1px solid rgba(255,255,255,.15);
    border-radius:0 10px 10px 0;
    background:var(--admin-shell,#071a2f);
    box-shadow:12px 8px 28px rgba(0,0,0,.24);
    color:#fff
}
.gt-sidebar-preview-heading {
    display:flex;
    flex-direction:column;
    gap:.18rem;
    padding:.8rem 1rem;
    border-bottom:1px solid rgba(255,255,255,.12)
}
.gt-sidebar-preview-heading strong {
    font-size:.82rem
}
.gt-sidebar-preview-heading span {
    color:#b9ccd5;
    font-size:.62rem
}
.gt-sidebar-preview nav {
    display:grid;
    gap:.15rem;
    padding:.45rem
}
.gt-sidebar-preview-link {
    display:block;
    min-height:36px;
    padding:.5rem .7rem;
    border-radius:6px;
    color:#c8dae3!important;
    font-size:.75rem;
    text-decoration:none
}
.gt-sidebar-preview-link:hover,.gt-sidebar-preview-link:focus-visible,.gt-sidebar-preview-link.active {
    background:color-mix(in srgb,var(--admin-primary,#0d9488) 26%,transparent);
    color:#fff!important
}
@media(min-width:992px) {
    .sidebar-mini.sidebar-collapse .app-sidebar .nav-treeview {
        display:none!important
    }
    .sidebar-mini.sidebar-collapse .app-sidebar .gt-menu-preview-active>.nav-link {
        background:color-mix(in srgb,var(--admin-primary,#0d9488) 28%,transparent);
        color:#fff
    }
}
@media(max-width:991px) {
    .gt-sidebar-preview {
        display:none!important
    }
}
.theme-preset-section+ .theme-preset-section {
    margin-top:1.5rem;
    padding-top:1.5rem;
    border-top:1px solid var(--bs-border-color)
}
.theme-preset-heading {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:1rem;
    margin-bottom:.9rem
}
.theme-preset-heading h3 {
    margin:0;
    color:var(--bs-emphasis-color);
    font-size:1rem;
    font-weight:750
}
.theme-preset-heading p {
    max-width:760px;
    margin:.25rem 0 0;
    color:var(--bs-secondary-color);
    font-size:.75rem
}
.theme-preset-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
    gap:.8rem
}
.theme-preset-card {
    position:relative;
    display:flex;
    flex-direction:column;
    min-height:145px;
    padding:1rem;
    border:1px solid var(--bs-border-color);
    border-radius:11px;
    background:var(--bs-body-bg);
    cursor:pointer;
    transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease
}
.theme-preset-card:hover {
    border-color:color-mix(in srgb,var(--site-primary,#0d6efd) 55%,var(--bs-border-color));
    transform:translateY(-1px)
}
.theme-preset-card:has(input:checked) {
    border-color:var(--site-primary,#0d6efd);
    box-shadow:0 0 0 3px color-mix(in srgb,var(--site-primary,#0d6efd) 13%,transparent)
}
.theme-preset-card input {
    position:absolute;
    width:1px;
    height:1px;
    opacity:0;
    pointer-events:none
}
.theme-preset-check {
    position:absolute;
    right:.75rem;
    top:.7rem;
    display:none;
    place-items:center;
    width:22px;
    height:22px;
    border-radius:50%;
    background:var(--site-primary,#0d6efd);
    color:#fff;
    font-size:.7rem;
    font-weight:850
}
.theme-preset-card:has(input:checked) .theme-preset-check {
    display:grid
}
.theme-preset-swatches {
    display:grid;
    grid-template-columns:repeat(5,1fr);
    height:34px;
    margin:0 2rem .8rem 0;
    overflow:hidden;
    border:1px solid rgba(0,0,0,.08);
    border-radius:8px
}
.theme-preset-swatches i {
    display:block
}
.theme-preset-card>strong {
    color:var(--bs-emphasis-color);
    font-size:.85rem
}
.theme-preset-card>small {
    margin-top:.28rem;
    color:var(--bs-secondary-color);
    font-size:.68rem;
    line-height:1.45
}
/* Public home-page announcement scroller. */
.public-home-ticker {
    display:flex;
    align-items:stretch;
    min-height:58px;
    overflow:hidden;
    background:linear-gradient(100deg,var(--site-footer,#071a2f),color-mix(in srgb,var(--site-footer,#071a2f) 76%,var(--site-secondary,#0b5f87)));
    color:#fff;
    border-block:1px solid color-mix(in srgb,var(--site-accent,#15c4b7) 26%,transparent)
}
.public-home-ticker-label {
    position:relative;
    z-index:1;
    display:inline-flex;
    align-items:center;
    gap:.65rem;
    flex:0 0 auto;
    padding:.8rem 1.25rem;
    background:var(--site-footer,#071a2f);
    color:var(--site-accent,#15c4b7);
    font-size:.75rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    box-shadow:.4rem 0 1rem rgba(0,0,0,.12)
}
.public-home-ticker-pulse {
    width:.5rem;
    height:.5rem;
    border-radius:50%;
    background:var(--site-accent,#15c4b7);
    box-shadow:0 0 0 .25rem color-mix(in srgb,var(--site-accent,#15c4b7) 18%,transparent)
}
.public-home-ticker-window {
    min-width:0;
    flex:1;
    overflow:hidden;
    display:flex;
    align-items:center
}
.public-home-ticker-track {
    display:flex;
    width:max-content;
    align-items:center;
    animation:public-home-ticker-scroll var(--ticker-duration,36s) linear infinite
}
.public-home-ticker-track.is-reverse {
    animation-direction:reverse
}
.public-home-ticker:hover .public-home-ticker-track,.public-home-ticker:focus-within .public-home-ticker-track {
    animation-play-state:paused
}
.public-home-ticker-group {
    display:flex;
    flex:0 0 auto;
    align-items:center;
    justify-content:space-around;
    gap:3rem;
    min-width:100vw;
    padding:0 3rem 0 1.5rem
}
.public-home-ticker-item {
    display:inline-flex;
    align-items:center;
    gap:.8rem;
    white-space:nowrap;
    font-size:.9rem;
    font-weight:600;
    letter-spacing:.01em
}
.public-home-ticker-item i {
    display:inline-block;
    width:.38rem;
    height:.38rem;
    flex:0 0 auto;
    border-radius:50%;
    background:var(--site-accent,#15c4b7)
}
@keyframes public-home-ticker-scroll {
    to {
        transform:translateX(-50%)
    }
}
@media(max-width:575px) {
    .public-home-ticker {
        min-height:52px
    }
    .public-home-ticker-label {
        padding:.7rem .8rem;
        font-size:.65rem;
        letter-spacing:.03em
    }
    .public-home-ticker-group {
        gap:2rem;
        padding-inline:1.25rem
    }
    .public-home-ticker-item {
        font-size:.82rem
    }
}
@media(prefers-reduced-motion:reduce) {
    .public-home-ticker-window {
        overflow-x:auto
    }
    .public-home-ticker-track {
        animation:none
    }
    .public-home-ticker-group+ .public-home-ticker-group {
        display:none
    }
}
/* A single saved palette controls the complete authenticated application. */
.gt-admin-body .app-main {
    background:radial-gradient(circle at 98% 0,color-mix(in srgb,var(--admin-accent) 7%,transparent),transparent 25rem),var(--bs-tertiary-bg)
}
.gt-admin-body .app-sidebar {
    background:linear-gradient(180deg,var(--admin-shell) 0%,color-mix(in srgb,var(--admin-shell) 82%,var(--admin-secondary)) 72%,color-mix(in srgb,var(--admin-shell) 68%,var(--admin-primary)) 100%)!important
}
.gt-admin-body .brand-mark,.gt-admin-body .gt-user-avatar {
    background:linear-gradient(135deg,var(--admin-accent),var(--admin-secondary))
}
.gt-admin-body .gt-action-icon {
    background:color-mix(in srgb,var(--admin-primary) 12%,transparent);
    color:var(--admin-primary)
}
.gt-admin-body .sidebar-menu .nav-link.active {
    background:linear-gradient(100deg,color-mix(in srgb,var(--admin-primary) 24%,transparent),color-mix(in srgb,var(--admin-accent) 11%,transparent));
    box-shadow:inset 3px 0 var(--admin-accent)
}
.gt-admin-body .sidebar-menu .nav-link.active .gt-nav-icon {
    background:var(--admin-accent);
    color:#071a2f
}
.gt-admin-body .sidebar-menu .nav-treeview .nav-link.active {
    background:color-mix(in srgb,var(--admin-primary) 17%,transparent);
    box-shadow:none
}
.gt-admin-body .sidebar-menu .nav-treeview .nav-link.active .gt-nav-dot {
    border-color:var(--admin-accent);
    background:var(--admin-accent);
    box-shadow:0 0 0 3px color-mix(in srgb,var(--admin-accent) 14%,transparent)
}
.gt-admin-body .eyebrow.text-dark,.gt-admin-body .route-table-pill i {
    color:var(--admin-primary)!important
}
.gt-admin-body .btn-primary {
    background-color:var(--admin-button);
    border-color:var(--admin-button)
}
.gt-admin-body .btn-info {
    background-color:var(--admin-button);
    border-color:var(--admin-button);
    color:#fff
}
.gt-admin-body a:not(.btn):not(.nav-link):not(.dropdown-item):not(.gt-admin-brand) {
    color:var(--site-link)
}
.gt-admin-body .table-hover>tbody>tr:hover>* {
    --bs-table-bg-state:color-mix(in srgb,var(--admin-primary) 5%,transparent)
}
/* Public branding stays independent from the authenticated application palette. */
.gt-public-body .public-contact-bar,.gt-public-body .public-footer {
    background:var(--site-footer,#071a2f)
}
.public-social-links {
    display:inline-flex;
    align-items:center;
    flex-wrap:wrap;
    gap:.45rem
}
.public-social-links a {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    border:1px solid currentColor;
    border-radius:50%;
    color:inherit;
    text-decoration:none;
    opacity:.85;
    transition:opacity .15s,transform .15s
}
.public-social-links a:hover,.public-social-links a:focus-visible {
    opacity:1;
    transform:translateY(-2px)
}
.public-social-links svg {
    width:15px;
    height:15px;
    fill:currentColor
}
.public-contact-bar .public-social-links {
    color:#bed2dd
}
.public-footer .public-social-links {
    display:flex;
    margin-top:1rem;
    color:#b5d0d8
}
.public-footer .public-social-links a {
    color:#b5d0d8
}
@media(max-width:991px) {
    .public-contact-bar.has-social-links {
        display:block
    }
    .public-contact-bar.has-social-links .container-xl>span:first-child {
        display:none
    }
    .public-contact-bar.has-social-links .container-xl>div:last-child {
        flex-wrap:wrap;
        gap:.75rem!important
    }
}
.gt-public-body .gt-public-nav .nav-link:hover {
    background:color-mix(in srgb,var(--site-primary,#087f77) 9%,#fff);
    color:var(--site-primary,#087f77)
}
.gt-public-body a:not(.btn):not(.public-brand) {
    color:var(--site-link,#087f77)
}
.gt-public-body .public-home-hero {
    background:radial-gradient(circle at 50% 120%,color-mix(in srgb,var(--site-accent) 42%,transparent),transparent 42%),radial-gradient(circle at 85% 15%,color-mix(in srgb,var(--site-secondary) 18%,transparent),transparent 24rem),linear-gradient(118deg,var(--site-footer) 0%,color-mix(in srgb,var(--site-footer) 72%,var(--site-secondary)) 55%,color-mix(in srgb,var(--site-footer) 58%,var(--site-primary)) 100%)
}
.gt-public-body .public-content-hero,.gt-public-body .public-tool-hero,.gt-public-body .public-final-cta {
    background:radial-gradient(circle at 85% 0,color-mix(in srgb,var(--site-accent) 24%,transparent),transparent 22rem),linear-gradient(120deg,var(--site-footer),color-mix(in srgb,var(--site-footer) 55%,var(--site-primary)))
}
.gt-public-body .tracking-search-hero,
.gt-public-body .blog-hero,
.gt-public-body .guest-support-hero {
    background:radial-gradient(circle at 85% 10%,color-mix(in srgb,var(--site-accent) 25%,transparent),transparent 24rem),linear-gradient(120deg,var(--site-footer),color-mix(in srgb,var(--site-footer) 48%,var(--site-primary)))!important;
}
.gt-public-body .tracking-status-card,
.gt-public-body .guest-support-conversation-info,
.gt-public-body .contact-detail-card,
.gt-public-body .visual-toolbar,
.gt-public-body .visual-content aside,
.gt-public-body .visual-route-card {
    background:linear-gradient(135deg,var(--site-footer),color-mix(in srgb,var(--site-footer) 48%,var(--site-primary)))!important;
}
.gt-public-body .tracking-hero-visual {
    background:radial-gradient(circle at 25% 30%,color-mix(in srgb,var(--site-accent) 20%,transparent),transparent 5rem),radial-gradient(circle at 80% 68%,color-mix(in srgb,var(--site-primary) 28%,transparent),transparent 6rem),color-mix(in srgb,var(--site-footer) 78%,transparent);
}
.gt-public-body .tracking-map-dot {
    border-color:var(--site-accent);
    background:var(--site-primary);
    box-shadow:0 0 0 7px color-mix(in srgb,var(--site-accent) 12%,transparent)
}
.gt-public-body .tracking-flight-path {
    border-top-color:color-mix(in srgb,var(--site-accent) 72%,transparent)
}
.gt-public-body .tracking-flight-path span {
    background:var(--site-accent)
}
.gt-public-body .tracking-hero-card {
    background:color-mix(in srgb,var(--site-footer) 82%,transparent)
}
.gt-public-body .tracking-hero-card strong,
.gt-public-body .blog-hero .eyebrow,
.gt-public-body .guest-support-conversation-info small {
    color:var(--site-accent)
}
.gt-public-body .public-action-tabs {
    background:var(--site-footer)
}
.gt-public-body .public-action-tabs button span {
    color:var(--site-accent)
}
.gt-public-body .public-action-tabs button.active {
    background:var(--site-button);
    color:#fff
}
.gt-public-body .public-action-tabs button.active span {
    color:#fff
}
.gt-public-body .blog-article-header,
.gt-public-body .tracking-page-shell,
.gt-public-body .guest-support-page,
.gt-public-body .public-control-section,
.gt-public-body .public-notifications-section,
.gt-public-body .public-home-directory,
.gt-public-body .public-home-gallery {
    background:linear-gradient(180deg,color-mix(in srgb,var(--site-primary) 5%,#fff),#fff 32rem);
}
.gt-public-body .blog-card-placeholder {
    background:radial-gradient(circle at 72% 24%,color-mix(in srgb,var(--site-accent) 34%,transparent),transparent 9rem),linear-gradient(135deg,var(--site-footer),var(--site-primary));
}
.gt-public-body .blog-card-placeholder span {
    color:var(--site-accent)
}
.gt-public-body .btn-primary,
.gt-public-body .btn-info,
.gt-public-body .btn-outline-primary,
.gt-public-body .public-btn-primary,
.gt-public-body .public-btn-dark,
.gt-public-body .public-btn-light,
.gt-public-body .public-btn-outline,
.gt-public-body .public-btn-ghost,
.gt-public-body .public-signin,
.gt-public-body .public-signout,
.gt-public-body .public-banner-button,
.gt-public-body .public-action-submit,
.gt-public-body .public-directory-search button {
    background:var(--site-button)!important;
    border-color:var(--site-button)!important;
    color:#fff!important;
}
/* Reports and financials */
.module-dashboard .card {
    border-radius: .85rem;
}
.report-filter-card {
    border-top: 3px solid var(--admin-accent, var(--site-accent)) !important;
}
.report-filter-card .form-label {
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .025em;
    text-transform: uppercase;
    color: var(--bs-secondary-color);
}
.report-kpi {
    height: 100%;
    min-height: 126px;
    padding: 1.1rem 1.15rem;
    border: 1px solid var(--bs-border-color);
    border-radius: .85rem;
    background: var(--bs-body-bg);
    box-shadow: 0 .25rem .85rem rgba(15, 23, 42, .06);
    position: relative;
    overflow: hidden;
}
.report-kpi::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: var(--admin-accent, var(--site-accent));
}
.report-kpi-warning::before {
    background: #dc3545;
}
.report-kpi span, .report-kpi small {
    display: block;
    color: var(--bs-secondary-color);
}
.report-kpi span {
    font-size: .78rem;
    font-weight: 750;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.report-kpi strong {
    display: block;
    margin: .2rem 0;
    font-size: clamp(1.45rem, 2.3vw, 2rem);
    line-height: 1.15;
    color: var(--bs-emphasis-color);
}
.report-kpi small {
    font-size: .78rem;
}
.report-bar-row {
    display: grid;
    grid-template-columns: minmax(140px, 1.2fr) minmax(180px, 3fr) 55px;
    gap: 1rem;
    align-items: center;
    padding: .58rem 0;
}
.report-bar-row > div:first-child strong, .report-bar-row > div:first-child span {
    display: block;
}
.report-bar-row > div:first-child span {
    color: var(--bs-secondary-color);
    font-size: .76rem;
}
.report-bar-row > b {
    text-align: right;
    font-size: .82rem;
}
.report-bar-track {
    height: .6rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--admin-primary, var(--site-primary)) 12%, transparent);
    overflow: hidden;
}
.report-bar-track i {
    display: block;
    min-width: 3px;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--admin-primary, var(--site-primary)), var(--admin-accent, var(--site-accent)));
}
.empty-module-state {
    text-align: center;
    padding: 2rem 1rem !important;
    color: var(--bs-secondary-color);
}
.empty-module-state strong, .empty-module-state span {
    display: block;
}
.financial-currency-block {
    padding: 1rem;
    border-radius: 1rem;
    background: color-mix(in srgb, var(--admin-primary, var(--site-primary)) 6%, var(--bs-body-bg));
    border: 1px solid color-mix(in srgb, var(--admin-primary, var(--site-primary)) 16%, transparent);
}
.financial-currency-heading {
    display: flex;
    align-items: baseline;
    gap: .7rem;
    margin: 0 0 .75rem .15rem;
}
.financial-currency-heading span {
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--admin-primary, var(--site-primary));
}
.financial-currency-heading small {
    color: var(--bs-secondary-color);
}
@media (max-width: 767.98px) {
    .report-bar-row {
        grid-template-columns: 1fr 48px;
        gap: .5rem;
    }
    .report-bar-track {
        grid-column: 1 / -1;
        grid-row: 2;
    }
}
/* Full-bleed CMS carousel immediately above public service notifications. */
.public-advertising-inline {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 2rem 0 0;
    background: transparent;
}
.public-advertising-inline .public-advertising-carousel {
    border-radius: 0;
    box-shadow: none;
}
.public-advertising-inline .carousel-item {
    height: clamp(520px, 72vh, 760px);
    aspect-ratio: auto;
}
.public-advertising-inline .carousel-item > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.public-advertising-inline .public-advertising-caption {
    left: max(7vw, calc((100vw - 1140px) / 2));
}
.public-advertising-inline .carousel-indicators {
    left: max(7vw, calc((100vw - 1140px) / 2));
}
@media (max-width: 767px) {
    .public-advertising-inline {
        padding: 1.25rem 0 0;
    }
    .public-advertising-inline .carousel-item {
        height: clamp(480px, 72vh, 620px);
    }
    .public-advertising-inline .public-advertising-caption {
        left: 1.5rem;
        right: 1.5rem;
    }
    .public-advertising-inline .carousel-indicators {
        left: 1.5rem;
    }
}
/* Unified AdminLTE control palette: every non-semantic interaction follows the selected application theme. */
.gt-admin-body {
    --bs-primary: var(--admin-primary);
    --bs-info: var(--admin-secondary);
    --bs-link-color: var(--site-link);
    --bs-link-hover-color: color-mix(in srgb, var(--site-link) 78%, #000);
    accent-color: var(--admin-button);
    color: var(--bs-body-color);
}
.gt-admin-body .app-header {
    background: var(--admin-header) !important;
}
.gt-admin-body .btn-primary,
.gt-admin-body .btn-info {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--admin-button);
    --bs-btn-border-color: var(--admin-button);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: color-mix(in srgb, var(--admin-button) 84%, #000);
    --bs-btn-hover-border-color: color-mix(in srgb, var(--admin-button) 80%, #000);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: color-mix(in srgb, var(--admin-button) 74%, #000);
    --bs-btn-active-border-color: color-mix(in srgb, var(--admin-button) 70%, #000);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: color-mix(in srgb, var(--admin-button) 52%, var(--bs-secondary-bg));
    --bs-btn-disabled-border-color: color-mix(in srgb, var(--admin-button) 52%, var(--bs-secondary-bg));
    background-color: var(--bs-btn-bg) !important;
    border-color: var(--bs-btn-border-color) !important;
    color: var(--bs-btn-color) !important;
}
.gt-admin-body .btn-primary:hover,
.gt-admin-body .btn-info:hover {
    background-color: var(--bs-btn-hover-bg) !important;
    border-color: var(--bs-btn-hover-border-color) !important;
    color: #fff !important;
}
.gt-admin-body .btn-primary:active,
.gt-admin-body .btn-primary.active,
.gt-admin-body .btn-info:active,
.gt-admin-body .btn-info.active {
    background-color: var(--bs-btn-active-bg) !important;
    border-color: var(--bs-btn-active-border-color) !important;
    color: #fff !important;
}
.gt-admin-body .btn-outline-primary,
.gt-admin-body .btn-outline-info {
    --bs-btn-color: var(--admin-button);
    --bs-btn-border-color: color-mix(in srgb, var(--admin-button) 72%, transparent);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--admin-button);
    --bs-btn-hover-border-color: var(--admin-button);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: color-mix(in srgb, var(--admin-button) 82%, #000);
    --bs-btn-active-border-color: color-mix(in srgb, var(--admin-button) 82%, #000);
    color: var(--bs-btn-color) !important;
    border-color: var(--bs-btn-border-color) !important;
}
.gt-admin-body .btn-outline-primary:hover,
.gt-admin-body .btn-outline-info:hover,
.gt-admin-body .btn-outline-primary:active,
.gt-admin-body .btn-outline-info:active {
    background: var(--admin-button) !important;
    border-color: var(--admin-button) !important;
    color: #fff !important;
}
.gt-admin-body .btn-link {
    color: var(--site-link) !important;
}
.gt-admin-body .btn-link:hover {
    color: color-mix(in srgb, var(--site-link) 78%, #000) !important;
}
.gt-admin-body :is(.btn,.form-control,.form-select,.form-check-input,.accordion-button,.page-link,.dropdown-item):focus-visible {
    outline: 0;
    box-shadow: 0 0 0 .22rem color-mix(in srgb, var(--admin-primary) 22%, transparent) !important;
}
.gt-admin-body .form-control,
.gt-admin-body .form-select {
    border-color: color-mix(in srgb, var(--admin-primary) 20%, var(--bs-border-color));
}
.gt-admin-body .form-control:hover,
.gt-admin-body .form-select:hover {
    border-color: color-mix(in srgb, var(--admin-primary) 42%, var(--bs-border-color));
}
.gt-admin-body .form-control:focus,
.gt-admin-body .form-select:focus {
    border-color: var(--admin-primary) !important;
    box-shadow: 0 0 0 .22rem color-mix(in srgb, var(--admin-primary) 18%, transparent) !important;
}
.gt-admin-body .form-control::file-selector-button {
    background: color-mix(in srgb, var(--admin-primary) 7%, var(--bs-tertiary-bg));
    color: var(--bs-body-color);
}
.gt-admin-body .form-control:hover::file-selector-button {
    background: color-mix(in srgb, var(--admin-primary) 14%, var(--bs-tertiary-bg));
}
.gt-admin-body .input-group-text {
    border-color: color-mix(in srgb, var(--admin-primary) 20%, var(--bs-border-color));
    background: color-mix(in srgb, var(--admin-primary) 7%, var(--bs-tertiary-bg));
    color: var(--admin-primary);
}
.gt-admin-body .form-check-input:checked {
    background-color: var(--admin-button);
    border-color: var(--admin-button);
}
.gt-admin-body .form-check-input:focus {
    border-color: var(--admin-primary);
    box-shadow: 0 0 0 .22rem color-mix(in srgb, var(--admin-primary) 18%, transparent);
}
.gt-admin-body .form-range::-webkit-slider-thumb {
    background: var(--admin-button);
}
.gt-admin-body .form-range::-moz-range-thumb {
    background: var(--admin-button);
}
.gt-admin-body .dropdown-item:hover,
.gt-admin-body .dropdown-item:focus {
    background: color-mix(in srgb, var(--admin-primary) 9%, var(--bs-body-bg));
    color: var(--admin-primary);
}
.gt-admin-body .dropdown-item.active,
.gt-admin-body .dropdown-item:active {
    background: var(--admin-button);
    color: #fff;
}
.gt-admin-body .nav-tabs {
    --bs-nav-tabs-link-active-color: var(--admin-primary);
    --bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--admin-primary);
}
.gt-admin-body .nav-tabs .nav-link {
    color: var(--bs-secondary-color);
}
.gt-admin-body .nav-tabs .nav-link:hover {
    border-color: color-mix(in srgb, var(--admin-primary) 24%, var(--bs-border-color));
    color: var(--admin-primary);
}
.gt-admin-body .nav-tabs .nav-link.active {
    border-bottom-color: var(--admin-primary);
    color: var(--admin-primary);
    box-shadow: inset 0 -2px var(--admin-primary);
}
.gt-admin-body .nav-pills .nav-link {
    color: var(--admin-primary);
}
.gt-admin-body .nav-pills .nav-link.active {
    background: var(--admin-button);
    color: #fff;
}
.gt-admin-body .page-link {
    color: var(--site-link);
}
.gt-admin-body .page-link:hover {
    background: color-mix(in srgb, var(--admin-primary) 9%, var(--bs-body-bg));
    border-color: color-mix(in srgb, var(--admin-primary) 22%, var(--bs-border-color));
    color: var(--admin-primary);
}
.gt-admin-body .active > .page-link,
.gt-admin-body .page-link.active {
    background: var(--admin-button);
    border-color: var(--admin-button);
    color: #fff;
}
.gt-admin-body .list-group-item-action:hover {
    background: color-mix(in srgb, var(--admin-primary) 7%, var(--bs-body-bg));
}
.gt-admin-body .list-group-item.active {
    background: var(--admin-primary);
    border-color: var(--admin-primary);
    color: #fff;
}
.gt-admin-body .accordion-button:not(.collapsed) {
    background: color-mix(in srgb, var(--admin-primary) 9%, var(--bs-body-bg)) !important;
    color: var(--admin-primary) !important;
}
.gt-admin-body .accordion-button:focus {
    border-color: var(--admin-primary);
    box-shadow: 0 0 0 .22rem color-mix(in srgb, var(--admin-primary) 17%, transparent);
}
.gt-admin-body .accordion-button:not(.collapsed)::after {
    filter: none;
}
.gt-admin-body .progress-bar {
    background: var(--admin-primary);
}
.gt-admin-body .text-bg-primary,
.gt-admin-body .bg-primary {
    background-color: var(--admin-primary) !important;
    color: #fff !important;
}
.gt-admin-body .text-bg-info,
.gt-admin-body .text-bg-teal,
.gt-admin-body .bg-info {
    background-color: var(--admin-secondary) !important;
    color: #fff !important;
}
.gt-admin-body .text-bg-indigo {
    background-color: color-mix(in srgb, var(--admin-primary) 70%, var(--admin-secondary)) !important;
    color: #fff !important;
}
.gt-admin-body .badge-status,
.gt-admin-body .support-queue-count,
.gt-admin-body .support-status-active {
    background: color-mix(in srgb, var(--admin-primary) 12%, var(--bs-body-bg));
    color: var(--admin-primary);
}
.gt-admin-body .table thead th {
    background: color-mix(in srgb, var(--admin-primary) 5%, var(--bs-body-bg));
    color: color-mix(in srgb, var(--admin-primary) 70%, var(--bs-body-color));
}
.gt-admin-body .config-nav a.active {
    background: linear-gradient(120deg, var(--admin-primary), var(--admin-secondary));
    color: #fff;
    box-shadow: 0 5px 13px color-mix(in srgb, var(--admin-primary) 20%, transparent);
}
.gt-admin-body .config-icon,
.gt-admin-body .config-tile b {
    color: var(--admin-primary);
}
.gt-admin-body .config-icon {
    background: color-mix(in srgb, var(--admin-primary) 12%, var(--bs-body-bg));
}
.gt-admin-body .media-dropzone {
    border-color: color-mix(in srgb, var(--admin-primary) 38%, var(--bs-border-color));
    background: color-mix(in srgb, var(--admin-primary) 5%, var(--bs-body-bg));
    color: var(--bs-body-color);
}
.gt-admin-body .media-dropzone:hover,
.gt-admin-body .media-dropzone:focus-visible,
.gt-admin-body .media-dropzone.is-dragging {
    border-color: var(--admin-primary);
    background: color-mix(in srgb, var(--admin-primary) 10%, var(--bs-body-bg));
}
.gt-admin-body .media-dropzone-icon {
    background: color-mix(in srgb, var(--admin-primary) 14%, var(--bs-body-bg));
    color: var(--admin-primary);
}
.gt-admin-body .cms-rich-toolbar button:hover,
.gt-admin-body .cms-rich-toolbar button:focus-visible,
.gt-admin-body .cms-rich-format:focus {
    border-color: var(--admin-primary);
    color: var(--admin-primary);
}
.gt-admin-body .cms-rich-toolbar button.active {
    border-color: var(--admin-primary);
    background: color-mix(in srgb, var(--admin-primary) 12%, var(--bs-body-bg));
    color: var(--admin-primary);
}
.gt-admin-body .cms-rich-canvas:focus,
.gt-admin-body .cms-rich-source:focus {
    box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--admin-primary) 24%, transparent);
}
.gt-admin-body .cms-rich-canvas blockquote {
    border-left-color: var(--admin-primary);
}
.gt-admin-body .cms-rich-canvas a {
    color: var(--site-link);
}
.gt-admin-body .support-page {
    background: radial-gradient(circle at 90% 0, color-mix(in srgb, var(--admin-accent) 8%, transparent), transparent 28rem), var(--bs-tertiary-bg);
}
.gt-admin-body .support-new-card summary span,
.gt-admin-body .support-empty-chat > span {
    background: color-mix(in srgb, var(--admin-primary) 13%, var(--bs-body-bg));
    color: var(--admin-primary);
}
.gt-admin-body .support-conversation-row.active {
    border-color: color-mix(in srgb, var(--admin-primary) 28%, transparent);
    background: color-mix(in srgb, var(--admin-primary) 10%, var(--bs-body-bg));
    box-shadow: inset 3px 0 var(--admin-primary);
}
.gt-admin-body .support-conversation-row b {
    color: var(--admin-primary);
}
.gt-admin-body .support-conversation-row i {
    background: var(--admin-accent);
    color: color-mix(in srgb, var(--admin-shell) 80%, #000);
}
.gt-admin-body .support-message.is-customer {
    border-color: color-mix(in srgb, var(--admin-primary) 25%, transparent);
    background: color-mix(in srgb, var(--admin-primary) 9%, var(--bs-body-bg));
}
.gt-admin-body .support-agent-page .support-message.is-agent {
    background: color-mix(in srgb, var(--admin-secondary) 9%, var(--bs-body-bg));
}
.gt-admin-body .support-composer textarea:focus {
    border-color: var(--admin-primary);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--admin-primary) 14%, transparent);
}
.gt-admin-body .packing-workbench-tabs .active {
    border-color: var(--admin-button);
    background: var(--admin-button);
    color: #fff;
}
.gt-admin-body .packing-workbench-tabs a:hover {
    background: color-mix(in srgb, var(--admin-primary) 9%, var(--bs-body-bg));
    color: var(--admin-primary);
}
.gt-admin-body .packing-route-summary {
    border-left-color: var(--admin-primary);
    background: color-mix(in srgb, var(--admin-primary) 7%, var(--bs-body-bg));
}
.gt-admin-body .packing-route-summary > .ui-icon {
    color: var(--admin-primary);
}
.gt-admin-body .import-step {
    background: linear-gradient(135deg, var(--admin-primary), var(--admin-secondary));
    box-shadow: 0 7px 16px color-mix(in srgb, var(--admin-primary) 22%, transparent);
}
.gt-admin-body .import-dropzone {
    border-color: color-mix(in srgb, var(--admin-primary) 36%, var(--bs-border-color));
    background: linear-gradient(135deg, color-mix(in srgb, var(--admin-primary) 5%, var(--bs-body-bg)), var(--bs-body-bg));
}
.gt-admin-body .import-dropzone:hover,
.gt-admin-body .import-dropzone:focus-within {
    border-color: var(--admin-primary);
    background: color-mix(in srgb, var(--admin-primary) 9%, var(--bs-body-bg));
}
.gt-admin-body .import-dropzone > span strong {
    color: var(--bs-emphasis-color);
}
.gt-admin-body .import-file-icon {
    background: color-mix(in srgb, var(--admin-primary) 13%, var(--bs-body-bg));
    color: var(--admin-primary);
}
.gt-admin-body .import-guide {
    background:
        radial-gradient(circle at 100% 0, color-mix(in srgb, var(--admin-accent) 25%, transparent), transparent 12rem),
        linear-gradient(140deg, var(--admin-shell), var(--admin-primary));
    border-color: color-mix(in srgb, var(--admin-primary) 74%, transparent);
    color: #fff;
}
.gt-admin-body .sheet-pill {
    background: var(--admin-accent);
    color: color-mix(in srgb, var(--admin-shell) 86%, #000);
}
.gt-admin-body .import-link-line {
    border-left-color: color-mix(in srgb, var(--admin-accent) 76%, transparent);
}
.gt-admin-body .import-stat:not(.success) {
    border-color: color-mix(in srgb, var(--admin-primary) 16%, var(--bs-border-color));
    background: color-mix(in srgb, var(--admin-primary) 5%, var(--bs-body-bg));
}
/* Shared save, update, warning and error notifications. */
.gt-toast-container {
    top: 4.5rem !important;
    z-index: 1090;
    width: min(400px, calc(100vw - 1rem));
    pointer-events: none;
}
.gt-public-body .gt-toast-container {
    top: 1rem !important;
}
.gt-app-toast {
    --gt-toast-status: var(--admin-primary, var(--site-primary));
    width: 100%;
    border: 0;
    border-left: 4px solid var(--gt-toast-status);
    border-radius: .8rem;
    background: var(--bs-body-bg);
    color: var(--bs-body-color);
    box-shadow: 0 .8rem 2.4rem rgba(15, 23, 42, .22);
    pointer-events: auto;
    overflow: hidden;
}
.gt-app-toast-success {
    --gt-toast-status: #198754;
}
.gt-app-toast-warning {
    --gt-toast-status: #d99000;
}
.gt-app-toast-error {
    --gt-toast-status: #dc3545;
}
.gt-app-toast .toast-header {
    gap: .6rem;
    border-bottom-color: color-mix(in srgb, var(--gt-toast-status) 18%, var(--bs-border-color));
    background: color-mix(in srgb, var(--gt-toast-status) 8%, var(--bs-body-bg));
    color: var(--bs-body-color);
}
.gt-app-toast .toast-body {
    padding: .9rem 1rem 1rem;
    line-height: 1.45;
}
.gt-toast-icon {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    width: 1.55rem;
    height: 1.55rem;
    border-radius: 50%;
    background: var(--gt-toast-status);
    color: #fff;
    font-size: .82rem;
    font-weight: 850;
}
@media (max-width: 575.98px) {
    .gt-toast-container {
        top: 3.8rem !important;
        padding: .5rem !important;
    }
    .gt-public-body .gt-toast-container {
        top: .5rem !important;
    }
}
.carrier-logo-preview {
    min-height:82px;
    border:1px dashed var(--bs-border-color);
    border-radius:.75rem;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:1rem
}
.carrier-logo-preview img {
    display:block;
    max-width:100%;
    max-height:72px;
    object-fit:contain
}
.carrier-logo-thumb,.carrier-logo-fallback {
    width:58px;
    height:38px;
    border:1px solid rgba(15,23,42,.12);
    border-radius:.5rem;
    background:#fff;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    flex:0 0 auto
}
.carrier-logo-thumb img {
    display:block;
    width:100%;
    height:100%;
    padding:.25rem;
    object-fit:contain
}
.carrier-logo-fallback {
    background:var(--app-accent-soft,#fff2e8);
    color:var(--app-accent,#c44b00);
    font-weight:800;
    font-size:.75rem;
    letter-spacing:.06em
}
.public-carrier-logo {
    width:72px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fff;
    border:1px solid rgba(15,23,42,.1);
    border-radius:.55rem;
    padding:.3rem;
    margin-bottom:.65rem
}
.public-carrier-logo img {
    display:block;
    max-width:100%;
    max-height:100%;
    object-fit:contain
}
/* Public brand assets keep their natural aspect ratio at every viewport size. */
.gt-public-nav .public-brand,
.public-footer .public-brand {
    min-width: 0;
}
.gt-public-nav .public-logo-frame {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex: 0 1 auto;
    width: auto;
    max-width: 210px;
    height: 58px;
    padding: 2px;
    overflow: hidden;
    box-sizing: border-box;
}
.gt-public-nav .public-logo,
.public-footer .public-logo {
    display: block;
    width: auto !important;
    height: auto !important;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: left center;
}
.public-footer .public-footer-logo-frame {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex: 0 1 auto;
    width: auto;
    max-width: 210px;
    height: 64px;
    padding: 7px 10px;
    overflow: hidden;
    box-sizing: border-box;
}
@media (max-width: 767.98px) {
    .gt-public-nav {
        min-height: 100px;
    }
    .gt-public-nav .public-brand {
        max-width: calc(100% - 60px);
        margin-right: 0;
    }
    .gt-public-nav .public-logo-frame {
        width: min(68vw, 280px);
        max-width: min(68vw, 280px);
        height: 84px;
        padding: 0;
    }
    .gt-public-nav .public-logo {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain;
        object-position: left center;
    }
    .gt-public-nav .public-brand > span:last-child:not(.public-logo-frame) {
        min-width: 0;
    }
    .gt-public-nav .public-brand > span:last-child:not(.public-logo-frame) strong {
        display: block;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .public-footer .public-footer-logo-frame {
        max-width: 220px;
        height: 72px;
    }
}
@media (max-width: 420px) {
    .gt-public-nav .public-logo-frame {
        width: min(68vw, 250px);
        max-width: min(68vw, 250px);
        height: 80px;
    }
}
/* Country flags use an emoji-capable font so regional-indicator glyphs render on desktop browsers too. */
.country-flag {
    display: inline-block;
    min-width: 1.2em;
    font-family: "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif;
    font-variant-emoji: emoji;
    line-height: 1;
    text-align: center;
    vertical-align: -.08em;
}
.route-table-pill .country-flag {
    font-size: 1.15em;
}
.destination-grid article > .country-flag {
    font-size: 1.35rem;
    font-weight: 400;
}
.home-destination-row .country-flag {
    font-size: 1.2rem;
    font-weight: 400;
}
.country-code-select {
    font-family: "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", Inter, "Segoe UI", sans-serif;
}
.country-flag-image {
    display: inline-block;
    width: 24px;
    height: 16px;
    max-width: none;
    border-radius: 2px;
    object-fit: cover;
    vertical-align: -.15em;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, .12);
}
.route-table-pill .country-flag-image {
    width: 20px;
    height: 14px;
}
.destination-grid article > .country-flag-image {
    width: 30px;
    height: 21px;
}
.home-destination-row .country-flag-image {
    width: 25px;
    height: 17px;
}
.branches-split {
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:stretch;
    gap:1rem
}
.branches-list {
    display:grid;
    align-content:start;
    gap:.55rem;
    max-height:430px;
    overflow:auto;
    padding:.1rem .25rem .1rem 0
}
.branch-location-card {
    display:flex;
    align-items:center;
    gap:.65rem;
    min-height:68px;
    width:100%;
    padding:.7rem;
    border:1px solid #dce8ee;
    border-radius:12px;
    background:#fff;
    text-align:left;
    transition:.2s
}
.branch-location-card:hover,.branch-location-card.is-selected {
    border-color:var(--site-primary,#087f77);
    box-shadow:0 5px 16px rgba(14,39,69,.08)
}
.branch-location-mark {
    display:grid;
    flex:0 0 34px;
    place-items:center;
    width:34px;
    height:34px;
    border-radius:9px;
    background:color-mix(in srgb,var(--site-accent,#15c4b7) 18%,#fff);
    color:var(--site-primary,#087f77);
    font-weight:800
}
.branch-location-copy {
    display:grid;
    min-width:0;
    gap:.12rem
}
.branch-location-copy strong {
    color:#17364d;
    font-size:.8rem
}
.branch-location-copy small,.branch-location-copy span {
    color:#718795;
    font-size:.67rem
}
.branch-location-copy span {
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap
}
.branch-location-arrow {
    margin-left:auto;
    color:var(--site-primary,#087f77);
    font-size:1rem
}
.branches-map-panel {
    display:flex;
    flex-direction:column;
    padding:.85rem;
    border:1px solid #dce8ee;
    border-radius:16px;
    background:#fff;
    box-shadow:0 10px 30px rgba(14,39,69,.06)
}
.branches-map-heading {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:1rem;
    margin-bottom:.65rem
}
.branches-map-heading h3 {
    margin:.2rem 0 0;
    color:#17364d;
    font-size:1.1rem
}
.branches-map-frame {
    height:330px;
    overflow:hidden;
    border-radius:10px;
    background:#edf4f7
}
.branches-map-frame iframe {
    width:100%;
    height:100%;
    border:0
}
@media(max-width:900px) {
    .branches-split {
        grid-template-columns:1fr
    }
    .branches-list {
        max-height:none
    }
    .branches-map-frame {
        height:300px
    }
}
.branch-card {
    overflow:hidden;
    border:1px solid #dce8ee;
    border-radius:18px;
    background:#fff;
    box-shadow:0 10px 30px rgba(14,39,69,.07)
}
.branch-card-image {
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:110px;
    padding:1.25rem;
    background:linear-gradient(135deg,var(--site-footer,#071a2f),color-mix(in srgb,var(--site-primary,#087f77) 72%,var(--site-footer,#071a2f)));
    color:#fff
}
.branch-card-image .brand-mark {
    width:52px;
    height:52px;
    border-radius:14px;
    background:color-mix(in srgb,var(--site-accent,#15c4b7) 25%,transparent);
    color:#fff;
    font-size:1.35rem
}
.branch-card-body {
    padding:1.25rem
}
.branch-code {
    color:var(--site-primary,#087f77);
    font-size:.62rem;
    font-weight:850;
    letter-spacing:.12em;
    text-transform:uppercase
}
.branch-card h3 {
    margin:.35rem 0 .7rem;
    color:#17364d;
    font-size:1.2rem
}
.branch-address {
    min-height:58px;
    color:#60798a;
    font-size:.78rem;
    line-height:1.6
}
.branch-contact {
    display:block;
    color:var(--site-link,#087f77);
    font-size:.74rem;
    font-weight:700;
    text-decoration:none
}
.branch-card .btn {
    font-size:.72rem
}
.gt-public-body .public-content-body {
    font-family:inherit;
    font-size:1.02rem;
    line-height:1.7
}
.gt-public-body .public-content-body h2,.gt-public-body .public-content-body h3 {
    margin:2rem 0 .7rem;
    color:#17364d;
    font-weight:800
}
.gt-public-body .public-content-body p {
    margin:0 0 1rem
}
.gt-public-body .public-content-body ul,.gt-public-body .public-content-body ol {
    padding-left:1.25rem;
    margin:0 0 1rem
}
/* Branded, responsive account sign-in */
.login-page {
    min-height:calc(100vh - 220px);
    padding:clamp(2.5rem,7vw,6rem) 0;
    background:radial-gradient(circle at 10% 15%,color-mix(in srgb,var(--site-accent,#15c4b7) 12%,transparent),transparent 22rem),var(--paper,#f4f7fb)
}
.login-shell {
    max-width:980px;
    overflow:hidden;
    border:1px solid var(--line,#dce5ee);
    border-radius:24px;
    background:#fff;
    box-shadow:0 25px 70px rgba(10,35,57,.14)
}
.login-brand-panel {
    position:relative;
    display:flex;
    min-height:540px;
    flex-direction:column;
    justify-content:space-between;
    overflow:hidden;
    padding:clamp(2rem,5vw,4rem);
    background:radial-gradient(circle at 88% 12%,color-mix(in srgb,var(--site-accent,#15c4b7) 42%,transparent),transparent 13rem),linear-gradient(145deg,var(--site-footer,#071a2f),color-mix(in srgb,var(--site-footer,#071a2f) 55%,var(--site-primary,#087f77)));
    color:#fff
}
.login-brand-panel:after {
    position:absolute;
    right:-7rem;
    bottom:-8rem;
    width:21rem;
    height:21rem;
    border:1px solid rgba(255,255,255,.15);
    border-radius:50%;
    box-shadow:0 0 0 2.4rem rgba(255,255,255,.04),0 0 0 5rem rgba(255,255,255,.025);
    content:""
}
.login-brand-content {
    position:relative;
    z-index:1
}
.login-brand-kicker {
    color:var(--site-accent,#15c4b7);
    font-size:.68rem;
    font-weight:800;
    letter-spacing:.16em;
    text-transform:uppercase
}
.login-brand-panel h1 {
    max-width:370px;
    margin:1.1rem 0 1rem;
    font-size:clamp(2rem,4vw,3.35rem);
    font-weight:800;
    line-height:1.05;
    letter-spacing:-.04em
}
.login-brand-panel p {
    max-width:360px;
    color:#c8d9e2;
    line-height:1.65
}
.login-feature-list {
    display:grid;
    gap:.8rem;
    margin-top:2rem
}
.login-feature-list span {
    display:flex;
    align-items:center;
    gap:.65rem;
    color:#e6f1f4;
    font-size:.79rem
}
.login-feature-list i {
    display:grid;
    place-items:center;
    width:22px;
    height:22px;
    border-radius:50%;
    background:color-mix(in srgb,var(--site-accent,#15c4b7) 24%,transparent);
    color:var(--site-accent,#15c4b7);
    font-style:normal;
    font-weight:800
}
.login-brand-route {
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    gap:.65rem;
    color:#b9d4dd;
    font-size:.65rem;
    font-weight:800;
    letter-spacing:.12em
}
.login-brand-route i {
    width:88px;
    border-top:1px dashed rgba(255,255,255,.45)
}
.login-form-panel {
    padding:clamp(2rem,5vw,4.5rem)
}
.login-form-heading {
    display:flex;
    align-items:flex-start;
    gap:.9rem;
    margin-bottom:2rem
}
.login-form-heading h2 {
    margin:.25rem 0 .3rem;
    color:var(--ink,#10253f);
    font-size:clamp(1.7rem,3vw,2.25rem);
    font-weight:800;
    letter-spacing:-.035em
}
.login-form-heading p {
    margin:0;
    color:var(--muted,#60738a);
    font-size:.86rem
}
.login-icon {
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border-radius:12px;
    background:color-mix(in srgb,var(--site-accent,#15c4b7) 16%,#fff);
    color:var(--site-primary,#087f77);
    font-size:1.4rem;
    font-weight:800
}
.login-input-wrap {
    position:relative
}
.login-input-wrap>span {
    position:absolute;
    top:50%;
    left:.9rem;
    z-index:1;
    color:var(--site-primary,#087f77);
    font-size:.95rem;
    transform:translateY(-50%)
}
.login-input-wrap .form-control {
    min-height:50px;
    padding-left:2.6rem;
    border-radius:10px;
    background:#fbfdfe
}
.login-form-panel .form-label {
    margin-bottom:.45rem;
    color:var(--ink,#10253f);
    font-size:.78rem;
    font-weight:700
}
.login-form-panel .text-danger {
    display:block;
    margin-top:.35rem;
    font-size:.72rem
}
.login-form-panel .input-validation-error {
    border-color:#dc3545;
    box-shadow:0 0 0 .2rem rgba(220,53,69,.12)
}
.login-validation-summary {
    min-height:0;
    margin-bottom:1rem;
    color:#b42318;
    font-size:.78rem
}
.login-validation-summary:empty {
    display:none
}
.login-form-options {
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin:1.25rem 0 1.5rem;
    font-size:.76rem
}
.login-form-options a {
    color:var(--site-link,var(--site-primary,#087f77));
    font-weight:700;
    text-decoration:none
}
.login-submit {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.7rem;
    width:100%;
    min-height:50px;
    border-radius:10px!important;
    font-size:.85rem
}
.login-submit span {
    font-size:1.1rem;
    transition:transform .2s
}
.login-submit:hover span {
    transform:translateX(3px)
}
.login-note {
    display:flex;
    gap:.55rem;
    margin-top:1.7rem;
    color:var(--muted,#60738a);
    font-size:.7rem;
    line-height:1.5
}
.login-note>span:first-child {
    display:grid;
    flex:0 0 18px;
    place-items:center;
    width:18px;
    height:18px;
    border:1px solid var(--line,#dce5ee);
    border-radius:50%;
    font-weight:800
}
@media(max-width:767.98px) {
    .login-page {
        padding:1.5rem 0
    }
    .login-shell {
        border-radius:16px
    }
    .login-brand-panel {
        min-height:360px;
        padding:2rem
    }
    .login-brand-panel h1 {
        font-size:2.25rem
    }
    .login-form-panel {
        padding:2rem 1.5rem
    }
    .login-brand-route {
        margin-top:2rem
    }
}
.navigation-builder {
    padding:1rem;
    border:1px solid var(--bs-border-color);
    border-radius:12px;
    background:var(--bs-tertiary-bg)
}
.navigation-builder-heading {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem
}
.navigation-builder-heading strong {
    display:block;
    color:var(--bs-emphasis-color);
    font-size:.95rem
}
.navigation-builder-heading span {
    display:block;
    margin-top:.2rem;
    color:var(--bs-secondary-color);
    font-size:.74rem
}
.navigation-builder-tabs {
    display:flex;
    gap:.4rem;
    margin:1rem 0 .75rem;
    border-bottom:1px solid var(--bs-border-color)
}
.navigation-builder-tabs button {
    padding:.55rem .8rem;
    border:0;
    border-bottom:2px solid transparent;
    background:transparent;
    color:var(--bs-secondary-color);
    font-size:.78rem;
    font-weight:700
}
.navigation-builder-tabs button.active {
    border-bottom-color:var(--site-primary,#087f77);
    color:var(--site-primary,#087f77)
}
.navigation-builder-list {
    display:grid;
    gap:.55rem
}
.navigation-builder-item {
    display:grid;
    grid-template-columns:24px minmax(220px,1fr) 170px 64px 94px;
    align-items:center;
    gap:.55rem;
    padding:.55rem .6rem;
    border:1px solid var(--bs-border-color);
    border-radius:8px;
    background:var(--bs-body-bg)
}
.navigation-builder-item.is-hidden {
    opacity:.58
}
.navigation-builder-grip {
    color:var(--bs-secondary-color);
    font-size:1.2rem;
    text-align:center
}
.navigation-builder-fields {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:.45rem
}
.navigation-builder-item select,.navigation-builder-item input {
    font-size:.78rem
}
.navigation-builder-visible {
    display:flex;
    align-items:center;
    gap:.35rem;
    color:var(--bs-secondary-color);
    font-size:.7rem;
    white-space:nowrap
}
.navigation-builder-actions {
    display:flex;
    justify-content:flex-end;
    gap:.15rem
}
.navigation-builder-actions button {
    width:26px;
    height:26px;
    padding:0;
    border:0;
    border-radius:5px;
    background:var(--bs-tertiary-bg);
    color:var(--bs-secondary-color);
    font-weight:800
}
.navigation-builder-actions button:hover:not(:disabled) {
    background:var(--site-primary,#087f77);
    color:#fff
}
.navigation-builder-actions button:disabled {
    opacity:.35
}
.navigation-builder-empty {
    padding:1.2rem;
    text-align:center;
    border:1px dashed var(--bs-border-color);
    border-radius:8px;
    color:var(--bs-secondary-color);
    font-size:.78rem
}
@media(max-width:900px) {
    .navigation-builder-item {
        grid-template-columns:24px 1fr 90px
    }
    .navigation-builder-item select {
        grid-column:2
    }
    .navigation-builder-visible {
        grid-column:3;
        grid-row:1
    }
    .navigation-builder-actions {
        grid-column:2 / -1;
        justify-content:flex-start
    }
    .navigation-builder-fields {
        grid-template-columns:1fr
    }
}
.public-destination-intro {
    display:flex;
    align-items:flex-start;
    gap:1.25rem;
    padding:1.5rem;
    border:1px solid #dce8ee;
    border-radius:18px;
    background:#f4f8fa
}
.public-destination-intro .country-flag-image {
    width:54px;
    height:38px;
    flex:0 0 auto;
    object-fit:cover
}
.public-destination-intro h2 {
    margin:0 0 .5rem;
    color:#17364d;
    font-size:1.5rem
}
.public-destination-intro p {
    margin:0;
    color:#506c7b;
    line-height:1.65
}
.public-destination-checklist {
    display:grid;
    gap:.85rem;
    padding-left:1.5rem;
    color:#405c6f;
    line-height:1.65
}
.public-weight-result {
    padding:1.5rem;
    border:1px solid color-mix(in srgb,var(--site-primary,#087f77) 25%,#fff);
    border-radius:18px;
    background:#f4f8fa
}
.public-weight-result h2 {
    margin:0 0 .5rem;
    font-size:1rem;
    color:#405c6f
}
.public-weight-result strong {
    display:block;
    margin-bottom:.5rem;
    color:var(--site-primary,#087f77);
    font-size:2rem
}
.public-weight-result p {
    color:#506c7b
}
.gt-public-body .public-service-content {
    white-space:normal
}
.public-service-content>.service-lead {
    padding:1.25rem 1.5rem;
    border-left:4px solid var(--site-primary,#087f77);
    border-radius:0 14px 14px 0;
    background:#f4f8fa;
    color:#284c61;
    font-size:1.1rem;
    font-weight:550;
    line-height:1.7
}
.public-service-content .service-link-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.85rem;
    margin:1.5rem 0 2rem
}
.public-service-content .service-link-grid a {
    display:flex;
    flex-direction:column;
    gap:.4rem;
    padding:1.15rem;
    border:1px solid #dce8ee;
    border-radius:14px;
    background:#fff;
    box-shadow:0 8px 24px rgba(17,49,71,.05);
    text-decoration:none
}
.public-service-content .service-link-grid a:hover {
    border-color:var(--site-primary,#087f77);
    transform:translateY(-2px)
}
.public-service-content .service-link-grid strong {
    color:#17364d;
    font-size:1rem
}
.public-service-content .service-link-grid span {
    color:#60798a;
    font-size:.82rem;
    line-height:1.55
}
.public-service-content .service-steps {
    display:grid;
    gap:.75rem;
    padding-left:1.6rem
}
.public-service-content .service-steps li {
    padding-left:.25rem
}
.public-service-content .service-steps li::marker {
    color:var(--site-primary,#087f77);
    font-weight:800
}
.public-service-content .service-note {
    padding:1rem 1.2rem;
    border:1px solid #dce8ee;
    border-radius:12px;
    background:#f8fafb;
    color:#526e7e;
    font-size:.9rem
}
.public-content-aside>a:not(.btn) {
    font-size:.78rem;
    font-weight:750;
    text-decoration:none
}
@media(max-width:575px) {
    .public-service-content .service-link-grid {
        grid-template-columns:1fr
    }
}
.public-page-toggle-card {
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:1rem;
    padding:1rem 1.15rem;
    border:1px solid var(--bs-border-color);
    border-radius:12px;
    background:var(--bs-body-bg)
}
.public-page-toggle-card strong {
    display:block;
    margin-bottom:.25rem;
    color:var(--bs-emphasis-color)
}
.public-page-toggle-card code {
    display:inline-block;
    margin-top:.5rem;
    font-size:.75rem
}
.public-page-toggle-card .form-check {
    flex:0 0 auto;
    margin:.15rem 0 0
}
.public-page-toggle-card .form-check-label {
    font-size:.75rem;
    font-weight:700
}
/* Practical home-page guidance and FAQs follow the selected public-site palette. */
.public-home-shipping-guide h2,.public-home-questions h2 {
    margin:.65rem 0 1rem;
    color:#17364d;
    font-size:clamp(2rem,3.5vw,3rem);
    font-weight:800;
    line-height:1.12;
    letter-spacing:-.035em
}
.public-home-shipping-guide>div>div>p,.public-home-questions p {
    color:#5d7584;
    font-size:.94rem;
    line-height:1.75
}
.public-home-guide-list {
    display:grid;
    gap:1.15rem;
    margin:1.6rem 0
}
.public-home-guide-list article {
    display:flex;
    align-items:flex-start;
    gap:1rem
}
.public-home-guide-list article>span {
    display:grid;
    flex:0 0 42px;
    place-items:center;
    width:42px;
    height:42px;
    border-radius:12px;
    background:color-mix(in srgb,var(--site-primary,#087f77) 12%,#fff);
    color:var(--site-primary,#087f77);
    font-size:.72rem;
    font-weight:800
}
.public-home-guide-list h3 {
    margin:0 0 .3rem;
    color:#17364d;
    font-size:1rem;
    font-weight:780
}
.public-home-guide-list p {
    margin:0;
    color:#657d8b;
    font-size:.82rem;
    line-height:1.65
}
.public-home-inline-links {
    display:flex;
    flex-wrap:wrap;
    gap:.75rem 1.25rem;
    margin-top:1.5rem
}
.public-home-inline-links a,.public-home-questions a {
    color:var(--site-link,var(--site-primary,#087f77));
    font-size:.82rem;
    font-weight:800;
    text-decoration:none
}
.public-home-inline-links a:hover,.public-home-questions a:hover {
    text-decoration:underline
}
.public-home-guide-visual {
    overflow:hidden;
    margin:0;
    border:1px solid #dce8ee;
    border-radius:22px;
    background:#f4f8fa;
    box-shadow:0 20px 55px rgba(14,39,69,.09)
}
.public-home-guide-visual img {
    display:block;
    width:100%;
    height:auto;
    aspect-ratio:8/3;
    object-fit:cover
}
.public-home-guide-visual figcaption {
    padding:1rem 1.25rem;
    color:#506c7b;
    font-size:.8rem;
    line-height:1.5
}
.public-home-questions {
    padding:5rem 0;
    background:#f4f8fa
}
.public-home-questions-list {
    display:grid;
    gap:.75rem
}
.public-home-questions-list details {
    border:1px solid #dce8ee;
    border-radius:14px;
    background:#fff;
    box-shadow:0 6px 20px rgba(14,39,69,.04)
}
.public-home-questions-list summary {
    position:relative;
    padding:1.05rem 3rem 1.05rem 1.2rem;
    color:#17364d;
    font-size:.94rem;
    font-weight:760;
    cursor:pointer;
    list-style:none
}
.public-home-questions-list summary::-webkit-details-marker {
    display:none
}
.public-home-questions-list summary:after {
    position:absolute;
    right:1.2rem;
    top:.9rem;
    color:var(--site-primary,#087f77);
    content:'+';
    font-size:1.35rem;
    line-height:1
}
.public-home-questions-list details[open] summary:after {
    content:'−'
}
.public-home-questions-list details p {
    margin:0;
    padding:0 1.2rem 1.2rem;
    font-size:.83rem
}
.public-home-questions-list summary:focus-visible {
    outline:3px solid var(--site-primary,#087f77);
    outline-offset:2px
}
.public-faq-content>h2 {
    margin:2.25rem 0 1rem!important;
    font-size:1.4rem
}
.public-faq-content>.public-faq-item {
    margin-bottom:.75rem;
    border:1px solid #dce8ee;
    border-radius:14px;
    background:#fff;
    box-shadow:0 6px 20px rgba(14,39,69,.04)
}
.public-faq-item>summary {
    position:relative;
    padding:1rem 3rem 1rem 1.2rem;
    color:#17364d;
    font-size:1rem;
    font-weight:760;
    line-height:1.5;
    cursor:pointer;
    list-style:none
}
.public-faq-item>summary::-webkit-details-marker {
    display:none
}
.public-faq-item>summary:after {
    position:absolute;
    right:1.2rem;
    top:.85rem;
    color:var(--site-primary,#087f77);
    content:'+';
    font-size:1.4rem;
    line-height:1
}
.public-faq-item[open]>summary:after {
    content:'−'
}
.public-faq-item>summary:focus-visible {
    outline:3px solid var(--site-primary,#087f77);
    outline-offset:2px
}
.public-faq-answer {
    padding:0 1.2rem 1.1rem;
    color:#526e7e;
    font-size:.94rem;
    line-height:1.7
}
.public-faq-answer>:last-child {
    margin-bottom:0!important
}
@media(max-width:767.98px) {
    .public-home-questions {
        padding:3.5rem 0
    }
    .public-home-shipping-guide {
        padding-top:4rem;
        padding-bottom:4rem
    }
}
.public-home-special-service {
    margin-top:1.8rem;
    padding:1.25rem 1.4rem;
    border:1px solid color-mix(in srgb,var(--site-primary,#087f77) 28%,#fff);
    border-left:4px solid var(--site-primary,#087f77);
    border-radius:14px;
    background:color-mix(in srgb,var(--site-primary,#087f77) 5%,#fff)
}
.public-home-special-service>span {
    display:block;
    color:var(--site-primary,#087f77);
    font-size:.66rem;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase
}
.public-home-special-service strong {
    display:block;
    margin:.3rem 0;
    color:#17364d;
    font-size:1.08rem
}
.public-home-special-service p {
    margin:0 0 .65rem;
    color:#5d7584;
    font-size:.8rem;
    line-height:1.6
}
.public-home-special-service a,.public-service-addon a {
    color:var(--site-link,var(--site-primary,#087f77));
    font-size:.8rem;
    font-weight:800;
    text-decoration:none
}
.public-home-special-service a:hover,.public-service-addon a:hover {
    text-decoration:underline
}
.public-service-addon {
    margin-top:2rem
}
.public-service-addon h2 {
    margin:0 0 .8rem;
    color:#17364d;
    font-size:1.45rem
}
.public-service-addon>a {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:.45rem 1rem;
    padding:1.2rem;
    border:1px solid #dce8ee;
    border-radius:14px;
    background:#fff;
    box-shadow:0 8px 24px rgba(17,49,71,.05)
}
.public-service-addon>a strong {
    color:#17364d;
    font-size:1rem
}
.public-service-addon>a span:nth-child(2) {
    flex:1 1 260px;
    color:#60798a;
    font-size:.82rem;
    font-weight:400;
    line-height:1.5
}
.public-service-addon .service-link-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.85rem;
    margin:0
}
.public-service-addon .service-link-grid a {
    display:flex;
    flex-direction:column;
    gap:.4rem;
    padding:1.15rem;
    border:1px solid #dce8ee;
    border-radius:14px;
    background:#fff;
    box-shadow:0 8px 24px rgba(17,49,71,.05);
    text-decoration:none
}
.public-service-addon .service-link-grid a:hover {
    border-color:var(--site-primary,#087f77);
    transform:translateY(-2px)
}
/* ALS Xpress public-only palette: warm surfaces and readable navy/slate text. */
.gt-public-body[data-public-theme="als-xpress"] {
    color:#334155
}
.gt-public-body[data-public-theme="als-xpress"] .gt-public-nav {
    border-bottom-color:#FFE9E5
}
.gt-public-body[data-public-theme="als-xpress"] .public-brand,
.gt-public-body[data-public-theme="als-xpress"] .gt-public-nav .nav-link {
    color:#0F2747!important
}
.gt-public-body[data-public-theme="als-xpress"] .gt-public-nav .nav-link:hover {
    background:#FFE9E5;
    color:#B80020!important
}
.gt-public-body[data-public-theme="als-xpress"] .public-home-questions,
.gt-public-body[data-public-theme="als-xpress"] .public-content-aside {
    background:#FFF7F2
}
.gt-public-body[data-public-theme="als-xpress"] .public-home-questions-list details,
.gt-public-body[data-public-theme="als-xpress"] .public-faq-item,
.gt-public-body[data-public-theme="als-xpress"] .public-service-content .service-link-grid a {
    border-color:#FFE9E5;
    background:#fff
}
.gt-public-body[data-public-theme="als-xpress"] .public-service-content>.service-lead,
.gt-public-body[data-public-theme="als-xpress"] .public-service-content .service-note {
    border-color:#FF5A00;
    background:#FFE9E5;
    color:#334155
}
.gt-public-body[data-public-theme="als-xpress"] .public-home-shipping-guide h2,
.gt-public-body[data-public-theme="als-xpress"] .public-home-questions h2,
.gt-public-body[data-public-theme="als-xpress"] .public-content-body h2,
.gt-public-body[data-public-theme="als-xpress"] .public-content-body h3,
.gt-public-body[data-public-theme="als-xpress"] .public-faq-item>summary {
    color:#0F2747
}
.gt-public-body[data-public-theme="als-xpress"] .public-home-hero,
.gt-public-body[data-public-theme="als-xpress"] .public-content-hero,
.gt-public-body[data-public-theme="als-xpress"] .public-tool-hero {
    background:radial-gradient(circle at 85% 12%,rgba(255,90,0,.19),transparent 24rem),linear-gradient(120deg,#1F4A8A,#0F2747)!important
}
.gt-public-body[data-public-theme="als-xpress"] .public-btn-primary,
.gt-public-body[data-public-theme="als-xpress"] .public-action-submit,
.gt-public-body[data-public-theme="als-xpress"] .public-banner-button {
    background:linear-gradient(120deg,#FF5A00,#E9230B)!important;
    border-color:#E9230B!important;
    color:#fff!important
}
/* Bright ALS palette: cream and white surfaces, orange actions, red accents. */
.gt-public-body[data-public-theme="als-xpress-light"] {
    background:#fff;
    color:#334155
}
.gt-public-body[data-public-theme="als-xpress-light"] .public-contact-bar {
    background:#B80020;
    color:#fff
}
.gt-public-body[data-public-theme="als-xpress-light"] .public-contact-bar a,
.gt-public-body[data-public-theme="als-xpress-light"] .public-contact-bar .public-social-links {
    color:#fff
}
.gt-public-body[data-public-theme="als-xpress-light"] .gt-public-nav {
    border-bottom-color:#FFE9E5;
    background:#fff
}
.gt-public-body[data-public-theme="als-xpress-light"] .public-brand,
.gt-public-body[data-public-theme="als-xpress-light"] .gt-public-nav .nav-link {
    color:#0F2747!important
}
.gt-public-body[data-public-theme="als-xpress-light"] .gt-public-nav .nav-link:hover {
    background:#FFE9E5;
    color:#B80020!important
}
.gt-public-body[data-public-theme="als-xpress-light"] .public-home-hero,
.gt-public-body[data-public-theme="als-xpress-light"] .public-content-hero:not(.has-image),
.gt-public-body[data-public-theme="als-xpress-light"] .public-tool-hero,
.gt-public-body[data-public-theme="als-xpress-light"] .tracking-search-hero,
.gt-public-body[data-public-theme="als-xpress-light"] .blog-hero,
.gt-public-body[data-public-theme="als-xpress-light"] .guest-support-hero {
    background:radial-gradient(circle at 86% 14%,rgba(255,90,0,.17),transparent 26rem),radial-gradient(circle at 8% 90%,rgba(184,0,32,.08),transparent 24rem),linear-gradient(125deg,#FFFFFF,#FFF7F2 65%,#FFE9E5)!important;
    color:#0F2747
}
.gt-public-body[data-public-theme="als-xpress-light"] .public-hero-copy p,
.gt-public-body[data-public-theme="als-xpress-light"] .public-content-hero p,
.gt-public-body[data-public-theme="als-xpress-light"] .public-tool-hero p,
.gt-public-body[data-public-theme="als-xpress-light"] .tracking-search-hero p,
.gt-public-body[data-public-theme="als-xpress-light"] .blog-hero p,
.gt-public-body[data-public-theme="als-xpress-light"] .guest-support-hero p {
    color:#64748B
}
.gt-public-body[data-public-theme="als-xpress-light"] .public-kicker,
.gt-public-body[data-public-theme="als-xpress-light"] .blog-hero .eyebrow {
    color:#B80020
}
.gt-public-body[data-public-theme="als-xpress-light"] .public-kicker>span {
    background:#FF5A00;
    box-shadow:0 0 0 5px rgba(255,90,0,.12)
}
.gt-public-body[data-public-theme="als-xpress-light"] .public-map-grid {
    opacity:.28
}
.gt-public-body[data-public-theme="als-xpress-light"] .public-proof-row,
.gt-public-body[data-public-theme="als-xpress-light"] .public-hero-stats span {
    color:#64748B
}
.gt-public-body[data-public-theme="als-xpress-light"] .public-hero-stats {
    border-color:#FFE2D8;
    background:rgba(255,255,255,.8);
    color:#0F2747
}
.gt-public-body[data-public-theme="als-xpress-light"] .public-hero-stats>div+div {
    border-left-color:#FFE2D8
}
.gt-public-body[data-public-theme="als-xpress-light"] .public-action-card {
    border-color:#FFE2D8;
    box-shadow:0 22px 54px rgba(184,0,32,.09)
}
.gt-public-body[data-public-theme="als-xpress-light"] .public-action-tabs {
    border-color:#FFD6C9;
    background:#FFF0E9
}
.gt-public-body[data-public-theme="als-xpress-light"] .public-action-tabs button {
    color:#7A0D18
}
.gt-public-body[data-public-theme="als-xpress-light"] .public-action-tabs button span {
    color:#B80020
}
.gt-public-body[data-public-theme="als-xpress-light"] .public-action-tabs button.active {
    background:#B80020;
    color:#fff
}
.gt-public-body[data-public-theme="als-xpress-light"] .public-action-tabs button.active span {
    color:#fff
}
.gt-public-body[data-public-theme="als-xpress-light"] .public-btn-primary,
.gt-public-body[data-public-theme="als-xpress-light"] .public-action-submit,
.gt-public-body[data-public-theme="als-xpress-light"] .public-banner-button {
    background:linear-gradient(120deg,#C5410A,#B80020)!important;
    border-color:#B80020!important;
    color:#fff!important
}
.gt-public-body[data-public-theme="als-xpress-light"] .public-home-questions,
.gt-public-body[data-public-theme="als-xpress-light"] .public-content-aside,
.gt-public-body[data-public-theme="als-xpress-light"] .public-control-section,
.gt-public-body[data-public-theme="als-xpress-light"] .public-home-directory,
.gt-public-body[data-public-theme="als-xpress-light"] .public-home-gallery,
.gt-public-body[data-public-theme="als-xpress-light"] .public-notifications-section {
    background:#FFF7F2
}
.gt-public-body[data-public-theme="als-xpress-light"] .public-service-card,
.gt-public-body[data-public-theme="als-xpress-light"] .public-faq-item,
.gt-public-body[data-public-theme="als-xpress-light"] .public-home-questions-list details,
.gt-public-body[data-public-theme="als-xpress-light"] .public-service-content .service-link-grid a {
    border-color:#FFE2D8;
    background:#fff
}
.gt-public-body[data-public-theme="als-xpress-light"] .public-service-card .service-icon,
.gt-public-body[data-public-theme="als-xpress-light"] .public-process-grid>div>span,
.gt-public-body[data-public-theme="als-xpress-light"] .action-symbol {
    background:#FFE9E5;
    color:#B80020
}
.gt-public-body[data-public-theme="als-xpress-light"] .public-section-heading h2,
.gt-public-body[data-public-theme="als-xpress-light"] .public-control-section h2,
.gt-public-body[data-public-theme="als-xpress-light"] .public-content-body h2,
.gt-public-body[data-public-theme="als-xpress-light"] .public-content-body h3,
.gt-public-body[data-public-theme="als-xpress-light"] .public-home-shipping-guide h2,
.gt-public-body[data-public-theme="als-xpress-light"] .public-home-questions h2,
.gt-public-body[data-public-theme="als-xpress-light"] .public-faq-item>summary {
    color:#0F2747
}
.gt-public-body[data-public-theme="als-xpress-light"] .public-service-content>.service-lead,
.gt-public-body[data-public-theme="als-xpress-light"] .public-service-content .service-note {
    border-color:#FF5A00;
    background:#FFE9E5;
    color:#334155
}
.gt-public-body[data-public-theme="als-xpress-light"] .public-tool-steps span {
    border-color:#FFD6C9;
    color:#7A0D18
}
.gt-public-body[data-public-theme="als-xpress-light"] .public-tool-steps span.active {
    border-color:#E9230B;
    background:#FFE9E5;
    color:#B80020
}
.gt-public-body[data-public-theme="als-xpress-light"] .public-final-cta {
    background:linear-gradient(115deg,#C5410A,#B80020)!important;
    color:#fff
}
.gt-public-body[data-public-theme="als-xpress-light"] .public-final-cta .public-kicker {
    color:#fff
}
.gt-public-body[data-public-theme="als-xpress-light"] .public-footer {
    background:#FFF7F2;
    color:#334155;
    border-top:1px solid #FFE2D8
}
.gt-public-body[data-public-theme="als-xpress-light"] .public-footer .public-footer-brand,
.gt-public-body[data-public-theme="als-xpress-light"] .public-footer h2 {
    color:#0F2747!important
}
.gt-public-body[data-public-theme="als-xpress-light"] .public-footer p,
.gt-public-body[data-public-theme="als-xpress-light"] .public-footer-status,
.gt-public-body[data-public-theme="als-xpress-light"] .public-footer-bottom {
    color:#64748B
}
.gt-public-body[data-public-theme="als-xpress-light"] .public-footer .col-6>a:not(.btn),
.gt-public-body[data-public-theme="als-xpress-light"] .public-footer .col-lg-2>a,
.gt-public-body[data-public-theme="als-xpress-light"] .public-footer-bottom a,
.gt-public-body[data-public-theme="als-xpress-light"] .public-footer .public-social-links,
.gt-public-body[data-public-theme="als-xpress-light"] .public-footer .public-social-links a {
    color:#B80020
}
.gt-public-body[data-public-theme="als-xpress-light"] .public-footer-bottom,
.gt-public-body[data-public-theme="als-xpress-light"] .public-footer-status {
    border-color:#FFD6C9
}
.gt-public-body[data-public-theme="als-xpress-light"] .tracking-status-card,
.gt-public-body[data-public-theme="als-xpress-light"] .guest-support-conversation-info,
.gt-public-body[data-public-theme="als-xpress-light"] .contact-detail-card,
.gt-public-body[data-public-theme="als-xpress-light"] .visual-toolbar,
.gt-public-body[data-public-theme="als-xpress-light"] .visual-content aside,
.gt-public-body[data-public-theme="als-xpress-light"] .visual-route-card {
    background:linear-gradient(125deg,#C5410A,#B80020)!important;
    color:#fff
}
.gt-public-body[data-public-theme="als-xpress-light"] .tracking-status-card span,
.gt-public-body[data-public-theme="als-xpress-light"] .guest-support-conversation-info p,
.gt-public-body[data-public-theme="als-xpress-light"] .guest-support-conversation-info dt {
    color:#FFF7F2
}
.gt-public-body[data-public-theme="als-xpress-light"] .tracking-hero-visual,
.gt-public-body[data-public-theme="als-xpress-light"] .tracking-hero-card {
    background:#FFE9E5;
    color:#0F2747
}
.gt-public-body[data-public-theme="als-xpress-light"] .tracking-hero-card strong {
    color:#B80020
}
.gt-public-body[data-public-theme="als-xpress-light"] .blog-card-placeholder {
    background:linear-gradient(130deg,#C5410A,#B80020)
}
.gt-public-body[data-public-theme="als-xpress-light"] .blog-card-placeholder span {
    color:#fff
}
.gt-public-body[data-public-theme="als-xpress-light"] .public-home-ticker {
    background:#FFF7F2;
    border-block-color:#FFE2D8;
    color:#0F2747
}
.gt-public-body[data-public-theme="als-xpress-light"] .public-home-ticker-label {
    background:#FFE9E5;
    color:#B80020;
    box-shadow:none
}
.gt-public-body[data-public-theme="als-xpress-light"] .public-home-ticker-item i,
.gt-public-body[data-public-theme="als-xpress-light"] .public-home-ticker-pulse {
    background:#C5410A
}
.gt-public-body[data-public-theme="als-xpress-light"] .branch-card-image {
    background:linear-gradient(120deg,#FFF7F2,#FFE9E5);
    color:#0F2747
}
.gt-public-body[data-public-theme="als-xpress-light"] .branch-card-image .brand-mark {
    background:#C5410A;
    color:#fff
}
.gt-public-body[data-public-theme="als-xpress-light"] .login-brand-panel,
.gt-public-body[data-public-theme="als-xpress-light"] .setup-intro {
    background:radial-gradient(circle at 85% 12%,rgba(255,90,0,.14),transparent 16rem),linear-gradient(135deg,#FFF7F2,#FFE9E5);
    color:#0F2747
}
.gt-public-body[data-public-theme="als-xpress-light"] .login-brand-kicker,
.gt-public-body[data-public-theme="als-xpress-light"] .setup-intro>span {
    color:#B80020
}
.gt-public-body[data-public-theme="als-xpress-light"] .login-brand-panel p,
.gt-public-body[data-public-theme="als-xpress-light"] .login-feature-list span,
.gt-public-body[data-public-theme="als-xpress-light"] .login-brand-route,
.gt-public-body[data-public-theme="als-xpress-light"] .setup-intro p,
.gt-public-body[data-public-theme="als-xpress-light"] .setup-intro li {
    color:#334155
}
.gt-public-body[data-public-theme="als-xpress-light"] .login-feature-list i {
    background:#FFD6C9;
    color:#B80020
}
.gt-public-body[data-public-theme="als-xpress-light"] .login-brand-route i {
    border-top-color:#B80020
}
.gt-public-body[data-public-theme="als-xpress-light"] .public-content-hero.has-image {
    color:#0F2747
}
.gt-public-body[data-public-theme="als-xpress-light"] .public-content-hero.has-image p {
    color:#334155
}
.gt-public-body[data-public-theme="als-xpress-light"] .tracking-privacy-note,
.gt-public-body[data-public-theme="als-xpress-light"] .tracking-hero-card small,
.gt-public-body[data-public-theme="als-xpress-light"] .tracking-hero-card span {
    color:#334155
}
.gt-public-body[data-public-theme="als-xpress-light"] .tracking-privacy-note>span {
    background:#FFE9E5;
    color:#B80020
}
.gt-public-body[data-public-theme="als-xpress-light"] .guest-support-connection {
    border-color:#FFD6C9;
    background:#fff;
    color:#334155
}
.gt-public-body[data-public-theme="als-xpress-light"] .blog-search {
    border-color:#FFD6C9;
    background:rgba(255,255,255,.92)
}
@media(max-width:991px) {
    .gt-public-body[data-public-theme="als-xpress-light"] .public-hero-stats>div:nth-child(3),.gt-public-body[data-public-theme="als-xpress-light"] .public-hero-stats>div:nth-child(4) {
        border-top-color:#FFE2D8
    }
}
/* Keep palette-colored admin labels readable against dark AdminLTE surfaces. */
html[data-bs-theme="dark"] .gt-admin-body {
    --admin-readable:color-mix(in srgb,var(--admin-primary) 38%,#fff);
    --site-link:var(--admin-readable);
    --bs-link-color:var(--admin-readable);
    --bs-link-hover-color:#fff;
}
html[data-bs-theme="dark"] .gt-admin-body .app-header {
    background:var(--bs-body-bg)!important
}
html[data-bs-theme="dark"] .gt-admin-body .eyebrow.text-dark,
html[data-bs-theme="dark"] .gt-admin-body .route-table-pill i,
html[data-bs-theme="dark"] .gt-admin-body .gt-action-icon,
html[data-bs-theme="dark"] .gt-admin-body .config-icon,
html[data-bs-theme="dark"] .gt-admin-body .config-tile b,
html[data-bs-theme="dark"] .gt-admin-body .input-group-text,
html[data-bs-theme="dark"] .gt-admin-body .badge-status,
html[data-bs-theme="dark"] .gt-admin-body .support-queue-count,
html[data-bs-theme="dark"] .gt-admin-body .support-status-active,
html[data-bs-theme="dark"] .gt-admin-body .support-conversation-row b,
html[data-bs-theme="dark"] .gt-admin-body .support-new-card summary span,
html[data-bs-theme="dark"] .gt-admin-body .support-empty-chat>span,
html[data-bs-theme="dark"] .gt-admin-body .navigation-builder-tabs button.active,
html[data-bs-theme="dark"] .gt-admin-body .accordion-button:not(.collapsed),
html[data-bs-theme="dark"] .gt-admin-body .nav-tabs .nav-link.active,
html[data-bs-theme="dark"] .gt-admin-body .nav-tabs .nav-link:hover,
html[data-bs-theme="dark"] .gt-admin-body .nav-pills .nav-link:not(.active),
html[data-bs-theme="dark"] .gt-admin-body .page-link:not(.active),
html[data-bs-theme="dark"] .gt-admin-body .page-link:hover,
html[data-bs-theme="dark"] .gt-admin-body .dropdown-item:hover,
html[data-bs-theme="dark"] .gt-admin-body .dropdown-item:focus,
html[data-bs-theme="dark"] .gt-admin-body .media-dropzone-icon,
html[data-bs-theme="dark"] .gt-admin-body .cms-rich-toolbar button.active,
html[data-bs-theme="dark"] .gt-admin-body .cms-rich-toolbar button:hover,
html[data-bs-theme="dark"] .gt-admin-body .cms-rich-toolbar button:focus-visible,
html[data-bs-theme="dark"] .gt-admin-body .cms-rich-format:focus,
html[data-bs-theme="dark"] .gt-admin-body .packing-workbench-tabs a:hover,
html[data-bs-theme="dark"] .gt-admin-body .packing-route-summary>.ui-icon,
html[data-bs-theme="dark"] .gt-admin-body .import-file-icon,
html[data-bs-theme="dark"] .gt-admin-body .financial-currency-heading span {
    color:var(--admin-readable)!important
}
/* Audit log details remain legible in every admin palette and color mode. */
.gt-admin-body .audit-log-metadata dt {
    color:var(--bs-secondary-color);
    font-weight:700
}
.gt-admin-body .audit-log-metadata dd {
    overflow-wrap:anywhere
}
.gt-admin-body .audit-log-values {
    max-height:35rem;
    overflow:auto;
    padding:1rem;
    border:1px solid var(--bs-border-color);
    border-radius:.65rem;
    background:var(--bs-tertiary-bg);
    color:var(--bs-body-color);
    font-size:.8rem;
    white-space:pre-wrap;
    overflow-wrap:anywhere
}
/* Contact details sit on a saturated card; site-wide link colors are not legible there. */
.gt-public-body .contact-detail-card dd a:not(.btn),
.gt-public-body .contact-detail-card .contact-map-link:not(.btn) {
    color:#fff!important;
    text-decoration:underline;
    text-decoration-color:rgba(255,255,255,.75);
    text-underline-offset:.2em;
    font-weight:700
}
.gt-public-body .contact-detail-card dd a:hover,
.gt-public-body .contact-detail-card .contact-map-link:hover {
    text-decoration-color:#fff
}
.gt-public-body[data-public-theme="als-xpress-light"] .contact-detail-card .public-kicker,
.gt-public-body[data-public-theme="als-xpress-light"] .contact-detail-card dt {
    color:#FFF7F2
}
.gt-public-body[data-public-theme="als-xpress-light"] .contact-detail-card>p,
.gt-public-body[data-public-theme="als-xpress-light"] .contact-detail-card dd {
    color:#fff
}
.gt-public-body[data-public-theme="als-xpress-light"] .contact-detail-card .public-btn-primary,
.gt-public-body[data-public-theme="als-xpress-light"] .contact-detail-card .public-btn-ghost {
    background:#fff!important;
    border-color:#fff!important;
    color:#B80020!important
}
/* Public branch finder */
.branches-hero .container-xl {
    position:relative
}
.branches-hero-count {
    display:inline-flex;
    align-items:center;
    gap:.7rem;
    margin-top:1.35rem;
    padding:.55rem .9rem;
    border:1px solid rgba(255,255,255,.3);
    border-radius:999px;
    background:rgba(255,255,255,.1);
    color:#fff
}
.branches-hero-count strong {
    font-size:1.2rem;
    line-height:1
}
.branches-hero-count span {
    font-size:.72rem;
    font-weight:700
}
.branches-page {
    padding-top:4.5rem
}
.branches-page .public-section-heading {
    max-width:800px
}
.branches-split {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:1.25rem;
    align-items:stretch
}
.branches-list-panel,.branches-map-panel {
    min-width:0;
    height:570px;
    border:1px solid #E1E8ED;
    border-radius:22px;
    background:#fff;
    box-shadow:0 18px 42px rgba(15,39,71,.07)
}
.branches-list-panel {
    display:flex;
    flex-direction:column;
    padding:1.4rem
}
.branches-list-heading {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:1rem;
    margin-bottom:1rem
}
.branches-eyebrow {
    color:var(--site-primary,#087f77);
    font-size:.66rem;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase
}
.branches-list-heading h3,.branches-map-heading h3 {
    margin:.28rem 0 0;
    color:#0F2747;
    font-size:1.35rem;
    font-weight:800;
    letter-spacing:-.025em
}
.branches-count {
    display:grid;
    place-items:center;
    min-width:34px;
    height:34px;
    padding:0 .55rem;
    border-radius:10px;
    background:color-mix(in srgb,var(--site-primary) 10%,#fff);
    color:var(--site-primary);
    font-size:.78rem;
    font-weight:800
}
.branches-search-label {
    margin-bottom:.4rem;
    color:#516779;
    font-size:.71rem;
    font-weight:700
}
.branches-search-wrap {
    display:flex;
    align-items:center;
    gap:.65rem;
    min-height:44px;
    padding:0 .8rem;
    border:1px solid #D5E0E7;
    border-radius:11px;
    background:#fff
}
.branches-search-wrap:focus-within {
    border-color:var(--site-primary);
    box-shadow:0 0 0 3px color-mix(in srgb,var(--site-primary) 12%,transparent)
}
.branches-search-wrap svg {
    width:17px;
    height:17px;
    fill:none;
    stroke:var(--site-primary);
    stroke-width:2;
    stroke-linecap:round
}
.branches-search-wrap input {
    width:100%;
    border:0;
    outline:0;
    background:transparent;
    color:#0F2747;
    font-size:.82rem
}
.branches-search-wrap input::placeholder {
    color:#7C8E9B
}
.branches-list {
    display:grid;
    align-content:start;
    gap:.65rem;
    flex:1;
    min-height:0;
    max-height:none;
    margin-top:1rem;
    padding:.1rem .35rem .1rem 0;
    overflow-y:auto
}
.branch-location-card {
    gap:.85rem;
    min-height:104px;
    padding:1rem;
    border-color:#E1E8ED;
    border-radius:15px;
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease
}
.branch-location-card:hover {
    transform:translateY(-2px)
}
.branch-location-card.is-selected {
    border-color:var(--site-primary);
    background:color-mix(in srgb,var(--site-primary) 5%,#fff);
    box-shadow:inset 4px 0 var(--site-primary),0 8px 24px rgba(15,39,71,.08)
}
.branch-location-card:focus-visible {
    outline:3px solid color-mix(in srgb,var(--site-primary) 35%,transparent);
    outline-offset:2px
}
.branch-location-card[hidden],.branches-no-results[hidden],.branches-selected-contact a[hidden] {
    display:none!important
}
.branch-location-mark {
    flex:0 0 42px;
    width:42px;
    height:42px;
    border-radius:12px;
    background:color-mix(in srgb,var(--site-primary) 10%,#fff);
    color:var(--site-primary)
}
.branch-location-mark svg {
    width:22px;
    height:22px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8
}
.branch-location-copy {
    flex:1;
    gap:.2rem
}
.branch-location-topline {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.5rem
}
.branch-location-copy .branch-location-topline strong {
    font-size:.9rem;
    color:#0F2747
}
.branch-location-topline small {
    flex:0 0 auto;
    padding:.2rem .4rem;
    border-radius:6px;
    background:#F1F5F8;
    color:#536B7D;
    font-size:.59rem;
    font-weight:800
}
.branch-location-copy .branch-location-city {
    color:var(--site-primary);
    font-size:.72rem;
    font-weight:750
}
.branch-location-copy .branch-location-address {
    color:#64748B;
    font-size:.68rem;
    line-height:1.45
}
.branch-location-arrow {
    align-self:center;
    color:var(--site-primary);
    font-size:1.15rem;
    font-weight:800
}
.branches-no-results {
    margin:1rem 0 0;
    padding:1rem;
    border-radius:10px;
    background:#F6F8FA;
    color:#64748B;
    font-size:.76rem
}
.branches-map-panel {
    padding:1.4rem
}
.branches-map-heading {
    margin-bottom:1rem
}
.branches-map-code {
    display:block;
    margin-top:.2rem;
    color:#64748B;
    font-size:.69rem;
    font-weight:750
}
.branches-active-badge {
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    padding:.36rem .6rem;
    border-radius:999px;
    background:#E9F8EF;
    color:#186A3B;
    font-size:.64rem;
    font-weight:800;
    white-space:nowrap
}
.branches-active-badge i {
    width:7px;
    height:7px;
    border-radius:50%;
    background:#24A35A
}
.branches-map-frame {
    flex:1;
    min-height:250px;
    height:auto;
    border:1px solid #E1E8ED;
    border-radius:14px
}
.branches-selected-details {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:1rem;
    margin-top:1rem
}
.branches-selected-address {
    display:flex;
    align-items:flex-start;
    gap:.7rem;
    min-width:0
}
.branches-selected-address>span {
    display:grid;
    place-items:center;
    flex:0 0 34px;
    width:34px;
    height:34px;
    border-radius:9px;
    background:color-mix(in srgb,var(--site-primary) 10%,#fff);
    color:var(--site-primary);
    font-size:1.15rem;
    font-weight:800
}
.branches-selected-address strong {
    color:#0F2747;
    font-size:.71rem
}
.branches-selected-address p {
    margin:.2rem 0 0;
    color:#64748B;
    font-size:.7rem;
    line-height:1.45
}
.branches-selected-contact {
    display:flex;
    flex:0 0 auto;
    flex-wrap:wrap;
    gap:.55rem;
    justify-content:flex-end
}
.gt-public-body .branches-selected-contact a:not(.btn) {
    color:var(--site-link);
    font-size:.67rem;
    font-weight:750;
    text-decoration:underline;
    text-underline-offset:.2em
}
.branches-directions {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.6rem;
    width:100%;
    margin-top:1rem
}
.branches-directions span {
    font-size:1rem
}
.branches-empty {
    margin-top:2rem;
    border:1px solid #E1E8ED;
    border-radius:16px;
    background:#fff
}
.gt-public-body[data-public-theme="als-xpress-light"] .branches-hero-count {
    border-color:#FFD6C9;
    background:#fff;
    color:#0F2747
}
@media(max-width:900px) {
    .branches-split {
        grid-template-columns:1fr
    }
    .branches-list-panel,.branches-map-panel {
        height:auto
    }
    .branches-list {
        max-height:440px
    }
    .branches-map-frame {
        height:300px;
        flex:auto
    }
}
@media(max-width:575px) {
    .branches-page {
        padding-top:3rem
    }
    .branches-list-panel,.branches-map-panel {
        padding:1rem;
        border-radius:17px
    }
    .branch-location-card {
        min-height:94px;
        padding:.8rem
    }
    .branch-location-topline {
        align-items:flex-start;
        flex-direction:column;
        gap:.2rem
    }
    .branches-map-frame {
        height:260px
    }
    .branches-selected-details {
        flex-direction:column
    }
    .branches-selected-contact {
        justify-content:flex-start
    }
}
@media(prefers-reduced-motion:reduce) {
    .branch-location-card {
        transition:none
    }
}
.public-partners-section {
    padding:4.5rem 0;
    background:#f7fafc
}
.public-partners-section .public-section-heading {
    max-width:760px;
    margin-bottom:1.5rem
}
.public-partners-grid {
    display:grid;
    gap:1rem
}
.public-partners-grid-home {
    grid-template-columns:repeat(5,minmax(0,1fr))
}
.public-partners-grid-page {
    grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
    margin:2rem 0
}
.public-partner-card {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:.7rem;
    min-height:115px;
    padding:1.15rem;
    border:1px solid #dce8ee;
    border-radius:16px;
    background:#fff;
    box-shadow:0 8px 25px rgba(14,39,69,.05);
    text-align:center
}
.public-partner-card img {
    display:block;
    width:100%;
    max-width:170px;
    height:70px;
    object-fit:contain
}
.public-partner-card img[src*="ups-official.svg"] {
    height:82px
}
.public-partner-card>strong {
    color:#17364d;
    font-size:1.1rem
}
.public-partner-card h3 {
    margin:0;
    color:#334155;
    font-size:.88rem;
    font-weight:750
}
.public-partners-footer {
    margin-top:1.3rem;
    text-align:center
}
.public-partners-footer a {
    color:var(--site-link,#087f77);
    font-weight:800;
    text-decoration:none
}
.public-partners-footer a:hover {
    text-decoration:underline
}
.public-partners-next {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1.5rem;
    margin-top:2rem;
    padding:1.5rem;
    border:1px solid #dce8ee;
    border-radius:18px;
    background:#f4f8fa
}
.public-partners-next h2 {
    margin:0 0 .4rem;
    color:#17364d;
    font-size:1.3rem
}
.public-partners-next p {
    margin:0;
    color:#60798a
}
.public-partners-next>div:last-child {
    display:flex;
    flex-wrap:wrap;
    gap:.7rem
}
@media(max-width:991.98px) {
    .public-partners-grid-home {
        grid-template-columns:repeat(3,minmax(0,1fr))
    }
}
@media(max-width:575.98px) {
    .public-partners-grid-home {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .public-partners-section {
        padding:3rem 0
    }
    .public-partners-next {
        align-items:stretch;
        flex-direction:column
    }
}
.public-service-addon .service-link-grid strong {
    color:#17364d;
    font-size:1rem
}
.public-service-addon .service-link-grid span {
    color:#60798a;
    font-size:.82rem;
    line-height:1.55
}
@media(max-width:575px) {
    .public-service-addon .service-link-grid {
        grid-template-columns:1fr
    }
}
/* Home photography: local assets, independent of the configurable advertising carousel. */
.public-home-photo-section {
    padding:5rem 0 1rem;
    background:var(--site-background,#fff)
}
.public-home-photo-section .public-section-heading {
    max-width:720px
}
.public-home-photo-section .public-section-heading h2 {
    margin:.7rem 0;
    color:var(--site-heading,#102c49)
}
.public-home-photo-section .public-section-heading p {
    color:var(--site-body,#64748b)
}
.public-home-photo-grid {
    display:grid;
    grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);
    gap:1.25rem;
    margin-top:2rem
}
.public-home-photo-grid.single {
    grid-template-columns:1fr
}
.public-home-photo-card {
    position:relative;
    isolation:isolate;
    min-height:370px;
    margin:0;
    overflow:hidden;
    border-radius:24px;
    background:#dce5eb;
    box-shadow:0 18px 38px rgba(14,39,69,.1)
}
.public-home-photo-card img {
    display:block;
    width:100%;
    height:100%;
    position:absolute;
    inset:0;
    object-fit:cover;
    transition:transform .35s ease
}
.public-home-photo-card-wide img {
    object-position:center 48%
}
.public-home-photo-card:not(.public-home-photo-card-wide) img {
    object-position:center 58%
}
.public-home-photo-card::after {
    content:"";
    position:absolute;
    z-index:0;
    inset:0;
    background:linear-gradient(180deg,transparent 38%,rgba(6,23,40,.78) 100%)
}
.public-home-photo-card figcaption {
    position:absolute;
    z-index:1;
    right:1.7rem;
    bottom:1.5rem;
    left:1.7rem;
    color:#fff
}
.public-home-photo-card figcaption span,.public-home-photo-card figcaption strong {
    display:block
}
.public-home-photo-card figcaption span {
    margin-bottom:.45rem;
    color:#fff;
    font-size:.7rem;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase
}
.public-home-photo-card figcaption strong {
    max-width:25rem;
    font-size:clamp(1.25rem,2vw,1.9rem);
    line-height:1.15
}
.public-home-guide-visual img {
    height:430px;
    aspect-ratio:auto;
    object-position:center 52%
}
@media(max-width:767.98px) {
    .public-home-photo-section {
        padding:3.5rem 0 0
    }
    .public-home-photo-grid {
        grid-template-columns:1fr;
        gap:1rem
    }
    .public-home-photo-card {
        min-height:270px
    }
    .public-home-photo-card:not(.public-home-photo-card-wide) {
        min-height:320px
    }
    .public-home-guide-visual img {
        height:300px
    }
}
@media(prefers-reduced-motion:no-preference) {
    .public-home-photo-card:hover img {
        transform:scale(1.035)
    }
}
.public-service-photo-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1rem;
    margin:0 0 2rem
}
.public-service-photo-grid.single {
    grid-template-columns:1fr
}
.public-service-photo-grid figure {
    position:relative;
    min-height:260px;
    margin:0;
    overflow:hidden;
    border-radius:18px;
    background:#e6edf1
}
.public-service-photo-grid.single figure {
    min-height:340px
}
.public-service-photo-grid img {
    display:block;
    width:100%;
    height:100%;
    position:absolute;
    inset:0;
    object-fit:cover
}
.public-service-photo-grid figcaption {
    position:absolute;
    right:0;
    bottom:0;
    left:0;
    padding:2rem 1.2rem .9rem;
    background:linear-gradient(transparent,rgba(8,25,43,.78));
    color:#fff;
    font-size:.8rem;
    font-weight:750
}
@media(max-width:575.98px) {
    .public-service-photo-grid {
        grid-template-columns:1fr
    }
    .public-service-photo-grid figure,.public-service-photo-grid.single figure {
        min-height:240px
    }
}
/* Compact, CMS-managed mid-page image showcase. */
.public-home-showcase {
    padding:4.5rem 0;
    background:var(--site-background,#f6f8fb)
}
.public-home-showcase-heading {
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:1.5rem;
    margin-bottom:1.6rem
}
.public-home-showcase-heading h2 {
    margin:.55rem 0 .3rem;
    color:var(--site-heading,#102c49);
    font-size:clamp(1.8rem,3vw,2.55rem)
}
.public-home-showcase-heading p {
    margin:0;
    color:var(--site-body,#64748b)
}
.public-home-showcase-controls {
    display:flex;
    gap:.55rem;
    flex:none
}
.public-home-showcase-controls button {
    display:grid;
    place-items:center;
    width:2.6rem;
    height:2.6rem;
    border:1px solid color-mix(in srgb,var(--site-primary,#087f77) 35%,#fff);
    border-radius:50%;
    background:#fff;
    color:var(--site-primary,#087f77);
    font-size:1.6rem;
    line-height:1
}
.public-home-showcase-controls button:hover,.public-home-showcase-controls button:focus-visible {
    background:var(--site-button,#087f77);
    color:#fff
}
.public-home-showcase-track {
    display:flex;
    gap:1rem;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x mandatory;
    scrollbar-width:thin;
    padding:.15rem .15rem .8rem
}
.public-home-showcase-card {
    position:relative;
    flex:0 0 calc((100% - 2rem)/3.12);
    height:260px;
    overflow:hidden;
    border-radius:18px;
    background:#dce6ea;
    scroll-snap-align:start;
    box-shadow:0 8px 24px rgba(14,39,69,.12)
}
.public-home-showcase-card img {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover
}
.public-home-showcase-card::after {
    content:"";
    position:absolute;
    inset:35% 0 0;
    background:linear-gradient(transparent,rgba(6,22,37,.88));
    pointer-events:none
}
.public-home-showcase-caption {
    position:absolute;
    z-index:1;
    right:1rem;
    bottom:1rem;
    left:1rem;
    color:#fff
}
.public-home-showcase-caption h3 {
    margin:0 0 .7rem;
    color:#fff;
    font-size:1.06rem;
    line-height:1.25
}
.public-home-showcase-caption a {
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    padding:.45rem .72rem;
    border-radius:8px;
    background:var(--site-button,#087f77);
    color:#fff;
    font-size:.72rem;
    font-weight:750;
    text-decoration:none
}
.public-home-showcase-caption a:hover {
    filter:brightness(.93);
    color:#fff
}
@media(max-width:991.98px) {
    .public-home-showcase-card {
        flex-basis:calc((100% - 1rem)/2.15)
    }
}
@media(max-width:575.98px) {
    .public-home-showcase {
        padding:3rem 0
    }
    .public-home-showcase-heading {
        align-items:end
    }
    .public-home-showcase-heading p {
        font-size:.85rem
    }
    .public-home-showcase-card {
        flex-basis:82%;
        height:240px
    }
    .public-home-showcase-controls button {
        width:2.25rem;
        height:2.25rem
    }
}
