/* ==========================================================================
   InfoX Customs — Global logistics theme (cool palette + iconic buttons)
   Load on: Main.Master, CBP/MPCI masters, Login, SignIn, ICS2 pages
   ========================================================================== */

.app-master-layout,
.login-page {
    --logx-navy: #0b1220;
    --logx-navy-soft: #111c2e;
    --logx-navy-mid: #1a2942;
    --logx-primary: #06b6d4;
    --logx-primary-dark: #0891b2;
    --logx-primary-deep: #0e7490;
    --logx-indigo: #6366f1;
    --logx-indigo-dark: #4f46e5;
    --logx-cta: #f43f5e;
    --logx-cta-dark: #e11d48;
    --logx-success: #10b981;
    --logx-success-dark: #059669;
    --logx-warning: #f59e0b;
    --logx-surface: #ffffff;
    --logx-surface-soft: #f8fafc;
    --logx-bg: #eef6fb;
    --logx-border: #c8dce8;
    --logx-border-light: #e2eef6;
    --logx-text: #0f172a;
    --logx-text-muted: #5b6b7c;
    --logx-radius: 12px;
    --logx-radius-sm: 8px;
    --logx-shadow: 0 2px 10px rgba(11, 18, 32, 0.07);
    --logx-shadow-lg: 0 12px 32px rgba(11, 18, 32, 0.12);
    --logx-glow: 0 0 0 1px rgba(6, 182, 212, 0.15), 0 8px 24px rgba(6, 182, 212, 0.18);
}

.app-master-layout .right_bar.ics2-list-page,
.app-master-layout .right_bar.ics2-form-page {
    position: relative;
    background-color: var(--logx-bg);
    background-image:
        linear-gradient(rgba(6, 182, 212, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(6, 182, 212, 0.04) 1px, transparent 1px),
        radial-gradient(ellipse 80% 50% at 100% 0%, rgba(99, 102, 241, 0.08) 0%, transparent 55%),
        radial-gradient(ellipse 60% 40% at 0% 100%, rgba(6, 182, 212, 0.1) 0%, transparent 50%);
    background-size: 28px 28px, 28px 28px, auto, auto;
    min-height: calc(100vh - 58px);
    padding-bottom: 2rem;
}

.app-master-layout .right_bar.ics2-list-page::before,
.app-master-layout .right_bar.ics2-form-page::before {
    content: "";
    position: absolute;
    top: 0;
    right: 24px;
    width: 120px;
    height: 120px;
    border: 2px dashed rgba(6, 182, 212, 0.12);
    border-radius: 50%;
    pointer-events: none;
    opacity: 0.6;
}

.logx-page-title,
.app-master-layout .page_title.logx-page-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--logx-text);
    margin: 0 0 4px;
}

.logx-page-title > i,
.app-master-layout .page_title.logx-page-title > i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: linear-gradient(135deg, var(--logx-primary) 0%, var(--logx-indigo) 100%);
    color: #fff;
    font-size: 18px;
    box-shadow: var(--logx-glow);
    flex-shrink: 0;
}

.logx-btn,
.app-master-layout input[type="submit"].logx-btn,
.app-master-layout input[type="button"].logx-btn,
.app-master-layout a.logx-btn,
.login-page input[type="submit"].logx-btn,
.login-page a.logx-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: none !important;
    border-radius: var(--logx-radius-sm) !important;
    padding: 9px 16px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    font-family: 'Segoe UI', system-ui, sans-serif !important;
    color: #fff !important;
    cursor: pointer;
    text-decoration: none !important;
    transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
    box-shadow: 0 2px 8px rgba(11, 18, 32, 0.12);
    line-height: 1.2 !important;
    min-height: 38px;
    vertical-align: middle;
}

.logx-btn > i.bi,
.logx-btn > .bi {
    font-size: 15px;
    line-height: 1;
    flex-shrink: 0;
    pointer-events: none;
}

.logx-btn > span {
    line-height: 1.2;
}

.logx-btn:hover,
.app-master-layout input[type="submit"].logx-btn:hover,
.app-master-layout a.logx-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(11, 18, 32, 0.18);
    color: #fff !important;
    text-decoration: none !important;
}

.logx-btn.aspNetDisabled,
.logx-btn[disabled],
a.logx-btn.aspNetDisabled {
    opacity: 0.55;
    cursor: not-allowed;
    transform: none !important;
    pointer-events: none;
}

.logx-btn--default,
.app-master-layout .darkadbtn.logx-btn {
    background: linear-gradient(135deg, var(--logx-navy-mid) 0%, var(--logx-navy-soft) 100%) !important;
}

.logx-btn--primary,
.app-master-layout .logx-btn--search {
    background: linear-gradient(135deg, var(--logx-primary-dark) 0%, var(--logx-primary) 100%) !important;
}

.logx-btn--cta,
.app-master-layout .redadbtn.logx-btn {
    background: linear-gradient(135deg, var(--logx-cta-dark) 0%, var(--logx-cta) 100%) !important;
}

.logx-btn--success {
    background: linear-gradient(135deg, var(--logx-success-dark) 0%, var(--logx-success) 100%) !important;
}

.logx-btn--indigo {
    background: linear-gradient(135deg, var(--logx-indigo-dark) 0%, var(--logx-indigo) 100%) !important;
}

.logx-btn[class*="logx-btn--icon-"]::before,
.app-master-layout input.logx-btn[class*="logx-btn--icon-"]::before {
    font-family: "bootstrap-icons";
    font-size: 15px;
    font-weight: normal;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
}

.logx-btn--icon-search::before { content: "\f52a"; }
.logx-btn--icon-add::before { content: "\f64d"; }
.logx-btn--icon-save::before { content: "\f7d8"; }
.logx-btn--icon-copy::before { content: "\f759"; }
.logx-btn--icon-send::before { content: "\f6c0"; }
.logx-btn--icon-print::before { content: "\f501"; }
.logx-btn--icon-events::before { content: "\f1c5"; }
.logx-btn--icon-signin::before { content: "\f1c8"; }
.logx-btn--icon-register::before { content: "\f4dd"; }
.logx-btn--icon-cargowise::before { content: "\f1c3"; }

.ics2-toolbar-btn-wrap:has(.logx-btn[class*="logx-btn--icon-"]) > i.bi { display: none; }

.logx-card-accent {
    border-top: 3px solid transparent;
    border-image: linear-gradient(90deg, var(--logx-primary), var(--logx-indigo)) 1;
}

.logx-btn--compact {
    padding: 7px 12px !important;
    font-size: 12px !important;
    min-height: 34px;
    white-space: nowrap;
}

.logx-btn--compact > i.bi {
    font-size: 14px;
}

.ics2-form-page .ics2-mrn-sync-wrap {
    display: flex;
    align-items: flex-end;
    min-height: 38px;
    padding-top: 22px;
}

.ics2-form-page .ics2-goods-toolbar {
    margin-bottom: 14px;
    padding-bottom: 12px;
    border-bottom: 1px dashed var(--form-border-light, #e2eef6);
}

.ics2-form-page .ics2-goods-toolbar .goodsItems {
    width: 100%;
    margin-bottom: 0;
}

.ics2-form-page .ics2-inline-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
    align-items: center;
    min-height: 38px;
}

@media (max-width: 991px) {
    .ics2-form-page .ics2-inline-actions {
        justify-content: flex-start;
        margin-top: 10px;
    }

    .ics2-form-page .ics2-mrn-sync-wrap {
        padding-top: 0;
        margin-top: 6px;
    }
}

.login-page .login-submit.logx-btn--icon-signin::before { margin-right: 4px; }
