/* ==========================================================
   ISoft ERP - layout.css
   NOTE:
   This is Part 1 starter generated file.
   Replace/extend in subsequent parts.
========================================================== */

/* ---------- RESET ---------- */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/*html, body {
    height: 100%;
}*/

body {
    font-family: "Segoe UI",Arial,sans-serif;
    background: #F7F4EC;
    color: #333;
    display: flex;
    flex-direction: column;
    height: 100vh;
    overflow: hidden;
}

.erp-scroll-panel {
    max-height: calc(100vh - 220px);
    overflow-y: auto;
    overflow-x: hidden;
}

/* ---------- HEADER ---------- */
.erp-header {
    min-height: 64px;
    background: linear-gradient(135deg,#0F4C52,#1E4F4A);
    color: #fff;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    padding: 10px 20px;
    box-shadow: 0 3px 12px rgba(0,0,0,.15);
}

.erp-header-left,
.erp-header-context,
.erp-header-right {
    display: flex;
    align-items: center;
    gap: 8px;
}

.erp-header-left {
    min-width: 145px;
}

.erp-logo {
    font-size: 20px;
    font-weight: 700;
    white-space: nowrap;
}

.erp-header-context {
    flex: 1;
    justify-content: center;
    font-size: 14px;
}

.erp-company-name {
    font-weight: 700;
}

.erp-header-right {
    justify-content: flex-end;
    font-size: 13px;
    white-space: nowrap;
}

.erp-header-separator {
    color: rgba(255,255,255,.45);
}

.erp-wrapper {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
}

.erp-sidebar {
    width: 250px;
    background: #fff;
    border-right: 1px solid #e6e6e6;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-gutter: stable;
    overscroll-behavior: contain;
}

.erp-content {
    flex: 1;
    overflow: auto;
    padding: 24px;
    background: #F7F4EC;
}

.erp-page {
    background: transparent;
    padding: 0;
}

.module-launcher {
    min-height: calc(100vh - 130px);
    padding: 26px;
    background: #eef5f5;
    border-radius: 18px;
}

.module-launcher-header {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 26px;
}

.module-launcher-header h2,
.module-launcher-header p {
    margin: 0;
}

.module-launcher-header p {
    color: #657572;
}

.module-launcher-icon,
.module-card-icon {
    display: grid;
    place-items: center;
    color: #fff;
    background: linear-gradient(135deg,#17615b,#2f8179);
}

.module-launcher-icon {
    width: 54px;
    height: 54px;
    border-radius: 14px;
    font-size: 24px;
}

.module-icon-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill,minmax(210px,1fr));
    gap: 16px;
}

.module-icon-card {
    display: grid;
    grid-template-columns: 48px 1fr auto;
    align-items: center;
    gap: 12px;
    min-height: 82px;
    padding: 16px;
    color: #223c39;
    text-decoration: none;
    background: #fff;
    border: 1px solid #d8e6e4;
    border-radius: 14px;
    box-shadow: 0 6px 18px rgba(26,77,71,.07);
    transition: transform .18s,box-shadow .18s;
}

.module-icon-card:hover {
    color: #174f49;
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(26,77,71,.13);
}

.module-card-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    font-size: 19px;
}

.module-card-title {
    font-weight: 600;
}

.module-card-arrow {
    color: #71908c;
}

.module-empty {
    padding: 70px 20px;
    text-align: center;
    color: #71817f;
}

.module-empty > i {
    font-size: 42px;
}

/* ---------- MASTER CARD ---------- */

.master-card {
    height: calc(100vh - 110px); /* adjust according to your header/breadcrumb */
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 18px 45px rgba(0,0,0,.08);
    margin: auto;
}

.w-500 {
    max-width: 500px;
}

.w-600 {
    max-width: 600px;
}

.w-700 {
    max-width: 700px;
}

.w-800 {
    max-width: 800px;
}

.w-900 {
    max-width: 900px;
}

.master-card-header {
    background: #CDEBE8;
    padding: 14px 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 72px;
}

    .master-card-header h2 {
        font-size: 22px;
        line-height: 1.2;
        margin: 0;
    }

    .master-card-header span {
        margin-top: 2px;
        font-size: 14px;
        color: #5d6f6d;
    }

.master-card-body {
    padding: 30px;
    background: #EEF5F5;
}

/* ---------- ERP FORM ---------- */

.erp-form {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.erp-form-row {
    display: grid;
    grid-template-columns: 150px 1fr;
    align-items: center;
    gap: 5px;
    margin-bottom: 0;
}

    .erp-form-row label {
        font-size: 14px;
        line-height: 18px;
        margin-bottom: 0;
        font-weight: 500;
    }

.erp-label {
    font-weight: 600;
    color: #333;
    padding-top: 0;
}

    .erp-label.required::after {
        content: " *";
        color: #d32f2f;
    }

.erp-input,
.erp-select,
.erp-textarea {
    border: 1px solid #D5DCE2;
    border-radius: 5px;
    padding: 4px 10px;
    font-size: 12px;
    transition: .2s;
}

.erp-select {
    line-height: 1.2;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3e%3cpath fill='%231E4F4A' d='M1 1l5 5 5-5'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 12px 8px;
    padding-right: 36px;
    cursor: pointer;
}

.erp-input,
.erp-select {
    height: 30px;
}
/* ==========================================================
   ERP CONTROL SIZE STANDARD
========================================================== */

.erp-input-sm,
.erp-select-sm,
.erp-textarea-sm {
    width: 160px;
}

.erp-input-md,
.erp-select-md,
.erp-textarea-md {
    width: 240px;
}

.erp-input-lg,
.erp-select-lg,
.erp-textarea-lg {
    width: 340px;
}

.erp-input-xl,
.erp-select-xl,
.erp-textarea-xl {
    width: 450px;
}

.erp-textarea {
    min-height: 80px;
    resize: vertical;
}

.erp-textarea-lg {
    height: 100px;
}

.erp-textarea-xl {
    height: 130px;
}

.erp-input:focus,
.erp-select:focus,
.erp-textarea:focus {
    outline: none;
    border-color: #1E4F4A;
    box-shadow: 0 0 0 .2rem rgba(30,79,74,.15);
}

@media (max-width:768px) {

    .erp-input,
    .erp-select,
    .erp-textarea,
    .erp-input-sm,
    .erp-input-md,
    .erp-input-lg,
    .erp-input-xl,
    .erp-select-sm,
    .erp-select-md,
    .erp-select-lg,
    .erp-select-xl,
    .erp-textarea-sm,
    .erp-textarea-md,
    .erp-textarea-lg,
    .erp-textarea-xl {
        width: 100%;
    }
}

.erp-checkbox {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 36px;
}

.erp-form-actions {
    margin-top: 28px;
    padding-left: 168px;
    display: flex;
    gap: 12px;
}

/* ==========================================================
   SEARCH PANEL
========================================================== */

.search-card {
    background: #fff;
    border-radius: 18px;
    padding: 22px;
    margin-bottom: 22px;
    box-shadow: 0 8px 25px rgba(0,0,0,.06);
}

.search-title {
    font-size: 18px;
    font-weight: 700;
    color: #1E4F4A;
    margin-bottom: 18px;
}

.search-form {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(260px,1fr));
    gap: 18px;
}

.search-item {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

    .search-item label {
        font-weight: 600;
        color: #444;
    }

.search-actions {
    display: flex;
    gap: 12px;
    align-items: end;
}

/* ==========================================================
   TOOLBAR
========================================================== */

.erp-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 18px;
}

.erp-toolbar-left,
.erp-toolbar-right {
    display: flex;
    gap: 10px;
    align-items: center;
}

/* ==========================================================
   BUTTONS
========================================================== */

.btn-erp,
.btn-erp-secondary,
.btn-erp-danger,
.btn-erp-light {
    height: 42px;
    padding: 0 22px;
    border-radius: 10px;
    border: none;
    font-weight: 600;
    cursor: pointer;
    transition: .25s;
}

.btn-erp {
    background: linear-gradient(135deg,#1E4F4A,#26655E);
    color: white;
}

    .btn-erp:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 18px rgba(30,79,74,.25);
    }

.btn-erp-secondary {
    background: #CDEBE8;
    color: #1E4F4A;
}

    .btn-erp-secondary:hover {
        background: #BEDFDC;
    }

.btn-erp-danger {
    background: #DC3545;
    color: white;
}

    .btn-erp-danger:hover {
        background: #C82333;
    }

.btn-erp-light {
    background: #F3F4F6;
    color: #333;
    border: 1px solid #D9D9D9;
}

    .btn-erp-light:hover {
        background: #ECECEC;
    }

/* ==========================================================
   ERP GRID
========================================================== */

.erp-grid {
    width: 100%;
    border-collapse: collapse;
    background: white;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 8px 25px rgba(0,0,0,.06);
}

    .erp-grid thead {
        background: #CDEBE8;
    }

        .erp-grid thead th {
            padding: 14px 16px;
            text-align: left;
            color: #1E4F4A;
            font-weight: 700;
            border-bottom: 1px solid #B9D9D5;
            white-space: nowrap;
        }

    .erp-grid tbody td {
        padding: 12px 16px;
        border-bottom: 1px solid #EEEEEE;
        vertical-align: middle;
    }

    .erp-grid tbody tr {
        transition: .20s;
    }

        .erp-grid tbody tr:hover {
            background: #F8FCFC;
        }

        .erp-grid tbody tr:last-child td {
            border-bottom: none;
        }

/* ==========================================================
   GRID ACTIONS
========================================================== */

.grid-actions {
    display: flex;
    gap: 8px;
}

.grid-btn {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    transition: .20s;
}

    .grid-btn:hover {
        transform: translateY(-1px);
    }

.grid-btn-edit {
    background: #CDEBE8;
    color: #1E4F4A;
}

.grid-btn-delete {
    background: #FDE2E2;
    color: #C62828;
}

.grid-btn-view {
    background: #E8F1FF;
    color: #1565C0;
}

/* ==========================================================
   STATUS
========================================================== */

.status-active,
.status-inactive {
    display: inline-block;
    min-width: 90px;
    text-align: center;
    padding: 5px 12px;
    border-radius: 30px;
    font-size: 13px;
    font-weight: 600;
}

.status-active {
    background: #D9F5E4;
    color: #137333;
}

.status-inactive {
    background: #FDE7E7;
    color: #C62828;
}

/* ==========================================================
   PAGINATION
========================================================== */

.erp-pagination {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 18px;
}

    .erp-pagination a,
    .erp-pagination span {
        width: 36px;
        height: 36px;
        border-radius: 8px;
        display: flex;
        justify-content: center;
        align-items: center;
        background: white;
        border: 1px solid #D8D8D8;
        text-decoration: none;
        color: #444;
    }

    .erp-pagination .active {
        background: #1E4F4A;
        color: white;
        border-color: #1E4F4A;
    }

/* ==========================================================
   EMPTY DATA
========================================================== */

.erp-empty {
    padding: 50px;
    text-align: center;
    color: #888;
    font-size: 16px;
}

/* ==========================================================
   DASHBOARD
========================================================== */

.dashboard-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
}

    .dashboard-header h2 {
        color: #1E4F4A;
        font-size: 30px;
        font-weight: 700;
    }

    .dashboard-header p {
        color: #666;
        margin-top: 4px;
    }

.dashboard-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(260px,1fr));
    gap: 20px;
    margin-bottom: 25px;
}

.kpi-card {
    background: white;
    border-radius: 18px;
    padding: 24px;
    box-shadow: 0 10px 30px rgba(0,0,0,.06);
    transition: .25s;
}

    .kpi-card:hover {
        transform: translateY(-4px);
    }

.kpi-title {
    color: #777;
    font-size: 14px;
}

.kpi-value {
    font-size: 34px;
    font-weight: 700;
    margin-top: 10px;
    color: #1E4F4A;
}

.dashboard-card {
    background: white;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0,0,0,.06);
}

.dashboard-card-header {
    padding: 16px 22px;
    background: #CDEBE8;
    color: #1E4F4A;
    font-size: 18px;
    font-weight: 700;
}

.dashboard-card-body {
    padding: 24px;
}

/* ==========================================================
   STATISTICS
========================================================== */

.stat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(180px,1fr));
    gap: 18px;
}

.stat-card {
    background: #F9FBFC;
    border: 1px solid #E5ECEC;
    border-radius: 14px;
    padding: 18px;
}

.stat-title {
    color: #777;
    font-size: 13px;
}

.stat-value {
    margin-top: 8px;
    color: #1E4F4A;
    font-size: 28px;
    font-weight: 700;
}

/* ==========================================================
   BADGES
========================================================== */

.badge-success,
.badge-warning,
.badge-danger,
.badge-info {
    display: inline-block;
    padding: 5px 12px;
    border-radius: 30px;
    font-size: 13px;
    font-weight: 600;
}

.badge-success {
    background: #D9F5E4;
    color: #137333;
}

.badge-warning {
    background: #FFF4D6;
    color: #B26A00;
}

.badge-danger {
    background: #FDE7E7;
    color: #C62828;
}

.badge-info {
    background: #E5F3FF;
    color: #1565C0;
}

/* ==========================================================
   MESSAGE BOX
========================================================== */

.erp-message {
    border-radius: 12px;
    padding: 15px 18px;
    margin-bottom: 20px;
}

.erp-message-success {
    background: #D9F5E4;
    color: #137333;
}

.erp-message-warning {
    background: #FFF4D6;
    color: #B26A00;
}

.erp-message-error {
    background: #FDE7E7;
    color: #C62828;
}

.erp-message-info {
    background: #E5F3FF;
    color: #1565C0;
}

/* ==========================================================
   LOADING
========================================================== */

.erp-loading {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 180px;
}

.erp-spinner {
    width: 42px;
    height: 42px;
    border: 4px solid #DDE8E6;
    border-top-color: #1E4F4A;
    border-radius: 50%;
    -webkit-animation: spin .8s linear infinite;
    animation: spin .8s linear infinite;
}

@-webkit-keyframes spin {
    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes spin {
    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

/* ==========================================================
   UTILITIES
========================================================== */

.text-left {
    text-align: left;
}

.text-center {
    text-align: center;
}

.text-right {
    text-align: right;
}

.fw-600 {
    font-weight: 600;
}

.fw-700 {
    font-weight: 700;
}

.mt-10 {
    margin-top: 10px;
}

.mt-20 {
    margin-top: 20px;
}

.mt-30 {
    margin-top: 30px;
}

.mb-10 {
    margin-bottom: 10px;
}

.mb-20 {
    margin-bottom: 20px;
}

.mb-30 {
    margin-bottom: 30px;
}

.w-100 {
    width: 100%;
}

/* ==========================================================
   ANIMATION
========================================================== */

.fade-in {
    animation: fadeIn .35s ease;
}

@keyframes fadeIn {

    from {
        opacity: 0;
        transform: translateY(12px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ==========================================================
   PRINT
========================================================== */

@media print {

    .erp-header,
    .erp-sidebar,
    .erp-toolbar,
    .erp-form-actions,
    .search-card {
        display: none !important;
    }

    .erp-content {
        padding: 0;
        background: white;
    }

    .master-card {
        box-shadow: none;
        border-radius: 0;
    }

    body {
        background: white;
    }
}

/* ==========================================================
   RESPONSIVE
========================================================== */

@media (max-width:992px) {

    .erp-sidebar {
        display: none;
    }

    .erp-wrapper {
        display: block;
    }

    .erp-content {
        padding: 15px;
    }

    .master-card {
        width: 100%;
    }

    .erp-form-row {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .erp-label {
        padding-top: 0;
    }

    .erp-form-actions {
        padding-left: 0;
        flex-wrap: wrap;
    }

    .dashboard-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width:576px) {

    .master-card-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .erp-toolbar {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .search-form {
        grid-template-columns: 1fr;
    }

    .grid-actions {
        justify-content: center;
    }

    .dashboard-header {
        flex-direction: column;
        align-items: flex-start;
    }
}

.erp-section {
    background: #F7FAFA;
    border: 1px solid #D8E3E3;
    border-radius: 5px;
    padding: 5px;
    margin-bottom: 5px;
}

.erp-section-title {
    margin: +2px -12px 12px;
    padding: 5px 14px;
    background: #EAF4F3;
    color: #0670b6;
    font-size: 14px;
    font-weight: 600;
    border-bottom: 1px solid #D8E3E3;
    border-radius: 10px 10px 0 0;
}

.voucher-card { max-width: 100%; }
.voucher-header-grid { display:grid; grid-template-columns:repeat(6,minmax(140px,1fr)); gap:12px; margin-bottom:14px; }
.voucher-header-grid > div, .bill-grid > div { display:flex; flex-direction:column; gap:4px; }
.entry-mode-bar { display:flex; align-items:end; gap:20px; padding:10px 12px; margin-bottom:12px; background:#f2f8f8; border:1px solid #d8e3e3; border-radius:5px; }
.entry-mode-bar > label { padding-bottom:7px; white-space:nowrap; }
#primaryLedgerBox { min-width:280px; }
.primary-ledger-fields { display:flex; gap:8px; }.primary-ledger-fields select { min-width:260px; }.primary-ledger-fields input { width:130px; }
.primary-entry-row { margin:-4px 0 12px; border:1px solid #b8d5d3; background:#f7fbfb; }.primary-entry-row .erp-table { margin:0; }.primary-entry-row th:first-child { width:28%; }.primary-entry-row th:nth-child(2) { width:44%; }.primary-entry-row th:nth-child(3) { width:18%; }.primary-entry-row th:last-child { width:10%; }
.voucher-lines-wrap { border:1px solid #d8e3e3; }
.voucher-lines { min-width:1250px; margin-bottom:0; }
.voucher-lines .amount { min-width:105px; }
.voucher-lines select { min-width:145px; }
.allocation-line td { background:#fafcfc !important; padding:4px 12px !important; }
.allocation-line summary { cursor:pointer; color:#0670b6; font-weight:600; }
.bill-grid { display:grid; grid-template-columns:repeat(4,minmax(170px,1fr)); gap:12px; padding:10px 0; }
.voucher-footer { display:grid; grid-template-columns:2fr 1fr; gap:20px; margin-top:14px; }
.voucher-help { align-self:end; padding:12px; color:#4c6666; background:#f7fafa; border-radius:5px; }
@media (max-width:1100px) { .voucher-header-grid { grid-template-columns:repeat(3,1fr); } }
@media (max-width:700px) { .voucher-header-grid,.bill-grid,.voucher-footer { grid-template-columns:1fr; } .entry-mode-bar { align-items:flex-start; flex-direction:column; gap:8px; } #primaryLedgerBox { min-width:100%; } }
.voucher-simple-grid { min-width:900px; margin:0; }
.voucher-simple-grid th:nth-child(1) { width:28%; }.voucher-simple-grid th:nth-child(2) { width:44%; }.voucher-simple-grid th:nth-child(3),.voucher-simple-grid th:nth-child(4) { width:14%; }
.particulars-cell { display:flex; align-items:center; gap:6px; }.particulars-cell .particular { flex:1; }
.allocation-view { display:none; align-items:center; gap:4px; border:1px solid #8db9b6; background:#edf7f6; color:#096b68; border-radius:4px; padding:6px 8px; white-space:nowrap; font-size:12px; }
.allocation-modal { position:fixed; inset:0; z-index:1060; display:none; align-items:center; justify-content:center; padding:24px; background:rgba(15,35,35,.48); }
.allocation-modal.open { display:flex; }.allocation-dialog { width:min(1050px,96vw); max-height:88vh; overflow:auto; background:#fff; border-radius:8px; box-shadow:0 20px 60px rgba(0,0,0,.25); }
.allocation-modal-header { display:flex; align-items:center; justify-content:space-between; padding:14px 18px; border-bottom:1px solid #d8e3e3; background:#f2f8f8; }
.allocation-modal-header h3 { margin:0; font-size:19px; color:#075b58; }.allocation-modal-header span { color:#5a7473; }
.modal-close { border:0; background:transparent; color:#536867; font-size:28px; line-height:1; }
.allocation-toolbar { display:flex; align-items:center; gap:10px; padding:12px 18px; }.allocation-toolbar #allocationBalance { margin-left:auto; font-weight:600; }
.allocation-dialog .table-responsive { margin:0 18px; border:1px solid #d8e3e3; }.allocation-dialog .erp-table { margin:0; }
.validation-summary-valid { display:none !important; }
.ledger-entry-cell { display:flex; align-items:center; gap:7px; }.ledger-entry-cell .ledger-select { flex:1; }.posting-cue { min-width:24px; color:#8a3429; font-weight:700; }
.tally-shortcuts { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 18px; padding:9px 12px; margin-top:12px; color:#244; background:#d8eeee; border-top:1px solid #9fc9c6; border-bottom:1px solid #9fc9c6; }
.tally-shortcuts kbd { padding:2px 5px; color:#fff; background:#176e69; border-radius:2px; box-shadow:none; }
.warehouse-create-panel{padding:16px;background:#f8fbfb;border:1px solid #c9dddd;border-radius:8px}.warehouse-step-heading{display:flex;align-items:center;gap:10px;margin-bottom:12px}.warehouse-step-heading>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#176d67;color:#fff;font-weight:700}.warehouse-step-heading>div{display:flex;flex-direction:column}.warehouse-step-heading strong{font-size:16px}.warehouse-step-heading small{color:#607876}.warehouse-details-heading{margin-top:20px}.warehouse-level-picker{display:grid;grid-template-columns:repeat(7,minmax(105px,1fr));gap:9px}.warehouse-level-option{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;border:1px solid #bdd6d3;border-radius:7px;background:#fff;color:#315c59;cursor:pointer;font-weight:600}.warehouse-level-option i{font-size:22px}.warehouse-level-option:hover{border-color:#2b817a;background:#f0f8f7}.warehouse-level-option.active{color:#fff;background:#176d67;border-color:#176d67;box-shadow:0 3px 8px rgba(23,109,103,.2)}
.warehouse-entry-form { display:grid; grid-template-columns:repeat(4,minmax(160px,1fr)); gap:12px; padding:14px; background:#eef7f6; border:1px solid #c9dddd; border-radius:6px; }.warehouse-entry-form>div{display:flex;flex-direction:column;gap:4px}.warehouse-checks{flex-direction:row!important;align-items:center;gap:14px!important}.warehouse-checks label{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.warehouse-save-box{justify-content:end}.warehouse-save-box .btn-erp{min-height:42px}
.warehouse-summary{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:16px 0}.warehouse-summary>div{text-align:center;padding:10px;background:#e5f3f2;border-radius:5px}.warehouse-summary strong{display:block;font-size:22px;color:#076c67}.warehouse-summary span{color:#53706e}
.warehouse-help{margin:0 0 20px;padding:16px;border:1px solid #b8d8d5;border-radius:9px;background:#f1f9f8}.warehouse-help-title{display:flex;gap:10px;align-items:center}.warehouse-help-title>i{font-size:25px;color:#bd7a00}.warehouse-help-title div{display:flex;flex-direction:column}.warehouse-help-title span{color:#607876}.warehouse-help-flow{display:flex;align-items:center;justify-content:center;gap:16px;margin:17px 0}.warehouse-help-flow>div{display:flex;min-width:180px;flex-direction:column;align-items:center;padding:12px;border-radius:7px;background:#fff;border:1px solid #c9dddd}.warehouse-help-flow>div>i{margin-bottom:5px;font-size:24px;color:#176d67}.warehouse-help-flow small{color:#607876}.warehouse-help-rules{display:grid;gap:6px}.warehouse-help-rules span{display:flex;align-items:center;gap:7px}.warehouse-help-rules i{color:#198754}.warehouse-context-help{display:flex;gap:10px;align-items:flex-start;margin-bottom:14px;padding:11px 14px;border-left:4px solid #176d67;border-radius:5px;background:#e8f5f4}.warehouse-context-help>i{font-size:20px;color:#176d67}.warehouse-context-help>div{display:flex;flex-direction:column}.warehouse-context-help span{color:#526d6a}
.warehouse-tree{border:1px solid #cbdedd;border-radius:6px;padding:8px;background:#fff}.warehouse-tree details{margin:5px 0 5px 18px}.warehouse-tree>details{margin-left:0}.warehouse-tree summary{cursor:pointer;padding:7px 10px;background:#f3f9f8;border-radius:4px}.warehouse-tree summary>span:last-child{float:right;color:#6a7d7c}.bin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:7px;padding:8px 0 8px 24px}.bin-tile{display:grid;grid-template-columns:auto 1fr;gap:2px 7px;padding:8px;border:1px solid #bcd6d3;border-radius:4px}.bin-tile i{grid-row:1/4;font-size:20px;color:#08746e}.bin-tile span,.bin-tile small{grid-column:2}.bin-tile.inactive{opacity:.5}
.tally-inward-page{height:calc(100vh - 150px);min-height:420px;overflow-y:auto;overflow-x:hidden;border:1px solid #9dbfbc;background:#fff;scrollbar-gutter:stable}.tally-inward-page form{min-width:980px}.tally-voucher-header{position:sticky;top:0;z-index:4;display:flex;align-items:center;justify-content:space-between;padding:7px 12px;color:#fff;background:#176d67}.tally-voucher-header h3{margin:0;font-size:18px}.tally-voucher-header small{opacity:.85}.tally-voucher-no{padding:3px 12px;border:1px solid rgba(255,255,255,.5)}.tally-entry-block{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:5px 10px;padding:7px 10px;border-bottom:1px solid #c9dddd}.tally-field{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:5px}.tally-field.tally-wide{grid-column:span 2}.tally-ledger-field{grid-column:span 3}.tally-field label{margin:0;font-size:12px;font-weight:600;color:#315c59}.tally-field input,.tally-field select,.tally-cargo-grid input,.tally-cargo-grid select{width:100%;height:27px;padding:2px 5px;font-size:13px;border:0;border-bottom:1px solid #82aaa7;border-radius:0;background:#fff}.tally-field input:focus,.tally-field select:focus,.tally-cargo-grid input:focus,.tally-cargo-grid select:focus{outline:2px solid #f0b429;outline-offset:-1px;background:#fffde8}.tally-more{border-bottom:1px solid #9dbfbc}.tally-more summary{padding:5px 10px;font-size:13px;font-weight:700;color:#176d67;background:#eef7f6;cursor:pointer}.tally-bond summary{color:#805400;background:#fff4d7}.tally-grid-wrap{overflow-x:auto}.tally-cargo-grid{width:100%;min-width:1180px;table-layout:fixed;border-collapse:collapse;font-size:12px}.tally-cargo-grid th{position:static;padding:5px;text-align:left;background:#d8eeee;border:1px solid #a9cdca;white-space:nowrap}.tally-cargo-grid td{height:29px;padding:1px 3px;vertical-align:middle;border:1px solid #c9dddd}.tally-cargo-grid th:nth-child(1),.tally-cargo-grid td:nth-child(1){width:32px;text-align:center}.tally-cargo-grid th:nth-child(2),.tally-cargo-grid td:nth-child(2){width:255px}.tally-cargo-grid th:nth-child(3),.tally-cargo-grid td:nth-child(3){width:92px}.tally-cargo-grid th:nth-child(4),.tally-cargo-grid td:nth-child(4){width:105px}.tally-cargo-grid th:nth-child(5),.tally-cargo-grid td:nth-child(5){width:105px}.tally-cargo-grid th:nth-child(6),.tally-cargo-grid td:nth-child(6){width:105px}.tally-cargo-grid th:nth-child(7),.tally-cargo-grid td:nth-child(7){width:105px}.tally-cargo-grid th:nth-child(8),.tally-cargo-grid td:nth-child(8){width:120px}.tally-cargo-grid th:nth-child(9),.tally-cargo-grid td:nth-child(9){width:145px}.tally-cargo-grid th:nth-child(10),.tally-cargo-grid td:nth-child(10){width:28px;text-align:center}.line-no{text-align:center}.remove-line{border:0;background:none;color:#b42318;font-size:18px}.tally-add-line{border:0;color:#176d67;background:none;font-weight:700}.tally-voucher-footer{position:sticky;bottom:0;z-index:4;display:flex;align-items:center;justify-content:space-between;padding:6px 10px;border-top:1px solid #9dbfbc;background:#eef7f6}.tally-voucher-footer span{font-size:12px;color:#526d6a}.tally-voucher-footer .btn-erp{min-width:150px;padding:6px 12px}
@media(max-width:1100px){.warehouse-level-picker{grid-template-columns:repeat(4,1fr)}.warehouse-inward-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:1000px){.warehouse-entry-form{grid-template-columns:repeat(2,1fr)}.warehouse-summary{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.warehouse-help-flow{align-items:stretch;flex-direction:column}.warehouse-help-flow>i{transform:rotate(90deg)}.warehouse-help-flow>div{min-width:0}}@media(max-width:600px){.warehouse-create-panel{padding:11px}.warehouse-level-picker{grid-template-columns:repeat(2,1fr)}.warehouse-entry-form,.warehouse-inward-grid{grid-template-columns:1fr}.warehouse-summary{grid-template-columns:repeat(2,1fr)}}
