/* ===== Professional Master Entry Form CSS ===== */

body {
    margin: 0;
    font-family: 'Manrope';
    background: #f4f6f9;
    color: #333;
}
a,span,li {
    font-family: 'Manrope';
}

/* Main panel */
.roundBorder,
#panel {
    width: 100%;
    max-width: 950px;
    margin: 25px auto;
    background: #ffffff;
    border: 1px solid #dfe3e8;
    border-radius: 12px;
    padding: 25px;
    box-shadow: 0 6px 18px rgba(0,0,0,0.08);
}

    /* Inner table spacing */
    #panel table {
        width: 100%;
        border-collapse: separate;
        border-spacing: 0 12px;
    }

/* Heading */
.order_place_heading {
    display: block;
    font-size: 24px;
    font-weight: 600;
    color: #1f2937;
    padding-bottom: 12px;
    border-bottom: 2px solid #2563eb;
}

/* Labels */
.lbl,
.lblurgent {
    font-size: 14px;
    font-weight: 600;
    color: #374151;
}

/* Inputs */
.textEntry,
input[type="text"],
input[type="password"],
select,
textarea {
    width: 100%;
    max-width: 420px;
    padding: 9px 11px;
    font-size: 14px;
    color: #111827;
    background: #ffffff;
    border: 1px solid #cfd6df;
    border-radius: 6px;
    outline: none;
    transition: all 0.2s ease;
}

    .textEntry:focus,
    input[type="text"]:focus,
    select:focus,
    textarea:focus {
        border-color: #2563eb;
        box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
    }

/* Textarea */
textarea {
    min-height: 140px;
    resize: vertical;
}

/* Dropdowns */
select {
    cursor: pointer;
    min-width: 150px;
}

/* File upload */
input[type="file"] {
    padding: 8px;
    background: #f9fafb;
    border: 1px dashed #9ca3af;
    border-radius: 6px;
    width: 100%;
    max-width: 420px;
}

/* Checkbox */
input[type="checkbox"] {
    transform: scale(1.1);
    margin-right: 6px;
}

/* Buttons */
.btnSubmit,
input[type="submit"],
input[type="button"] {
    min-width: 110px;
    padding: 10px 20px;
    margin: 10px 6px;
    font-size: 14px;
    font-weight: 600;
    color: #ffffff;
    background: #2563eb;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
}

    .btnSubmit:hover,
    input[type="submit"]:hover,
    input[type="button"]:hover {
        background: #1d4ed8;
        transform: translateY(-1px);
    }

/* Cancel button */
#ContentPlaceHolder1_btnCancel {
    background: #6b7280;
}

    #ContentPlaceHolder1_btnCancel:hover {
        background: #4b5563;
    }

/* Success message */
.lblSucccessMsg {
    display: block;
    color: #047857;
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    padding: 10px;
    border-radius: 6px;
    font-weight: 600;
}

/* Validation errors */
.failureNotification,
.instructionLimit {
    display: block;
    margin-top: 5px;
    color: #dc2626;
    font-size: 13px;
    font-weight: 600;
}

/* File note text */
.exceedlbl {
    display: inline-block;
    margin-top: 5px;
    color: #6b7280;
    font-size: 12px;
}

/* Bottom note */
.note {
    margin-top: 15px;
    padding: 12px;
    font-size: 13px;
    color: #374151;
    background: #f9fafb;
    border-left: 4px solid #2563eb;
    border-radius: 6px;
}

    .note a {
        color: #2563eb;
        font-weight: 600;
        text-decoration: none;
    }

        .note a:hover {
            text-decoration: underline;
        }

/* Authorization message */
.authorize {
    max-width: 950px;
    margin: 20px auto;
    color: #b91c1c;
    font-weight: 600;
}

/* Mobile responsive */
@media (max-width: 768px) {
    .roundBorder,
    #panel {
        padding: 18px;
        margin: 15px;
    }

        #panel table,
        #panel tbody,
        #panel tr,
        #panel td {
            display: block;
            width: 100%;
        }

        #panel td {
            padding: 5px 0;
        }

    .textEntry,
    input[type="text"],
    select,
    textarea,
    input[type="file"] {
        max-width: 100%;
    }

    .order_place_heading {
        font-size: 20px;
    }
}


:root {
    --primary: #1f4e79;
    --primary-dark: #163a5a;
    --accent: #c89b3c;
    --bg: #f3f6fa;
    --card: #ffffff;
    --text: #1f2937;
    --muted: #6b7280;
    --border: #d7dee8;
    --success: #047857;
    --danger: #dc2626;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
     font-family: 'Manrope';
    background: var(--bg);
    color: var(--text);
    font-size: 14px;
}

/* Main page containers */
.roundBorder,
.roundBorderViews,
#panel {
    width: 100% !important;
    max-width: 1050px;
    margin: 28px auto;
    padding: 28px 32px;
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 14px;
    box-shadow: 0 8px 24px rgba(31, 78, 121, 0.12);
}

    /* Tables */
    .roundBorder table,
    .roundBorderViews table,
    #panel table {
        width: 100%;
        border-collapse: collapse;
    }

    .roundBorder td,
    .roundBorderViews td,
    #panel td {
        padding: 10px 12px;
        vertical-align: middle;
    }

/* Page heading */
.order_place_heading {
    display: block;
    font-size: 24px;
    font-weight: 700;
    color: var(--primary);
    padding: 0 0 14px;
    margin-bottom: 10px;
    border-bottom: 3px solid var(--accent);
}

/* Section headers */
.odinfo {
    background: linear-gradient(90deg, var(--primary), var(--primary-dark));
    color: #ffffff;
    padding: 12px 16px !important;
    border-radius: 8px;
    font-weight: 700;
}

    .odinfo .lbl {
        color: #ffffff;
    }

/* Labels */
.lbl,
.lblurgent {
    font-weight: 600;
    color: #334155;
    line-height: 1.5;
}

/* Detail row borders */
.tdBorderBottom {
    border-bottom: 1px solid #e5eaf1;
}

/* Textboxes, dropdowns, textarea */
.textEntry,
input[type="text"],
input[type="password"],
select,
textarea {
    width: 100%;
    max-width: 430px;
    min-height: 38px;
    padding: 9px 12px;
     font-family: 'Manrope';
    font-size: 14px;
    color: var(--text);
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    outline: none;
    transition: 0.2s ease;
}

    textarea,
    .textEntry[textarea] {
        min-height: 130px;
        resize: vertical;
    }

        .textEntry:focus,
        input[type="text"]:focus,
        input[type="password"]:focus,
        select:focus,
        textarea:focus {
            border-color: var(--primary);
            box-shadow: 0 0 0 3px rgba(31, 78, 121, 0.16);
        }

    /* Small inputs */
    input[style*="40px"],
    .textEntry[style*="40px"] {
        max-width: 80px;
    }

/* File upload */
input[type="file"] {
    width: 100%;
    max-width: 430px;
    padding: 9px;
    background: #f8fafc;
    border: 1px dashed #94a3b8;
    border-radius: 8px;
}

/* Buttons */
.btnSubmit,
input[type="submit"],
input[type="button"] {
    min-width: 115px;
    padding: 10px 22px;
    margin: 14px 6px;
    font-size: 14px;
    font-weight: 700;
    color: #ffffff;
    background: var(--primary);
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: 0.2s ease;
}

    .btnSubmit:hover,
    input[type="submit"]:hover,
    input[type="button"]:hover {
        background: var(--primary-dark);
        transform: translateY(-1px);
        box-shadow: 0 6px 14px rgba(31, 78, 121, 0.25);
    }

/* Cancel button */
#ContentPlaceHolder1_btnCancel {
    background: #64748b;
}

    #ContentPlaceHolder1_btnCancel:hover {
        background: #475569;
    }

/* Links */
a,
.download a,
.download,
asp\:LinkButton {
    color: var(--primary);
    font-weight: 600;
    text-decoration: none;
}

    a:hover,
    .download a:hover {
        color: var(--accent);
        text-decoration: underline;
    }

/* Messages */
.lblSucccessMsg {
    display: block;
    padding: 11px 14px;
    color: var(--success);
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    border-radius: 8px;
    font-weight: 700;
}

.failureNotification,
.instructionLimit {
    display: block;
    margin-top: 5px;
    color: var(--danger);
    font-size: 13px;
    font-weight: 600;
}

.exceedlbl {
    display: inline-block;
    margin-top: 6px;
    color: var(--muted);
    font-size: 12px;
}

/* Note area */
.note {
    margin-top: 18px;
    padding: 14px 16px !important;
    color: #334155;
    background: #f8fafc;
    border-left: 5px solid var(--accent);
    border-radius: 8px;
    font-size: 13px;
}

/* Authorization message */
.authorize {
    width: 94%;
    max-width: 1050px;
    margin: 18px auto;
    color: var(--danger);
    font-weight: 700;
}

/* Checkbox */
input[type="checkbox"] {
    transform: scale(1.12);
    margin-right: 6px;
}

/* Mobile responsive */
@media (max-width: 768px) {
    .roundBorder,
    .roundBorderViews,
    #panel {
        width: calc(100% - 24px) !important;
        padding: 20px;
        margin: 16px auto;
    }

        .roundBorder table,
        .roundBorder tbody,
        .roundBorder tr,
        .roundBorder td,
        .roundBorderViews table,
        .roundBorderViews tbody,
        .roundBorderViews tr,
        .roundBorderViews td,
        #panel table,
        #panel tbody,
        #panel tr,
        #panel td {
            display: block;
            width: 100% !important;
        }

        .roundBorder td,
        .roundBorderViews td,
        #panel td {
            padding: 7px 0;
        }

    .order_place_heading {
        font-size: 21px;
    }

    .textEntry,
    input[type="text"],
    input[type="password"],
    select,
    textarea,
    input[type="file"] {
        max-width: 100%;
    }

    .btnSubmit,
    input[type="submit"],
    input[type="button"] {
        width: 100%;
        margin: 8px 0;
    }
}
