


/* ============================================= */
/* MTN Modern Theme v3                           */
/* ============================================= */

html, body {
    margin: 0;
    padding: 0;
    height: 100%;
    width: 100%;
    background-color: #EFF4F8;
    overflow: hidden;
}

/* ========================================================= */
/*  LOGIN — Modern card on gradient background               */
/* ========================================================= */

.login-window {
    background-color: #003C87;
    background-image:
        radial-gradient(ellipse at 20% 50%, rgba(0,120,75,0.3) 0%, transparent 60%),
        radial-gradient(ellipse at 80% 80%, rgba(0,43,99,0.5) 0%, transparent 50%),
        linear-gradient(160deg, #003C87 0%, #002B63 45%, #00784B 100%);
}

.login-box-body {
    width: 500px;
    height: 300px;
    background-image: none;
    background-color: rgba(255, 255, 255, 0.98);
    z-index: 1;
    padding: 28px 36px;
    margin: 0;
    text-align: center;
    padding-bottom: 12px;
    border-radius: 0;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2), 0 4px 12px rgba(0, 0, 0, 0.08);
}

.login-box-header {
    background-image: none;
    background: linear-gradient(135deg, #003C87 0%, #002B63 60%, #004020 100%);
    z-index: 2;
    height: 56px;
    width: 500px;
    border-radius: 10px 10px 0 0;
    border-bottom: 3px solid #F0D200;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

.login-box-header-txt {
    color: #FFFFFF;
    font-weight: 600;
    position: relative;
    top: 30px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-size: 11px;
}

.login-box-header-logo {
    padding-top: 24px;
    padding-bottom: 28px;
}

.login-box-footer {
    background-image: none;
    background-color: #F1F5F9;
    z-index: 2;
    height: 70px;
    width: 500px;
    border-radius: 0 0 10px 10px;
    border-top: 1px solid #E2E8F0;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
}

.login-box-footer-pnl {
    width: 420px;
    margin-left: 10px;
    margin-right: 10px;
    padding-top: -10px;
}

.login-label {
    color: #1E293B;
    text-align: right;
    width: 20%;
    font-weight: 500;
    font-size: 12px;
}

.login-field {
    text-align: left;
    width: 40%;
}

.login-btn {
    height: 40px;
    width: 90px;
    border-radius: 4px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-size: 11px;
    cursor: pointer;
}

.login-east-panel, .login-west-panel {
    width: 1px;
    background-color: transparent;
    position: relative;
    border-style: none;
    border-width: 0;
    border-color: transparent;
}

/* ========================================================= */
/*  DESKTOP HEADER — Blue + gold accent line                 */
/* ========================================================= */

.desktop-header-left {
    margin: 0;
    margin-left: 5px;
    margin-top: 3px;
}

.desktop-header-right {
    margin: 0;
    margin-top: 3px;
    padding-right: 5px;
}

.disableFilter img {
    opacity: 0.2;
}

.toolbar {
    padding: 0px;
    height: 38px;
}

.toolbar-button {
    padding-top: 7px;
    padding-bottom: 7px;
    padding-right: 0px;
    padding-left: 5px;
}

.toolbar-button img {
    width: 22px;
    height: 22px;
    border-style: solid;
    border-width: 1px;
    border-color: transparent;
    transition: opacity 0.15s ease;
}

.toolbar-button img:hover {
    opacity: 0.75;
}

.embedded-toolbar-button img {
    width: 22px;
    height: 22px;
    border-style: solid;
    border-width: 1px;
    border-color: transparent;
}

.depressed img {
    border-style: inset;
    border-width: 1px;
    border-color: #003C87;
    background-color: #004DA6;
    border-radius: 4px;
    padding: 0px 1px 0px 1px;
}

.desktop-header {
    background-image: none;
    background: linear-gradient(180deg, #003C87 0%, #002F6B 100%);
    width: 100%;
    height: 50px;
    border-bottom: 2px solid #00784B;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

.desktop-header-font {
    font-family: 'Source Sans 3', 'Segoe UI', system-ui, sans-serif;
    font-size: 11px;
    color: #FFFFFF;
}

/* ========================================================= */
/*  BUTTONS                                                  */
/* ========================================================= */

.action-button { height: 15px; width: 48px; padding: 0px; }
.action-text-button { height: 15px; width: 80px; padding: 0px; }
.editor-button { width: 25px; height: 25px; padding: 0px; }
.editor-button img { vertical-align: middle; text-align: center; }

/* ========================================================= */
/*  DESKTOP                                                  */
/* ========================================================= */

div.wc-modal, div.wc-modal-none, div.wc-highlighted, div.wc-highlighted-none { background-color: white; }
.desktop-tabpanel { margin: 0; padding: 0; border: 0; position: absolute; }
.menu-search { background-color: #F1F5F9; }

/* ========================================================= */
/*  AD WINDOW                                                */
/* ========================================================= */

.adform-content-none { overflow: auto; position: absolute; width: 100%; margin: 3px; }

.adwindow-status {
    background-color: #F1F5F9;
    color: #1E293B;
    height: 25px;
    padding-top: 0;
    padding-bottom: 0;
    border-top: 1px solid #E2E8F0;
}

.adwindow-nav { width: 110px; }
.adwindow-left-nav { border-right: 1px solid #E2E8F0; border-left: none; }
.adwindow-right-nav { border-left: 1px solid #E2E8F0; border-right: none; }

.adwindow-nav-content {
    background-color: #F1F5F9;
    height: 100%;
    width: 110px;
    box-shadow: inset 0 0 6px rgba(0,60,135,0.04);
}

.adwindow-toolbar { vertical-align: middle; border: 0px; height: 40px; }

.adwindow-navbtn-dis, .adwindow-navbtn-sel, .adwindow-navbtn-uns {
    border: 0px; margin-top: 3px; padding-top: 2px; padding-bottom: 2px;
    transition: all 0.15s ease;
}

.adwindow-navbtn-sel {
    background-color: #00784B;
    font-weight: 600;
    color: #FFFFFF;
    cursor: pointer;
    border-top: none;
    border-bottom: none;
}

.adwindow-left-navbtn-sel {
    border-left: none; border-right: none; text-align: right;
    border-radius: 4px 0 0 4px;
    box-shadow: 0 2px 6px rgba(0, 120, 75, 0.2);
    background: linear-gradient(90deg, #00784B 0%, #005C39 100%) !important;
    background-image: none;
}

.adwindow-right-navbtn-sel {
    border-right: none; border-left: none; text-align: left;
    border-radius: 0 4px 4px 0;
    box-shadow: 0 2px 6px rgba(0, 120, 75, 0.2);
    background: linear-gradient(270deg, #00784B 0%, #005C39 100%) !important;
    background-image: none;
}

.adwindow-navbtn-uns {
    background-color: #E2E8F0;
    font-weight: normal;
    color: #1E293B;
    cursor: pointer;
}

.adwindow-navbtn-dis { background-color: #CBD5E1; }

.adwindow-navbtn-uns, .adwindow-navbtn-dis { border-top: none; border-bottom: none; }

.adwindow-left-navbtn-uns, .adwindow-left-navbtn-dis {
    background-image: none; background-color: #E2E8F0;
    border-left: none; border-right: none; text-align: right;
    border-radius: 4px 0 0 4px; box-shadow: 0 1px 2px rgba(0,0,0,0.06);
}

.adwindow-right-navbtn-uns, .adwindow-right-navbtn-dis {
    background-image: none; background-color: #E2E8F0;
    border-right: none; border-left: none; text-align: left;
    border-radius: 0 4px 4px 0; box-shadow: 0 1px 2px rgba(0,0,0,0.06);
}

/* ========================================================= */
/*  AD TAB                                                   */
/* ========================================================= */

.adtab-body { position: absolute; margin: 0; padding: 0; width: 100%; height: 100%; border: none; }

.adtab-content {
    margin: 0; padding: 0; border: none; overflow: auto;
    width: 100%; height: 100%; position: absolute; background-color: #F8FAFC;
}

.adtab-grid-panel { position: absolute; overflow: hidden; width: 100%; height: 100%; }
.adtab-grid { width: 100%; position: absolute; }

.adtab-tabpanels {
    width: 80%;
    border-top: 1px solid #E2E8F0;
    border-bottom: 1px solid #E2E8F0;
    border-left: 3px solid #F0D200;
    border-right: 1px solid #E2E8F0;
}

/* ========================================================= */
/*  STATUS BAR                                               */
/* ========================================================= */

.status { width: 100%; height: 25px; padding-top: 0; padding-bottom: 0; }

.status-db {
    padding: 0 5px; cursor: pointer; width: 100%; height: 100%; margin: 0;
    border-left: solid 1px #E2E8F0; color: #1E293B; font-weight: 600;
}

.status-info { padding-right: 10px; border-left: solid 1px #E2E8F0; color: #1E293B; font-weight: 600; }
.status-border { border: solid 1px #E2E8F0; }

/* ========================================================= */
/*  MESSAGES — Modern card style with colored left border    */
/* ========================================================= */

.message-error { background-color: #FEF2F2; border-left: 4px solid #DC2626; border-radius: 4px; }
.message-error-text { color: #991B1B; font-weight: 600; margin-top: 10px; }

.message-info { background-color: #EFF6FF; border-left: 4px solid #003C87; border-radius: 4px; }
.message-info-text { color: #003C87; font-weight: 600; }

.message-warning { background-color: #FFFBEB; border-left: 4px solid #F0D200; border-radius: 4px; }
.message-warning-text { color: #78350F; font-weight: 600; }

.form-button { width: 99%; }

/* ========================================================= */
/*  COMBOBOX / DISABLED                                      */
/* ========================================================= */

.z-combobox-disd { color: #475569 !important; cursor: default !important; opacity: 1; }
.z-combobox-disd * { color: #475569 !important; cursor: default !important; }
.z-combobox-text-disd { background-color: #F1F5F9 !important; }
.z-button-disd { color: #475569; cursor: default; opacity: .6; }

/* ========================================================= */
/*  FOCUS                                                    */
/* ========================================================= */

input:focus, textarea:focus, .z-combobox-inp:focus, z-datebox-inp:focus {
    border: 1px solid #003C87;
    box-shadow: 0 0 0 2px rgba(0, 60, 135, 0.15);
    outline: none;
}

.mandatory-decorator-text { text-decoration: none; vertical-align: top; color: #DC2626; font-weight: 600; font-size: xx-small; }

/* ========================================================= */
/*  MENU TREE                                                */
/* ========================================================= */

div.z-tree-body td.menu-tree-cell { cursor: pointer; padding: 0 2px; font-size: ; font-weight: normal; overflow: visible; }
div.menu-tree-cell-cnt { border: 0; margin: 0; padding: 0; font-family: ; font-size: ; font-weight: normal; white-space: nowrap; }
td.menu-tree-cell-disd * { color: #94A3B8 !important; cursor: default !important; }
td.menu-tree-cell-disd a:visited, td.menu-tree-cell-disd a:hover { text-decoration: none !important; cursor: default !important; border-color: #E2E8F0 !important; }
div.z-dottree-body td.menu-tree-cell, div.z-filetree-body td.menu-tree-cell,
div.z-vfiletree-body td.menu-tree-cell { cursor: pointer; padding: 0 2px; font-size: ; font-weight: normal; overflow: visible; }

tr.z-row td.z-row-inner { background-color: #FAFBFC; margin-left: 4px; margin-right: 4px; border-bottom: 0px; border-left: 0; border-right: 0px; }

.docStatus td:first-child { width: 60px; text-align: right; }
.docStatus-sep { min-width: 10px !important; }
.docStatus td { text-align: left; }

/* ========================================================= */
/*  CHECKBOXES — Green when checked                          */
/* ========================================================= */

input[type="checkbox"] {
    border: 2px solid #CBD5E1; box-shadow: none; padding: 9px;
    display: inline-block; position: relative; appearance: none;
    -webkit-appearance: initial !important; border-radius: 3px; transition: all 0.15s ease;
}
input[type="checkbox"]:active, input[type="checkbox"]:checked:active { box-shadow: 0 1px 2px rgba(0,0,0,0.05); }
input[type="checkbox"]:checked { background-color: #00784B; border: 2px solid #00784B; box-shadow: none; color: #FFFFFF; background: url('../images/zul/input/check.png'); }
input[type="checkbox"]:disabled { border: 2px solid #E2E8F0 !important; background: #F8FAFC; }
input[type="checkbox"]:checked:after { background: url('../images/zul/input/check.png'); font-size: 14px; position: absolute; top: 0px; left: 3px; color: #FFFFFF; }
.z-checkbox-cnt { position: relative; bottom: 8px; }

/* Tab close */
.z-tab-close { background-image: url(../images/zul/tab/tab-close.png); background-repeat: no-repeat; cursor: pointer; display: block; width: 12px; height: 22px; position: absolute; right: 1px; top: 1px; z-index: 15; opacity: 0.6; transition: opacity 0.15s ease; }
.z-tab-close:hover { opacity: 1; }

/* Admission form */
.admission-form select { background-color: #ffffff !important; border: 1px solid #CBD5E1 !important; border-radius: 3px; height: 28px; font-size: 11px; }
.admission-form input { background-color: #ffffff !important; border: 1px solid #CBD5E1 !important; border-radius: 3px; font-size: 11px; }
.admission-form fieldset { border: 1px solid #CBD5E1 !important; border-radius: 4px; }
.admission-form .z-border-layout { background-color: #F8FAFC !important; }

.z-overflow-hidden { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
