
        body {
            font-family: Arial, sans-serif;
            background-color: #f4f4f4;
            margin: 0;
        }
        .notice-container {
            background-color: #e6f7ff;
            border: 2px solid #008cba;
            overflow: hidden;
            padding: 10px 0;
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        }
        .marquee {
            display: inline-block;
            white-space: nowrap;
            font-size: 16px;
            color: #333;
            animation: marquee 15s linear infinite;
        }
        @keyframes marquee {
            from {
                transform: translateX(100%);
            }
            to {
                transform: translateX(-100%);
            }
        }
        .marquee:hover {
            animation-play-state: paused;
        }
        .link {
            color: #d63333;
            text-decoration: none;
            font-weight: bold;
        }
        .link:hover {
            text-decoration: underline;
        }
        
        #btn_view{
    background: #0d6efd;
    color: #fff;
    border: none;
    padding: 6px 14px;
    font-size: 13px;
    border-radius: 5px;
    font-weight: 500;
    letter-spacing: .2px;
    text-transform: none;
}

#btn_view:hover{
    background:#0b5ed7;
}

.popup-close{
    box-shadow:0 4px 12px rgba(220,53,69,.4);
    transition:.25s;
}

.popup-close:hover{
    transform: scale(1.08);
}

#ba_popup{
    display:none;
    position: fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background: rgba(0,0,0,.35);
    z-index: 9999;
}

/* Popup box */
#ba_popup .modal-dialog{
    border: 5px solid #1aa67a;
    border-radius: 18px;
    box-shadow: 0 18px 45px rgba(0,0,0,.25);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 520px;
}


#ba_popup .modal-footer{
    border-top: 1px solid #eee;
    padding: 14px 20px;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}


#ba_popup .modal-content{
    border-radius: 10px;
    border: none;
    box-shadow: 0 15px 45px rgba(0,0,0,.2);
}


#ba_popup .modal-header{
    padding: 18px 22px;
    background: linear-gradient(#f7fbff, #eef3ff);
}
#ba_popup .modal-header h4{
    font-size: 19px;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 8px;
}


#ba_popup .modal-header button{
    border: none;
    background: transparent;
    font-size: 20px;
    color: #555;
}

#ba_popup .modal-header button:hover{
    color:#000;
}

/* Body */
#ba_popup .modal-body{
    padding: 18px;
}

#ba_popup .modal-body label{
    font-size: 14px;
    margin-bottom: 6px;
}

/* Footer buttons */
#ba_popup .btn{
    border-radius: 6px;
    padding: 7px 16px;
    font-size: 13px;
}

.btn-danger{
    background:#d9534f;
    color:#fff;
    padding:8px 18px;
    border-radius:6px;
}
.btn-danger:hover{
    background:#c9302c;
}
/* FORCE round red close button */
.popup-close{
    width: 34px !important;
    height: 34px !important;
    border-radius: 50% !important;
    border: none !important;
    background: #dc3545 !important;
    color: #fff !important;
    font-size: 20px !important;
    font-weight: bold;
    line-height: 32px;
    text-align: center;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(0,0,0,.25);
}

.popup-close:hover{
    background:#b92a37 !important;
}

/* place at top-right */
#ba_popup .modal-header{
    position: relative;
}

#ba_popup .modal-header .popup-close{
    position: absolute;
    right: 14px;
    top: 10px;
}
/* ANIMATIONS */
@keyframes popupFade{
    from{ opacity:0; }
    to{ opacity:1; }
}

@keyframes popupZoom{
    from{ opacity:0; transform:translate(-50%, -40%) scale(.9); }
    to{ opacity:1; transform:translate(-50%, -50%) scale(1); }
}
#btn_view{
    min-width: 210px;
    white-space: nowrap;   /* single line */
}

#ba_popup.show {
    animation: popupFade .25s ease-out;
}

#ba_popup.show .modal-dialog{
    animation: popupZoom .25s ease-out;
}

#ba_popup .btn-success{ background:#198754; }
#ba_popup .btn-danger{ background:#dc3545; }

#ba_popup{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.35);z-index:9999}
#ba_popup .modal-content{border-radius:10px;border:none}
#ba_popup .modal-header{border-bottom:1px solid #e5e5e5}
#ba_popup .modal-header button{border:none;background:transparent;font-size:20px}
#ba_popup .modal-footer{border-top:1px solid #e5e5e5}
#ba_popup table td label{margin-right:12px}

.ba_sub:checked + span{
    background:#e7f5ff;
    border-radius:6px;
    padding:2px 6px;
    transition:.2s;
}


/* Inner white box properly rounded */
#ba_popup .modal-content{
    border-radius: 10px;
    border: 1px solid #e5e5e5;
}
  
    
.doc-note{
  color:#dc3545;
  font-size:12px;
  margin-top:4px;
  display:block;
}


.doc-item{
    text-align: center;
}

.doc-item img{
    width: 100%;
    max-width: 120px;
    height: auto;
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 4px;
    background: #fff;
}

.doc-title{
    margin-top: 6px;
    font-size: 12px;
    font-weight: 600;
    color: #333;
}

.pdf-box{
    border: 1px solid #ddd;
    padding: 12px;
    border-radius: 6px;
    background: #fafafa;
}

/* ===== DOCUMENT TABLE DESIGN ===== */
.doc-table thead th {
    background: #ff685d; /* ORANGE */
    color: #fff;
    text-align: center;
    vertical-align: middle;
    font-size: 15px;
}

.doc-table td {
    vertical-align: middle;
    padding: 14px;
    font-size: 14px;
}

/* column widths */
.sn-col {
    width: 60px;
    text-align: center;
    font-weight: bold;
}

.upload-col {
    width: 40%;
}

/* Remark input & select ko compact banane ke liye */
.doc-table td:nth-child(3) input,
.doc-table td:nth-child(3) select {
    width: 100%;
    max-width: 180px;
    padding: 6px 8px;
    font-size: 14px;
}

.doc-table th:nth-child(3),
.doc-table td:nth-child(3) {
    width: 18%;
    min-width: 160px;
}

.doc-table th:nth-child(4),
.doc-table td:nth-child(4) {
    width: 32%;
}


/* ===== FILE INPUT LOOK ===== */
.file-upload-box {
    display: flex;
    flex-direction: column;
}

.doc-file {
    padding: 8px;
    height: 42px;
    border: 2px solid #ff685d;
    border-radius: 4px;
    background: #fff;
    font-size: 14px;
}

/* choose file width increase */
.doc-file::-webkit-file-upload-button {
    background: #ff685d;
    color: #fff;
    border: none;
    padding: 8px 18px;
    margin-right: 12px;
    font-weight: 600;
    cursor: pointer;
}

/* firefox */
.doc-file::file-selector-button {
    background: #ff685d;
    color: #fff;
    border: none;
    padding: 8px 18px;
    margin-right: 12px;
    font-weight: 600;
    cursor: pointer;
}

.doc-file:hover {
    border-color: #ef6c00;
}

/* instruction text */
.help-text {
    margin-top: 4px;
    font-size: 12px;
    color: #d84315;
}

/* table row height look */
.doc-table tbody tr {
    height: 65px;
}
/* ===== DOCUMENT TABLE BORDER FIX ===== */

.table-bordered {
    border: 1px solid #d9d9d9 !important;
}

.table-bordered th,
.table-bordered td {
    border: 1px solid #d9d9d9 !important;
    vertical-align: middle;
}

/* Header styling */
.table thead th {
    background-color: #ff685d; /* orange header */
    color: #fff;
    font-weight: 600;
    border: 1px solid #e65100 !important;
}

/* Row height thoda compact & clean */
.table tbody td {
    padding: 12px 10px;
    font-size: 14px;
}

/* Zebra rows for clarity */
.table tbody tr:nth-child(even) {
    background-color: #fafafa;
}
/* Allowed formats text color */
.allowed-format-text {
    color: #000000;   /* orange */
    font-size: 12px;
    font-weight: 500;
}

/* Force dropdown look */
.remark-col select,
.doc-remark {
    appearance: auto !important;
    -webkit-appearance: menulist !important;
    -moz-appearance: menulist !important;

    background-color: #fff !important;
    cursor: pointer !important;
}

/* Add dropdown arrow manually (extra clear) */
.remark-col {
    position: relative;
}

.remark-col select {
    padding-right: 30px;
}
select.form-control {
    appearance: auto;
    -webkit-appearance: auto;
    -moz-appearance: auto;
    background-image: none;
}

/* Preview container */
.preview-col {
    width: 110px;
    text-align: center;
    vertical-align: middle;
}

/* Thumbnail image */
.doc-preview {
    max-width: 90px;
    max-height: 90px;
    width: auto;
    height: auto;
    object-fit: contain;   /* 🔥 MOST IMPORTANT */
    border: 1px solid #ddd;
    border-radius: 6px;
    background: #fff;
    cursor: pointer;
}

.preview-click {
    cursor: pointer;
    pointer-events: auto !important;
}

/* ===== HARD FIX : PREVIEW SHOULD NOT INCREASE ROW HEIGHT ===== */

/* Fix table row height strictly */
.doc-table tbody tr {
    height: 70px !important;
    max-height: 70px !important;
}

/* Prevent any td from stretching row */
.doc-table td {
    height: 70px !important;
    max-height: 70px !important;
    vertical-align: middle !important;
    overflow: hidden;
}

/* Preview column fixed box */
.preview-col {
    width: 110px;
    min-width: 110px;
    max-width: 110px;
    height: 70px !important;
    overflow: hidden;
    text-align: center;
}

/* Preview image fixed size */
.doc-preview {
    width: 48px !important;
    height: 60px !important;
    max-height: 60px !important;
    object-fit: contain;
    display: inline-block;
}

/* PDF icon same size */
.preview-col img[src*="pdf"] {
    width: 48px !important;
    height: 60px !important;
}

/* Prevent preview from pushing row */
.preview-col * {
    max-height: 60px;
}
/* ===== FIX : HEADER ROW HEIGHT BACK TO NORMAL ===== */

/* Header row ko auto & compact rakho */
.doc-table thead tr {
    height: auto !important;
}

/* Header cells ki padding kam */
.doc-table thead th {
    padding: 10px 8px !important;
    height: auto !important;
    line-height: 1.2 !important;
    font-size: 14px !important;
    vertical-align: middle !important;
}

/* Ensure header preview column bhi compact rahe */
.doc-table thead .preview-col {
    height: auto !important;
    min-height: unset !important;
}
/* ===== MOBILE HORIZONTAL SCROLL FOR DOCUMENT TABLE ===== */
.doc-table-scroll {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* Desktop pe normal */
@media (min-width: 992px) {
    .doc-table-scroll {
        overflow-x: visible;
    }
}

/* Mobile only */
@media (max-width: 768px) {

    .doc-table {
        min-width: 900px;   /* swipe area */
    }

    /* small swipe hint (optional) */
    .doc-table-scroll::after {
        content: "← Swipe left / right →";
        display: block;
        text-align: center;
        font-size: 12px;
        color: #888;
        padding: 6px 0;
    }
}

.preview-wrapper{
    position:relative;
    display:inline-block;
}

.preview-remove{
    position:absolute;
    top:-6px;
    right:-6px;
    width:18px;
    height:18px;
    background:#dc3545;
    color:#fff;
    border-radius:50%;
    font-size:14px;
    line-height:18px;
    text-align:center;
    cursor:pointer;
    display:none;
    z-index:10;
}

/* FIX select & input height alignment */
.form-group select.form-control,
.form-group input.form-control {
    height: 45px;
    padding: 10px 12px;
    font-size: 14px;
    line-height: 1.5;
}

/* Remove extra select arrow spacing issue */
.form-group select.form-control {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='20,50 70,90 120,50' fill='none' stroke='%23666' stroke-width='14' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 12px;
}
