/* ===============================
   TABS CONTAINER
================================ */
.snc-tabs {
    margin-bottom: 20px;
}

/* ===============================
   TAB BUTTONS WRAPPER
================================ */
.snc-tab-buttons {
    display: flex;
    gap: 8px;
    margin-bottom: 20px;
    border-bottom: 1px solid #e5e7eb;
    padding-bottom: 10px;
}

/* ===============================
   TAB BUTTON
================================ */
.snc-tab-btn {
    background: #0b5ed7;
    color: #fff;
    border: none;
    padding: 10px 18px;
    font-size: 14px;
    font-weight: 500;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
}

/* Hover */
.snc-tab-btn:hover {
    background: #084298;
}

/* Active Tab (selected) */
.snc-tab-btn.active {
    background: #084298;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}

/* ===============================
   TAB CONTENT
================================ */
.snc-tab-content {
    display: block;
}



/* ===============================
   MOBILE RESPONSIVE
================================ */
@media (max-width: 768px) {
    .snc-tab-buttons {
        flex-wrap: wrap;
    }

    .snc-tab-btn {
        width: 100%;
        text-align: center;
    }
}

.snc-bookings-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.snc-bookings-table th,
.snc-bookings-table td {
    border: 1px solid #d1d5db;
    padding: 8px;
    text-align: center;
    white-space: nowrap;
}

.snc-bookings-table thead th {
    background: #f3f4f6;
    font-weight: 600;
}

/* =========================================
   SHIPPERS TABS — EXACT BOOKINGS SIZE
========================================= */

.snc-tabs button.snc-tab {
    background-color: #0d6efd !important;
    color: #ffffff !important;

    /* 👇 SIZE MATCH BOOKINGS */
    padding: 9px 20px !important;
    font-size: 14px !important;
    font-weight: 500 !important;

    border-radius: 8px !important;
    border: none !important;
    line-height: 1.2 !important;
    min-height: 36px !important;

    box-shadow: none !important;
    cursor: pointer !important;
}

/* Hover */
.snc-tabs button.snc-tab:hover {
    background-color: #0b5ed7 !important;
}

/* Active */
.snc-tabs button.snc-tab.active {
    background-color: #0a58ca !important;
}

/* Spacing */
.snc-tabs {
    margin-bottom: 22px !important;
    gap: 10px !important;
}

/* =====================================
   FORCE SHIPPERS TABLE HEADING BLACK
===================================== */

table.snc-shippers-table thead th {
    color: #000000 !important;
    font-weight: 600 !important;
}


/* ===============================
   LEDGER UI FIXES
================================ */

/* Summary cards layout */
.snc-ledger-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin: 25px 0;
}

.snc-ledger-card {
    background: #ffffff;
    padding: 18px;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    text-align: center;
}

.snc-ledger-card-title {
    font-size: 14px;
    color: #666;
    margin-bottom: 8px;
}

.snc-ledger-card-value {
    font-size: 24px;
    font-weight: 600;
    color: #0d6efd;
}

/* Ledger remarks column */
.snc-ledger-table th:last-child,
.snc-ledger-table td:last-child {
    min-width: 220px;
    white-space: normal;
}


/* Ledger status buttons */
.ledger-status {
    padding: 6px 12px;
    border-radius: 20px;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    display: inline-block;
}

.status-unpaid {
    background: #dc3545; /* red */
}

.status-partial {
    background: #ffc107;
    color: #000;
}

.status-paid {
    background: #28a745;
}




/* Ledger payment input + button */
.ledger-payment-form {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}

.ledger-amount-input {
    width: 90px;
    text-align: center;
}

.ledger-save-btn {
    padding: 5px 12px;
    font-size: 12px;
    border-radius: 6px;
}





/* =====================================
   BOOKINGS FILTER – FINAL HEIGHT FIX
===================================== */

.snc-section.booking-filter {
    padding-bottom: 0 !important;
}

.snc-section.booking-filter .snc-section-body {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
}

.snc-section.booking-filter .snc-row:last-child {
    margin-top: 8px !important;
    margin-bottom: 0 !important;
}

.snc-section.booking-filter .snc-save-btn {
    height: 44px !important;
}



/* =====================================
   LEDGER FILTER – FINAL HEIGHT FIX
===================================== */

.snc-ledger-filter {
    padding: 0 !important;
}

/* header theek height */
.snc-ledger-filter .snc-section-header {
    padding: 12px 20px !important;
}

/* body height control */
.snc-ledger-filter .snc-section-body {
    padding: 12px 20px !important;
}

/* row ko compact karo */
.snc-ledger-filter .snc-row {
    margin-bottom: 0 !important;
    align-items: center;
}

/* form ke extra space hatao */
.snc-ledger-filter form {
    margin-bottom: 0 !important;
}

/* inputs & button equal height */
.snc-ledger-filter input,
.snc-ledger-filter button {
    height: 44px !important;
    line-height: 44px !important;
    margin: 0 !important;
}

/* bottom ki extra white space kill */
.snc-ledger-filter {
    padding-bottom: 10px !important;
}

/* ===============================
   DOCUMENTS TAB FINAL UI POLISH
=============================== */

.snc-documents-card {
    padding: 30px 35px;              /* section height & left spacing */
    min-height: 260px;
}

.snc-documents-info {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    margin-bottom: 30px;
    padding-left: 5px;
}

.snc-documents-info div {
    font-size: 15px;
    line-height: 1.6;
    color: #000;                     /* text black */
}

.snc-documents-info strong {
    color: #000;                     /* headings black */
    font-weight: 600;
    margin-right: 6px;
}

/* BUTTONS ROW */
.snc-documents-actions {
    display: flex;
    gap: 18px;
    margin-top: 20px;
    margin-bottom: 10px;
}

.snc-documents-actions .snc-save-btn {
    padding: 11px 22px;
    font-size: 14px;
    border-radius: 6px;
}

/* Extra bottom breathing space */
.snc-documents-card::after {
    content: "";
    display: block;
    height: 10px;
}



/* ===============================
   DOCUMENTS TAB FINAL UI POLISH
=============================== */

.snc-documents-card {
    padding: 30px 35px;              /* section height & left spacing */
    min-height: 260px;
}

.snc-documents-info {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    margin-bottom: 30px;
    padding-left: 5px;
}

.snc-documents-info div {
    font-size: 15px;
    line-height: 1.6;
    color: #000;                     /* text black */
}

.snc-documents-info strong {
    color: #000;                     /* headings black */
    font-weight: 600;
    margin-right: 6px;
}

/* BUTTONS ROW */
.snc-documents-actions {
    display: flex;
    gap: 18px;
    margin-top: 20px;
    margin-bottom: 10px;
}

.snc-documents-actions .snc-save-btn {
    padding: 11px 22px;
    font-size: 14px;
    border-radius: 6px;
}

/* Extra bottom breathing space */
.snc-documents-card::after {
    content: "";
    display: block;
    height: 10px;
}


/* ===============================
   DOCUMENTS TAB STYLING
=============================== */

.snc-documents-box {
    padding: 25px 30px;
    min-height: 220px;
}

.snc-documents-box p {
    margin: 0 0 14px 0;
    font-size: 15px;
    color: #333;
}

.snc-documents-box p strong {
    color: #000;
    font-weight: 600;
    display: inline-block;
    min-width: 90px;
}

/* Buttons row */
.snc-documents-actions {
    margin-top: 30px;
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}

/* Buttons spacing consistency */
.snc-documents-actions .snc-save-btn {
    padding: 10px 18px;
    font-size: 14px;
}


.snc-section-header {
    padding: 14px 20px;
    font-size: 15px;
}


/* ===============================
   DOCUMENTS TAB FIX (FULL WIDTH HEADER + ALIGNMENT)
=============================== */

#documents .snc-section {
    padding: 0 !important;
}

#documents .snc-section-header {
    width: 100% !important;
    display: block !important;
    margin: 0 !important;
    border-radius: 12px 12px 0 0;
    padding: 16px 22px !important;
}

/* body padding proper */
#documents .snc-section-body {
    padding: 25px 30px !important;
}

/* text spacing */
#documents .snc-documents-box p {
    margin: 0 0 16px 0 !important;
    font-size: 15px;
}

/* label black + fixed width */
#documents .snc-documents-box p strong {
    color: #000 !important;
    font-weight: 700 !important;
    display: inline-block;
    min-width: 110px;
}

/* buttons row */
#documents .snc-documents-actions {
    margin-top: 28px !important;
    display: flex !important;
    gap: 15px !important;
    justify-content: flex-start !important;
}

#documents .snc-section {
    padding: 0 !important;
}


/* ===== Documents Tab Layout Fix ===== */
.snc-documents-wrap .snc-section-header{
    width: 100% !important;
    display: block !important;
    margin: 0 !important;
    padding: 16px 22px !important;
    border-radius: 12px 12px 0 0 !important;
}

.snc-documents-body{
    padding: 25px 30px !important;
}

.snc-documents-box p{
    margin: 0 0 16px 0 !important;
    font-size: 15px;
}

.snc-documents-box p strong{
    color: #000 !important;
    font-weight: 700 !important;
    display: inline-block;
    min-width: 110px;
}

.snc-documents-actions{
    margin-top: 25px !important;
    display: flex !important;
    gap: 15px !important;
    justify-content: flex-start !important;
    flex-wrap: wrap;
}


/* ===== Documents Tab Final Polish ===== */

.snc-documents-body{
    padding: 18px 26px !important;   /* height kam */
}

/* text size thora bara */
.snc-documents-box p{
    margin: 0 0 12px 0 !important;
    font-size: 17px !important;
    line-height: 1.6 !important;
}

/* label (CN No / Shipper / Consignee) strong black */
.snc-documents-box p strong{
    color: #000 !important;
    font-weight: 700 !important;
    min-width: 130px;   /* spacing better */
    display: inline-block;
}

/* buttons spacing thori compact */
.snc-documents-actions{
    margin-top: 18px !important;
    gap: 12px !important;
}

/* buttons thore compact but clean */
.snc-documents-actions .snc-save-btn{
    padding: 10px 22px !important;
    font-size: 15px !important;
}


/* ===== Documents Tab Compact + Bigger Text ===== */

.snc-documents-body{
    padding: 14px 18px !important;   /* height kam + left gap kam */
}

/* text size aur bara */
.snc-documents-box p{
    margin: 0 0 10px 0 !important;
    font-size: 19px !important;
    line-height: 1.55 !important;
}

/* labels (CN No / Shipper / Consignee) spacing tight */
.snc-documents-box p strong{
    color: #000 !important;
    font-weight: 700 !important;
    min-width: 110px !important;   /* left gap aur kam */
    display: inline-block;
}

/* buttons upar lane + compact spacing */
.snc-documents-actions{
    margin-top: 14px !important;
    gap: 12px !important;
}

/* button size thora better */
.snc-documents-actions .snc-save-btn{
    padding: 10px 20px !important;
    font-size: 15px !important;
}

/* =========================
   DOCUMENTS TAB STYLING FIX
========================= */

#documents .snc-section-body {
    padding: 18px 22px !important;   /* left/right gap kam + clean */
    min-height: auto !important;     /* height extra remove */
}

#documents .snc-section-body p {
    font-size: 18px !important;      /* text bigger */
    margin: 0 0 14px 0 !important;   /* spacing proper */
    line-height: 1.6 !important;
    color: #000 !important;
}

#documents .snc-section-body strong {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #000 !important;
}

/* buttons same line + spacing */
#documents .snc-section-body .snc-doc-buttons {
    display: flex !important;
    gap: 16px !important;
    margin-top: 20px !important;
    flex-wrap: wrap;
}

#documents .snc-section-body .snc-doc-buttons .snc-save-btn {
    padding: 10px 22px !important;
    font-size: 16px !important;
    border-radius: 8px !important;
}


/* ===== DOCUMENTS TAB FIX (COMPACT + BIG TEXT) ===== */

.snc-documents-box .snc-section-body {
    padding: 0 !important;
}

.snc-documents-content{
    padding: 18px 22px !important;
}

.snc-documents-row{
    display: flex;
    gap: 18px;
    align-items: center;
    margin-bottom: 14px;
}

.snc-doc-label{
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #000 !important;
    min-width: 120px;
}

.snc-doc-value{
    font-size: 20px !important;
    font-weight: 500 !important;
    color: #000 !important;
}

.snc-doc-buttons{
    display: flex !important;
    gap: 16px !important;
    margin-top: 22px !important;
}

.snc-doc-buttons .snc-save-btn{
    padding: 12px 24px !important;
    font-size: 16px !important;
    border-radius: 10px !important;
}


#documents .snc-section {
    margin-bottom: 50px !important;
}


/* Documents box full width heading fix */
#documents .snc-section-header{
    width: 100% !important;
    margin: 0 !important;
    border-radius: 12px 12px 0 0 !important;
    padding: 18px 25px !important;
    box-sizing: border-box !important;
}

/* Documents section body height control */
#documents .snc-section-body{
    padding: 25px 35px !important;
    min-height: auto !important;
}

/* Text bigger */
#documents .snc-section-body p{
    font-size: 22px !important;
    margin: 14px 0 !important;
    color: #000 !important;
}

/* Documents Card Fix */
.snc-doc-card{
    width: 100%;
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 6px 18px rgba(0,0,0,0.08);
}

.snc-doc-header{
    width: 100%;
    background: #1e40af;
    color: #fff;
    font-weight: 700;
    padding: 18px 30px;
    font-size: 18px;
    text-transform: uppercase;
    box-sizing: border-box;
}

.snc-doc-body{
    padding: 28px 40px;
    box-sizing: border-box;
}

.snc-doc-body p{
    font-size: 22px;
    margin: 14px 0;
    color: #000;
    font-weight: 500;
}


/* =========================================
   BOOKINGS TABLE — ROW HEIGHT COMPACT (LIKE LEDGER)
========================================= */

.snc-table th,
.snc-table td {
    padding: 12px 10px !important;   /* 👈 row height control */
    vertical-align: middle !important;
    text-align: center;
}

/* text wrapping controlled (height kam hogi) */
.snc-table td {
    line-height: 1.25 !important;
}

/* consignee wali column ko thora wide + clean */
.snc-table th:nth-child(6),
.snc-table td:nth-child(6) {
    width: 190px; /* 👈 apne hisaab se increase/decrease */
}

/* shipper column thora wide */
.snc-table th:nth-child(5),
.snc-table td:nth-child(5) {
    width: 150px; /* 👈 apne hisaab se adjust */
}

/* date column thora controlled */
.snc-table th:nth-child(2),
.snc-table td:nth-child(2) {
    width: 110px; /* 👈 apne hisaab se adjust */
}


/* ===============================
   BOOKINGS PAGINATION
=============================== */
.snc-pagination {
    margin-top: 14px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}

.snc-pagination .snc-save-btn {
    padding: 6px 12px;
    font-size: 14px;
}

.snc-pagination .snc-save-btn.active {
    background: #2563eb;
    color: #fff;
    border: 1px solid #2563eb;
}
