/* ============================================================
   CONSOLIDATED STYLESHEET
   Sources: reportStyle.css, settingStyle.css, styles.css, styles9.css
   ============================================================ */


/* ============================================================
   1. CSS CUSTOM PROPERTIES (COLOR TOKENS)
   ============================================================ */
:root {
    --white: 255, 255, 255;
    --light-grey: 240, 240, 240;
    --mid-grey: 206, 209, 216;
    --dark-grey: 73, 73, 73;
    --alt-grey: 247, 247, 247;
    --black: 0, 0, 0;
    --light-blue: 166, 199, 224;
    --mid-blue: 0, 95, 167;
    --vivid-blue: 3, 113, 197;
    --dark-blue: 6, 43, 105;
    --green: 106, 189, 2;
    --dark-green: 90, 162, 0;
    --accent: 155, 166, 187;
    --alt-row: 241, 243, 247;
    --row-hover: 225, 238, 248;
    --orange: 232, 119, 34;
    --dark-orange: 230, 138, 0;
    --red: 204, 2, 2;
    --error-border: 211, 61, 42;
    --shade: 10, 30, 50;
}


/* ============================================================
   2. FONT FACES (Inter — self-hosted via gstatic)
   ============================================================ */

/* Weight 400 */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; font-display: swap; src: url(gstatic/fonts/Inter/v13/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2JL7SUc.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; font-display: swap; src: url(gstatic/fonts/Inter/v13/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa0ZL7SUc.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; font-display: swap; src: url(gstatic/fonts/Inter/v13/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2ZL7SUc.woff2) format('woff2'); unicode-range: U+1F00-1FFF; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; font-display: swap; src: url(gstatic/fonts/Inter/v13/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1pL7SUc.woff2) format('woff2'); unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; font-display: swap; src: url(gstatic/fonts/Inter/v13/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2pL7SUc.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; font-display: swap; src: url(gstatic/fonts/Inter/v13/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa25L7SUc.woff2) format('woff2'); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; font-display: swap; src: url(gstatic/fonts/Inter/v13/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1ZL7.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* Weight 500 */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 500; font-display: swap; src: url(gstatic/fonts/Inter/v13/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2JL7SUc.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 500; font-display: swap; src: url(gstatic/fonts/Inter/v13/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa0ZL7SUc.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 500; font-display: swap; src: url(gstatic/fonts/Inter/v13/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2ZL7SUc.woff2) format('woff2'); unicode-range: U+1F00-1FFF; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 500; font-display: swap; src: url(gstatic/fonts/Inter/v13/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1pL7SUc.woff2) format('woff2'); unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 500; font-display: swap; src: url(gstatic/fonts/Inter/v13/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2pL7SUc.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 500; font-display: swap; src: url(gstatic/fonts/Inter/v13/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa25L7SUc.woff2) format('woff2'); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 500; font-display: swap; src: url(gstatic/fonts/Inter/v13/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1ZL7.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* Weight 600 */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; font-display: swap; src: url(gstatic/fonts/Inter/v13/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2JL7SUc.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; font-display: swap; src: url(gstatic/fonts/Inter/v13/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa0ZL7SUc.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; font-display: swap; src: url(gstatic/fonts/Inter/v13/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2ZL7SUc.woff2) format('woff2'); unicode-range: U+1F00-1FFF; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; font-display: swap; src: url(gstatic/fonts/Inter/v13/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1pL7SUc.woff2) format('woff2'); unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; font-display: swap; src: url(gstatic/fonts/Inter/v13/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2pL7SUc.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; font-display: swap; src: url(gstatic/fonts/Inter/v13/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa25L7SUc.woff2) format('woff2'); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; font-display: swap; src: url(gstatic/fonts/Inter/v13/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1ZL7.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* Weight 700 */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 700; font-display: swap; src: url(gstatic/fonts/Inter/v13/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2JL7SUc.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 700; font-display: swap; src: url(gstatic/fonts/Inter/v13/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa0ZL7SUc.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 700; font-display: swap; src: url(gstatic/fonts/Inter/v13/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2ZL7SUc.woff2) format('woff2'); unicode-range: U+1F00-1FFF; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 700; font-display: swap; src: url(gstatic/fonts/Inter/v13/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1pL7SUc.woff2) format('woff2'); unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 700; font-display: swap; src: url(gstatic/fonts/Inter/v13/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2pL7SUc.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 700; font-display: swap; src: url(gstatic/fonts/Inter/v13/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa25L7SUc.woff2) format('woff2'); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 700; font-display: swap; src: url(gstatic/fonts/Inter/v13/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1ZL7.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }


/* ============================================================
   3. RESET / BASE
   ============================================================ */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    font: 62.5% 'Inter', sans-serif;
    font-weight: 400;
    color: rgb(var(--dark-grey));
    -webkit-text-size-adjust: 100%;
    height: 100%;
}

body {
    padding: 0;
    margin: 0;
    background: rgb(var(--light-grey));
    height: 100%;
}

a {
    cursor: pointer;
    color: rgb(var(--dark-blue));
}

a, input[type="submit"], input[type="button"], button, nav .fi {
    text-decoration: none;
    outline: none;
}

a:hover, a.active {
    color: rgb(var(--orange));
}


/* ============================================================
   4. TYPOGRAPHY
   ============================================================ */
h1, h2, h3, h4, h5 {
    font-weight: 600;
    line-height: 1.20em;
    color: rgb(var(--dark-blue));
}

h1 {
    font-size: 2rem;
}

h1 > span.fi {
    color: inherit;
    vertical-align: middle;
    font-size: 1.20em;
    margin-right: 1.3%;
}

h2 {
    font-size: 1.80rem;
    font-weight: 400;
}

h3 {
    font-size: 1.60rem;
    font-weight: 400;
    color: rgb(var(--vivid-blue));
}

h3 a {
    float: right;
    font-size: 1.20rem;
}

h3 > img {
    width: 1.80rem;
    height: 1.80rem;
    filter: invert(31%) sepia(56%) saturate(4742%) hue-rotate(190deg) brightness(89%) contrast(98%);
    vertical-align: middle;
    margin-right: 0.40rem;
}

/* Placeholder */
::-webkit-input-placeholder { font: 1.20rem/2.40rem 'Inter', sans-serif; color: #A3A3A3; }
:-moz-placeholder             { font: 1.20rem/2.40rem 'Inter', sans-serif; color: #A3A3A3; opacity: 1; filter: alpha(opacity=100); }
::-moz-placeholder            { font: 1.20rem/2.40rem 'Inter', sans-serif; color: #A3A3A3; opacity: 1; filter: alpha(opacity=100); }
:-ms-input-placeholder        { font: 1.20rem/2.40rem 'Inter', sans-serif; color: #A3A3A3 !important; }


/* ============================================================
   5. PAGE STRUCTURE
   ============================================================ */

/* --- Layout wrapper --- */
#rft_content-wrapper {
    width: 100%;
    height: 100%;
    font-size: 1.20rem;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
}

/* Login body override */
body.rft_login {
    background: #031636 url("../images/bg-login.jpg") bottom center no-repeat;
    background-size: 2560px auto;
}

body.rft_login #rft_content-wrapper {
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    padding: 8rem 8rem 4rem 8rem;
    height: 100%;
}

/* --- Header --- */
header {
    background: rgb(var(--dark-blue));
    font-size: 1.10rem;
    height: 4.80rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 0 0 1.60rem;
    color: rgb(var(--accent));
}

header img {
    height: 1.60rem;
    width: auto;
    filter: invert(100%) sepia(11%) saturate(188%) hue-rotate(251deg) brightness(113%) contrast(88%);
}

header nav {
    padding: 0 0.20rem 0 0;
    width: auto;
    background: transparent;
    flex-direction: row;
    justify-content: flex-start;
}

header nav ul { flex-direction: row; }

header nav a,
header nav a .fi { color: rgb(var(--accent)); }

header nav ul li { margin: 0 0.20rem; }

header nav ul li:last-of-type a {
    display: inline-block;
    padding-right: 1rem;
    border-radius: 0.40rem;
}

header nav ul li:last-of-type .fi {
    vertical-align: middle;
    padding-right: 0.40rem;
}

header nav ul li:last-of-type a:hover { color: rgb(var(--white)); }

header nav ul li:last-of-type a:hover .fi {
    background: none;
    color: rgb(var(--white));
}

/* Legacy header2 tag (float-right secondary header) */
header2 {
    background: rgb(var(--mid-blue));
    font-size: 1.10rem;
    height: 4.80rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 0 0 1.60rem;
    color: rgb(var(--accent));
    float: right;
}

/* --- Navigation --- */
nav {
    padding-top: 0.10rem;
    width: 4.60rem;
    background: rgb(var(--mid-blue));
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    transition: all 0.20s ease;
}

nav.opened {
    width: 24.0rem;
    flex-shrink: 0;
}

nav ul {
    list-style-type: none;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

nav > ul > li {
    height: 3.80rem;
    margin: 0.20rem 0 0.20rem 0.40rem;
    position: relative;
}

nav .fi {
    font-size: 1.80rem;
    height: 3.80rem !important;
    padding: 1rem;
    display: inline-block;
    border-radius: 0.80rem;
}

nav .fi.active { border-radius: 0.80rem 0 0 0.80rem; }

nav a .fi { color: rgb(var(--light-blue)); }

nav a .fi:hover,
nav a .fi.active {
    color: rgb(var(--white));
    background: rgb(var(--dark-blue));
}

.nav-pin { z-index: 0; }

.rft_nav-button {}

.rft_nav-home {
    width: 95%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

.rft_nav-home .pinned {
    transform: rotate(-45deg);
    color: rgb(var(--orange));
}

.rft_nav-submenu {
    position: absolute;
    width: 19rem;
    display: flex;
    flex-direction: column;
    font-size: 1.30rem;
    line-height: 2.40rem;
    top: 0rem;
    left: 3.8rem;
    background: rgb(var(--dark-blue));
    padding: 0.2rem 1rem;
    border-radius: 0 0.8rem 0.8rem 0.8rem;
    color: rgb(var(--orange));
    white-space: nowrap;
    visibility: hidden;
    transition: none !important;
}

.rft_nav-submenu ul { list-style-type: none; width: 100%; }
.rft_nav-submenu ul li { width: 100%; }

.rft_nav-submenu a {
    color: rgb(var(--white));
    width: 100%;
    padding: 0 0.80rem;
    border-radius: 0.40rem;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    transition: background-color 0.18s;
}

.rft_nav-submenu a:hover { background: rgb(var(--mid-blue)); }

.rft_nav-submenu .fi {
    color: rgb(var(--white));
    font-size: 1rem;
    line-height: 1rem;
    height: auto !important;
    border-radius: 0;
    padding: 0;
}

.rft_nav-submenu a .fi { display: none; }

.rft_nav-submenu a.opened { color: rgb(var(--orange)); }

.rft_nav-submenu a.opened .fi {
    transform: rotate(90deg);
    transform-origin: right;
    padding: 0;
    background: none;
    margin: 0.80rem 0.40rem 0 0;
    color: rgb(var(--orange));
}

.rft_nav-submenu a .fi:hover { background: none; }

.fi-rs-thumbtack { font-size: 1.6rem !important; }

.rft_nav-level3 {
    margin-left: 1.60rem;
    visibility: hidden;
    height: 0;
}

.rft_nav-level3 a { transition: none; }

.rft_nav-level3.opened {
    visibility: visible;
    height: auto;
}

/* --- Main --- */
main {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: fit-content;
    min-height: 100vh;
}

#rft_main_basic {
    padding: 1.20rem;
    flex-basis: 100%;
}

#rft_main {
    flex-basis: 100%;
    width: 100%;
    padding: 1.40rem 2.40rem 0 1.20rem;
}

#rft_content { padding: 0; }

.rft_main { opacity: 0; }

/* --- Footer --- */
footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 0.8rem 1.0rem 0.4rem 7.2rem;
    height: 3.6rem;
    font-size: 1.10rem;
}

footer img {
    filter: invert(11%) sepia(33%) saturate(5795%) hue-rotate(212deg) brightness(101%) contrast(99%);
    height: 2rem;
    width: auto;
    margin-right: 0.60rem;
}

/* --- Breadcrumbs --- */
#rft_breadcrumbs { margin-bottom: 0.40rem; }

#rft_breadcrumbs ul li { text-transform: uppercase; }

#rft_breadcrumbs ul {
    list-style-type: none;
    display: flex;
    flex-direction: row;
    column-gap: 0.40rem;
}

#rft_breadcrumbs ul li::after {
    font-family: uicons-regular-straight !important;
    content: "\f130";
    font-style: normal;
    font-weight: normal !important;
    font-variant: normal;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    vertical-align: middle;
}

#rft_breadcrumbs ul li:last-of-type {
    font-weight: 700;
    color: rgb(var(--dark-blue));
}

#rft_breadcrumbs ul li:last-of-type::after { content: ""; }

/* --- Utility / span helpers --- */
.rft_span-all { grid-column: 1 / -1; }

.rft_span-all-wrapper {
    display: flex;
    justify-content: space-between;
}

.button-box {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: fit-content;
    margin-left: auto;
    gap: 0.5rem;
    padding: 0.8rem;
}


/* ============================================================
   6. TABS & PAGE TITLE BAR
   ============================================================ */
.rft_tabs {
    width: 100%;
    display: flex;
    padding: 0.80rem;
}

.rft_tabs-container {
    border-bottom: 0.10rem solid rgb(var(--mid-grey));
    margin-bottom: 1.60rem;
    display: flex;
}

.rft_tabs-container ul {
    list-style-type: none;
    display: flex;
    flex-direction: row;
    column-gap: 4.80rem;
}

.rft_tabs-container ul li a {
    display: inline-block;
    padding: 0 0 0.40rem 0;
    border-bottom: 0.30rem solid transparent;
    transition: background-color 0.18s;
}

.rft_tabs-container ul li a:hover {
    color: rgb(var(--dark-blue));
    border-color: rgb(var(--dark-blue));
}

.rft_tabs-container ul li a .fi {
    font-size: 1.60rem;
    line-height: 1em;
    vertical-align: middle;
    margin-right: 0.20rem;
}

.rft_tabs-container ul li a.active {
    font-weight: 700;
    color: rgb(var(--dark-blue));
    border-color: rgb(var(--dark-blue));
}

@media only screen and (max-width: 1600px) {
    .rft_tab-header {
        flex-direction: column;
        align-items: flex-start;
        grid-row-gap: 1.60rem;
    }
}

.rft_page-title-bar {
    padding: 0 0.4rem 0 0;
    background-color: rgb(var(--light-grey));
    align-items: center;
    margin: 0 0 0.8rem 0;
    display: flex !important;
    flex-direction: row;
    width: 100%;
    justify-content: space-between;
}

.rft_page-title-bar h1 {
    white-space: nowrap;
    padding: 0 3.2rem 0 0.4rem;
}

/* Modal drag bar (uses same visual pattern as page-title-bar) */
#rft_page-title-bar {
    color: white;
    font-size: large;
    font-weight: bold;
    margin: 1.6rem;
    display: flex !important;
    flex-direction: row;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
}

.rft_page-title-bar-fields {
    color: unset;
    font-size: unset;
    font-weight: unset;
}

/* --- Tab toolbar --- */
.rft_tab-toolbar-wrapper-wrapper {
    display: flex;
    flex-direction: row;
    width: 100%;
}

.rft_tab-toolbar-wrapper {
    float: right;
    display: flex;
    align-content: flex-end;
    flex-direction: row;
    column-gap: 0.80rem;
    height: 3.20rem;
    align-items: center;
    padding-right: 1.6rem;
}

.rft_tab-toolbar {
    position: sticky;
    right: 0;
    float: right;
    align-items: center;
    display: flex;
    flex-direction: row;
    background: rgb(var(--alt-grey));
    border: 0.10rem solid rgb(var(--mid-grey));
    border-radius: 0.40rem;
}

.rft_tab-toolbar .userlabel {
    color: rgb(var(--vivid-blue));
    font-weight: bold;
}

.rft_tab-toolbar-group {
    border-right: 0.10rem solid rgb(var(--mid-grey));
    display: flex;
    flex-direction: row;
    column-gap: 0.20rem;
    height: 2.40rem;
    line-height: 2.0rem;
    font-size: 1.20rem;
}

.rft_tab-search input[type="text"] {
    font-size: 1.10rem;
    width: 18rem;
    margin: 0;
    height: 2.40rem;
}

.rft_header-toolbar { padding: 0 1rem 0 0; }

.rft_header-toolbar ul {
    list-style-type: none;
    display: flex;
    flex-direction: row;
}

.rft_header-toolbar ul li {
    align-items: center;
    padding: 0.02rem;
}

.rft_header-toolbar ul li a {
    vertical-align: middle;
    font-size: 1.60rem;
    line-height: 1.80rem;
    color: rgb(var(--accent));
    padding: 0.40rem;
    transition: background-color 0.18s;
}

.rft_header-toolbar ul li a:hover { color: rgb(var(--white)); }

.rft_tab-toolbar ul {
    list-style-type: none;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.rft_tab-toolbar ul.rft_tab-toolbar-group {
    display: flex;
}

.rft_tab-toolbar ul.rft_tab-toolbar-group li {
    align-items: center;
    white-space: nowrap;
    padding: 0 0.4rem;
    display: flex;
    align-content: center;
    vertical-align: central;
}

.rft_tab-toolbar ul.rft_tab-toolbar-group:last-of-type { border-right: none; }

.rft_tab-toolbar ul.rft_tab-toolbar-group li:first-of-type { margin-left: 0.40rem; }
.rft_tab-toolbar ul.rft_tab-toolbar-group li:last-of-type  { margin-right: 0.40rem; }

.rft_tab-toolbar ul.rft_tab-toolbar-group li.rft_tab-info {
    align-content: center;
    margin: 0 0.80rem;
    display: inline-block;
}

.rft_tab-toolbar ul.rft_tab-toolbar-group li.rft_tab-info .fi {
    margin-right: 0.20rem;
    line-height: 1.40rem;
}

.rft_tab-toolbar ul li a {
    height: auto;
    margin: 0.1rem;
    display: inline-block;
    padding: 0 0.30rem;
    border-radius: 0.40rem;
    border: 0.10rem solid rgb(var(--alt-grey));
}

.rft_tab-toolbar ul li .fi {
    vertical-align: middle;
    line-height: 2.0rem;
}

.rft_tab-toolbar ul li.rft_tab-search .fi-rs-search {
    font-size: 1.20rem;
    background-color: rgb(var(--vivid-blue));
    color: #FFF;
    width: 3.20rem;
    height: 2.40rem;
    line-height: 2.60rem;
    margin-top: -0.1rem;
    display: inline-block;
    text-align: center;
    border-radius: 0.40rem;
    cursor: pointer;
    border: 0.10rem solid rgb(var(--vivid-blue));
    transition: all 0.20s ease;
}

.rft_tab-toolbar ul li.rft_tab-search .fi-rs-search:hover {
    background: rgb(var(--dark-blue));
    color: rgb(var(--white));
    border-color: rgb(var(--dark-blue));
}

.rft_tab-toolbar ul li.rft_tab-adv-search img {
    width: 1.60rem;
    height: 1.60rem;
    filter: invert(31%) sepia(56%) saturate(4742%) hue-rotate(190deg) brightness(89%) contrast(98%);
    display: block;
    margin-top: 0.30rem;
}

.rft_tab-toolbar ul li.rft_tab-adv-search a:hover img { filter: invert(100); }

.rft_tab-toolbar ul li .rft_link-addnew {
    color: rgb(var(--dark-green));
    transition: background-color 0.18s;
    font-size: unset !important;
}

.rft_tab-toolbar ul li .rft_link-addnew:hover {
    background: rgb(var(--dark-green));
    color: rgb(var(--white));
    border-color: rgb(var(--black));
}

.rft_tab-toolbar ul li a.rft_link-duplicate {
    color: rgb(var(--orange));
    transition: background-color 0.18s;
}

.rft_tab-toolbar ul li a.rft_link-duplicate:hover {
    background-color: rgb(var(--orange));
    color: rgb(var(--white));
    border-color: rgb(var(--black));
}

.rft_tab-toolbar ul li a.rft_link-delete {
    color: rgb(var(--red));
    transition: background-color 0.18s, border-color 0.25s;
}

.rft_tab-toolbar ul li a.rft_link-delete:hover {
    background-color: rgb(var(--red));
    color: rgb(var(--white));
    border-color: rgb(var(--black));
}

.rft_tab-toolbar ul li a.rft_link-delete.rft-disabled-by-permissions:hover {
    background-color: unset !important;
    color: unset !important;
}

.rft_tab-toolbar ul li a.rft_link-delete.aspNetDisabled {
    color: rgb(var(--dark-grey));
    background-color: unset;
}

.rft_tab-toolbar ul li a.rft_link-delete.aspNetDisabled:hover {
    background-color: unset;
    color: rgb(var(--mid-grey));
    border-color: unset;
}

.rft_tab-header {
    float: left;
    padding-bottom: 0.80rem;
    margin-bottom: 0;
    font-size: 1.10rem;
    height: 3.2rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: rgb(var(--accent));
}


/* ============================================================
   7. ADVANCED SEARCH
   ============================================================ */
.asset-filters-top-row { margin-top: -2.33rem; }

.rft_tab-advanced-search {
    overflow: hidden;
    padding: 0;
    border-radius: 0.40rem;
    margin-bottom: 0;
    background-color: rgb(var(--light-grey));
}

.rft_tab-advanced-search * { transition: all 0.6s ease; }

.rtf_adv-search-header {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

.rtf_adv-search-header a {
    text-transform: uppercase;
    font-size: 0.90rem;
    font-weight: 600;
    line-height: 1.40rem;
}

.rtf_adv-search-header a .fi {
    font-size: 1.40rem;
    vertical-align: middle;
}

.rft_adv-search-wrapper {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    grid-column-gap: 0.80rem;
    margin-top: 1.60rem;
}

/* Hide the Bulk Update tab when disabled */
#__tab_ContentPlaceHolder1_tcFields_tpBulkUpdate.ajax__tab_disabled { display: none; }

/* Advanced search filter bar */
#assetFilters {
    display: flex;
    gap: 10px;
}

.assetFilters {
    align-items: end;
    padding: 0 0 0.8rem 1.8rem;
    display: flex;
    flex-wrap: wrap;
    margin-right: 10px;
    background: rgb(var(--light-grey));
}

#assetFilters .cell label {
    display: inline-block;
    margin-right: 10px;
}

#assetFilters .cell .asp-radio-list label {
    display: inline-block;
    margin-right: 5px;
}

.assetFilters-cell {
    display: table-cell;
    vertical-align: middle;
    text-align: left;
    box-sizing: border-box;
    padding: 0 1.4rem 0 0;
    min-width: 8.40rem;
}

.adv-assetFilters-cell {
    margin-top: 1rem;
    display: table-cell;
    vertical-align: middle;
    text-align: left;
    box-sizing: border-box;
    padding: 0 1.4rem 0 0;
    min-width: 8.40rem;
}

.adhoc-adv-search-label { margin: 1rem 0 -2rem 1rem; }

.adv-search-panel { min-width: 70rem; }

.adhoc-assetFilters-cell {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 10px;
}

.rft-saved-search-control-box {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
}

.assetFilters-advanced-controls { display: flex; }

.rft_advanced-search-saved-search-dropdown { padding: 0; }

/* padding-left tuned to 339px (was 345px) so the gap to #SaveQueryButton lands
   at 16px to match the other adv-search button gaps — see the -6px note by
   .adv-search-save-button-area below. */

.rft_advanced-search-buttons {
    padding: 26px 72px 45px 353px;
}

.rft_no-width         { width: unset; }
.rft_align-items-start { align-items: start; }

.adv-search-load-container  { width: unset; }
.adv-search-save-container  { width: unset; }

.adv-search-save-container .rft_button          { background-color: rgb(var(--green)); }
.adv-search-save-container .rft_button:hover    { background-color: rgb(var(--dark-green)); }

.adv-search-btn {
    width: 190px;
    left: 700px;
    top: 13px;
}

/* Vendor eq.view.min.css's .eqv-button{width:100%} ties on specificity and
   loads after this file, so it wins the cascade and stretches #LoadQueryButton
   to fill #eqv-content. Scope a stronger selector instead of touching .eqv-button. */
.adv-search-load-container .adv-search-btn { width: 190px; }

/* left nudged from 901px to 903px (+2px) so the Load→Save gap goes from 14px
   to 16px, matching the Save→Edit gap below. */
.adv-search-save-button-area {
    left: 903px;
    top: 13px;
    width: 125px;
}

/* styles9.css restore: LoadQueryButton / SaveQueryButton / Edit Saved Searches button */
.relative-container { position: relative; }
.absolute-element   { position: absolute; }
.rft_button-duplicate       { cursor: pointer; background: rgb(var(--orange)); border: none; color: #FFF; }
.rft_button-duplicate:hover { background: #FD6905; }

/* Vendor eq.view.min.css's .eqv-button (Segoe UI 15px, 3px 10px padding, 1px
   solid #ae67df border, #4f4f4f text) loads after this file and ties on
   specificity with .rft_button, so it wins the cascade on #LoadQueryButton /
   #SaveQueryButton. Restore the shared .rft_button look here with ID
   selectors, which always win on specificity regardless of load order. */
#LoadQueryButton,
#SaveQueryButton {
    font-family: 'Inter', sans-serif;
    font-size: 1.30rem;
    padding: 0.60em 1.2em;
    border: none;
    border-radius: 0.40rem;
    color: rgb(var(--white));
}

/* Same specificity tie as above: vendor's .eqv-button:hover (#ae67df, purple)
   loads after this file and wins the cascade on #LoadQueryButton since no
   higher-specificity hover rule protects it here (unlike #SaveQueryButton,
   which .adv-search-save-container .rft_button:hover already outranks).
   Match the Clear Filters button's (.rft_button:hover) navy instead. */
#LoadQueryButton:hover {
    background-color: rgb(var(--dark-blue));
}

.rft_tab-advanced-search .locationSelectorClass {
    display: flex;
    gap: 1rem;
}

.rft_tab-advanced-search #ContentPlaceHolder1_LocationSelector_lblParentLocation {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

.rft_tab-advanced-search #ContentPlaceHolder1_LocationSelector_lblLocation {
    margin-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Search panel expand/collapse */
.assets-search-expand-button {
    height: 8.45rem;
    padding: 2.88rem;
    display: flex;
    flex-wrap: nowrap;
    font-size: 2.4rem !important;
    transition: all 0.6s ease;
}

.tabbed-asset-field-search-expand-button {
    position: relative;
    top: 2rem;
}

.asset-search-panel {
    height: fit-content;
    max-height: 12.0rem;
    transition: all 0.6s ease;
}

.asset-search-panel-expanded-state  { max-height: 50rem; }
.asset-search-panel-collapsed-state {}
.asset-search-panel-expanded        {}
.asset-search-panel-contracted      {}
.advancedFieldsSection              {}


/* ============================================================
   8. FORM ELEMENTS
   ============================================================ */
label {
    display: block;
    white-space: nowrap;
    color: rgb(var(--dark-blue));
    font-weight: 600;
    padding: 0 0.8rem 0 0;
}

label a { float: right; }

label a .fi {
    font-size: 1.40rem;
    line-height: 1.40rem;
}

#ContentPlaceHolder1_divUseOptionalAssetLocationSearchMethod > span > label {
    display: unset;
    padding: 0 0 0 0.8rem;
}

/* Base inputs */
input[type="text"],
input[type="password"],
textarea,
select,
input[type="text"]:disabled,
select:disabled {
    font-family: 'Inter', sans-serif;
    background: rgb(var(--white));
    border-radius: 0.40rem;
    border: 0.10rem solid rgb(var(--mid-grey));
    font-size: 1.20rem;
    height: 3.20rem;
    color: rgb(var(--dark-grey));
    padding: 0 0.40em;
    margin: 0.40rem 0;
    min-width: 100%;
}

input[type="text"]:focus,
input[type="password"]:focus,
select:focus {
    outline-color: rgb(var(--vivid-blue));
    outline-style: double;
}

input[type="text"].required,
input[type="password"].required,
select.required {
    border-color: rgb(var(--mid-blue)) !important;
    border-width: 2px;
}

input[type="text"].required.aspNetDisabled,
input[type="password"].required.aspNetDisabled,
select.required.aspNetDisabled {
    background-color: rgb(var(--light-grey));
    color: rgb(var(--light-black));
    opacity: 1;
    border-color: rgb(var(--mid-grey)) !important;
}

/* Standard width input variant */
.input-standard {
    width: 400px;
    border-radius: 0.40rem;
    min-width: unset !important;
}

.input-standard.required {
    border-color: rgb(var(--mid-blue)) !important;
    border-width: 2px;
}

textarea.input-standard {
    min-height: 10em;
    resize: vertical;
}

/* Checkbox group */
.rft_checkbox-group {
    padding-top: 1rem;
    font-size: 1.40rem;
    display: grid;
    grid-template-columns: 16px 1fr;
    grid-row-gap: 1rem;
    grid-column-gap: 0.40rem;
    align-items: flex-start;
}

.rft_checkbox-group label { white-space: normal; }

.rft_checkbox-group input[type="checkbox"] {
    margin-top: 0.20rem;
    padding: 0 0 0.4rem;
}

/* Submit wrapper */
.rft_submit-wrapper {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    column-gap: 0.80rem;
    padding: 1.60rem 0 0 0;
}

/* Textarea base */
textarea {
    font: 400 14px 'Open Sans', Helvetica, Arial, sans-serif;
    font-size: 14px;
    background-color: #FFF;
    color: #333;
    border: 1px solid #999;
    padding: 0 0 0 5px;
    box-sizing: border-box;
    outline: none;
}

textarea:-moz-placeholder  { line-height: normal; }
textarea::-moz-placeholder { line-height: normal; }

/* Input label (display-only label styling) */
.input-label {
    background-color: #BBD1EE !important;
    border: none !important;
    display: block;
    padding: 2px 2px 2px 5px;
    width: 100%;
}

/* Inline rft_label-mimic */
.rft_label-mimic {
    display: block;
    white-space: nowrap;
    color: rgb(var(--dark-blue));
    font-weight: 600;
    padding: 0 0.8rem 0 0;
    font-size: 1.20rem;
}

/* File input button */
input[type="file"]::file-selector-button {
    font-family: 'Inter', sans-serif;
    background: rgb(var(--vivid-blue));
    border: 1px solid transparent;
    border-radius: 0.40rem;
    font-size: 1.30rem;
    padding: 0.60em 1.2em;
    color: rgb(var(--white));
    text-align: center;
    cursor: pointer;
    transition: background-color 0.18s;
}

input[type="file"]::file-selector-button:hover { background: rgb(var(--dark-blue)); }

.rft_upload-import-file-button {
    width: 8rem;
    height: 3rem;
    border-radius: 0.4rem;
}

/* Invalid state */
.invalid-input {
    border: 2px solid rgb(var(--red));
    background-color: #fff0f0;
}

/* Fieldset / legend */
fieldset {
    border: 3px solid #072256;
    border-radius: 10px;
    padding: 15px;
}

legend {
    color: #fff;
    font: 400 14px 'Open Sans', Helvetica, Arial, sans-serif;
    font-weight: bold;
    border-radius: 5px;
    padding: 2px 20px;
    background: #072256;
    text-transform: uppercase;
}

.fieldsetnew {
    border: 3px solid rgb(var(--orange));
    border-radius: 5px;
    padding: 15px;
}

.legendnew {
    color: #fff;
    font: 400 14px 'Open Sans', Helvetica, Arial, sans-serif;
    font-weight: bold;
    border-radius: 5px;
    padding: 2px 20px;
    background: rgb(var(--orange));
    text-transform: uppercase;
}

/* Radio button (custom block) */
.radio-button {
    list-style-type: none;
    padding: 0;
}

.radio-button li {
    float: left;
    margin: 0;
    width: 100px;
    height: 60px;
}

.radio-button label,
.radio-button input {
    display: block;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    font-size: large;
}

.radio-button input[type="radio"] {
    opacity: 0.01;
    z-index: 100;
}

.radio-button input[type="radio"]:checked + label,
.Checked + label {
    background-color: rgb(var(--vivid-blue));
    color: #FFF;
}

.radio-button label {
    background-color: #DDD;
    padding: 5px;
    cursor: pointer;
    z-index: 90;
}

.radio-button label:hover { background: rgb(var(--light-blue)); }

/* Inline checkbox helper */
.rft-checkbox {
    display: flex;
    align-items: center;
    gap: 5px;
}

.is-private-container {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin: 8px;
}

.private-chk-text {
    white-space: nowrap;
    color: rgb(var(--dark-grey));
    margin: 0 -0.3rem -1.1rem 1.8rem;
}


/* ============================================================
   9. BUTTONS
   ============================================================ */
.rft_menu-bar-element {
    margin: 0.1rem !important;
    height: 2.20rem !important;
    padding-top: unset !important;
    padding-left: 0.3em !important;
    text-align: center;
}

.rft_menu-bar-button {
    padding: 0 0.4rem;
    background: unset;
    font-family: 'Inter', sans-serif;
    border: none;
    border-radius: 0.4rem;
    margin: 0.10rem;
    height: 2.24rem;
    text-align: center;
    font-size: 1.30rem;
    cursor: pointer;
    color: rgb(var(--blue));
    transition: background-color 0.18s;
}

.rft_menu-bar-button:hover {
    color: white;
    background: rgb(var(--vivid-blue));
}

.rft_menu-bar-button.rft-disabled-menu-bar-button {
    cursor: default;
    color: rgb(var(--mid-grey));
}

.rft_menu-bar-button.rft-disabled-menu-bar-button:hover {
    color: rgb(var(--mid-grey));
    background: unset;
}

/* Primary button */
.rft_button,
.rft-button {
    font-family: 'Inter', sans-serif;
    background: rgb(var(--vivid-blue));
    border: 1px solid transparent;
    border-radius: 0.40rem;
    font-size: 1.30rem;
    padding: 0.60em 1.2em;
    color: rgb(var(--white));
    text-align: center;
    cursor: pointer;
    transition: background-color 0.18s;
}

.rft_button-small { font-size: 1.10rem; }

.rft_button:hover,
.rft-button:hover { background: rgb(var(--dark-blue)); }

.rft_button.submit {
    background: rgb(var(--green));
    transition: background-color 0.18s;
}

.rft_button.submit:hover { background: rgb(var(--dark-green)); }

/* White / outlined variant */
.rft_button-white {
    background-color: rgb(var(--white));
    color: rgb(var(--vivid-blue));
    border: none;
    transition: background-color 0.18s;
}

.rft_button-white:hover {
    background-color: rgb(var(--green));
    color: rgb(var(--white));
}

/* Cancel */
.rft_button-cancel {
    background-color: rgb(var(--light-grey));
    color: rgb(var(--dark-grey));
    border: 1px solid rgb(var(--dark-grey));
    cursor: pointer;
    transition: background-color 0.18s;
}

.rft_button-cancel:hover {
    background-color: rgb(var(--mid-grey));
    color: rgb(var(--black));
}

/* OK / green confirm */
.rft_button-ok,
.btnViewReportOk {
    font-family: 'Inter', sans-serif;
    background: rgb(var(--green));
    border: none;
    border-radius: 0.40rem;
    font-size: 1.30rem;
    padding: 0.60em 1.2em;
    color: #FFF;
    text-align: center;
    cursor: pointer;
    transition: background-color 0.18s;
}

.btnViewReportOk {
    position: fixed;
    bottom: 20px;
    right: 20px;
    padding: 10px;
}

.rft_button-ok:hover        { background: rgb(var(--dark-green)) !important; }
.btnViewReportOk:hover      { background: rgb(var(--dark-green)) !important; }

/* Orange / duplicate */
.rft_button-duplicate,
.rft_button-test-path {
    cursor: pointer;
    background: rgb(var(--orange));
    border: none;
    color: #FFF;
}

.rft_button-test-path { padding: 0.2rem; }
.rft_button-duplicate:hover { background: #FD6905; }

/* Save & close */
.rft_button-save_close {
    background: #3276B0;
    border: none;
    color: #FFF;
}

/* Custom orange hover */
.custom-orange:hover {
    background: rgb(var(--orange)) !important;
    cursor: pointer;
    transition: background-color 0.18s;
}

/* Excel export */
.rft_button-excel {
    cursor: pointer;
    padding-left: 3.6rem;
    background-image: url(../images/icon-excel.png);
    background-position: 10px 50%;
    background-repeat: no-repeat;
    transition: background-color 0.18s;
}

.rft_button-excel:hover {
    padding-left: 3.6rem;
    background-image: url(../images/icon-excel.png);
    background-position: 10px 50%;
    background-repeat: no-repeat;
}

/* Add new */
.rft_button-add_new {
    cursor: pointer;
    padding-left: 35px;
    padding-right: 13px;
    background-image: url(../images/Icons/plusIcon.png);
    background-position: 10px 50%;
    background-repeat: no-repeat;
    background-size: 17px 17px;
    transition: background-color 0.18s;
}

.rft_button-add_new:hover {
    background-image: url(../images/Icons/plusIcon.png);
    background-position: 10px 50%;
    background-repeat: no-repeat;
    background-size: 17px 17px;
    border: 1px solid rgb(var(--black));
    background-color: rgb(var(--light-blue));
    color: rgb(var(--vivid-blue));
    font-weight: 500;
}

/* Delete */
.rft_button-delete {
    cursor: pointer;
    padding-left: 35px;
    padding-right: 13px;
    background-image: url(../images/icons/deleteIcon.png);
    background-position: 10px 50%;
    background-repeat: no-repeat;
    background-size: 17px 17px;
    background-color: orange;
    color: white;
    transition: background-color 0.18s;
}

.rft_button-delete:hover {
    background-color: darkorange;
    background-image: url(../images/icons/deleteIcon.png);
    background-position: 10px 50%;
    background-repeat: no-repeat;
    background-size: 17px 17px;
    padding-right: 13px;
}

.table .row .cell .rft_button-delete { margin: 0.4rem 0; }

/* Link button */
.rft_link-button {
    font-size: 1.8rem;
    font-weight: 500;
    transition: background-color 0.18s;
}

.rft_link-button:hover { text-decoration: underline; }

/* Huge icon utility */
.rft_huge { font-size: xx-large !important; }


/* ============================================================
   10. TABLE UTILITIES (display:table layout)
   ============================================================ */
.table        { display: table; width: 100%; }
.table-header { display: table-row; }
.table-body   { display: table-row-group; }
.row          { display: table-row; }

.cell {
    padding-right: 0.2rem !important;
    display: table-cell;
    vertical-align: middle;
    text-align: left;
    box-sizing: border-box;
}

.cell-1-4  { width: 25%; }
.cell-1-3  { width: 33.33%; }
.cell-1-2  { width: 50%; }
.cell-full { width: 100%; }

.cell-center  { text-align: center !important; }
.cell-right   { text-align: right !important; margin: 0 0 0.5rem 0; }
.cell-top     { vertical-align: top !important; }
.cell-bottom  { vertical-align: bottom !important; }

.table .row .cell-1-3:nth-child(1) { padding-left: 0; padding-right: 7px; height: 60px; }
.table .row .cell-1-3:nth-child(2) { padding-left: 7px; padding-right: 7px; }
.table .row .cell-1-3:nth-child(3) { padding-left: 7px; padding-right: 0; }

table-section-title {
    font-size: 16px;
    line-height: 16px;
    font-weight: 700;
    margin: 0;
    text-transform: uppercase;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
}

/* rft-table (CSS grid variant) */
.rft-table {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}

.rft-row { display: contents; }

.rft-cell {
    display: flex;
    align-items: center;
    padding: 10px;
}

.rft-row .rft-cell {
    margin-bottom: 1.6rem;
    font-weight: unset !important;
}

.rft-row .rft-cell .warning  { color: blue; }
.rft-row .rft-cell .error    { color: rgb(var(--red)); }
.rft-row .rft-cell .extraasset { color: rgb(var(--orange)); }
.rft-row .rft-cell .good     { color: rgb(var(--dark-green)); }

.rft-cell-center {
    display: table-cell;
    vertical-align: middle !important;
    text-align: center !important;
}


/* ============================================================
   11. DATA GRID (legacy)
   ============================================================ */
.data-grid .table-header .cell {
    background-color: #868C9A;
    color: #FFF;
    text-transform: uppercase;
    font-weight: 600;
    border-left: 1px solid #ABB3C3;
}

.data-grid .cell:nth-child(1)               { border-left: none; }
.data-grid .cell input[type='checkbox']     { cursor: auto; }

.data-grid .table-header .cell a           { color: #FFF; text-decoration: underline; }
.data-grid .table-header .cell a:hover     { text-decoration: none; }

.data-grid [class^="icon-"],
.data-grid [class*=" icon-"],
.data-grid i {
    font-size: 18px;
    text-decoration: none;
    display: inline-block;
    margin: 0 4px;
    vertical-align: middle;
    transition: all 0.20s ease;
}

.data-grid .icon-delete { font-size: 12px; transition: background-color 0.18s; }

.data-grid .icon-edit:hover,
.data-grid .fa-check-square:hover,
.data-grid .fa-history:hover,
.data-grid .icon-location:hover,
.data-grid .icon-floppy:hover,
.data-grid .icon-down-circled:hover,
.data-grid .icon-up-circled:hover  { color: #57A200; }

.data-grid .icon-delete:hover                      { color: #D0011B; }
.data-grid .icon-history:hover, .data-grid .icon-undo:hover { color: #C17800; }

/* Legacy grid row styles */
.grid_row_small   { font-family: Arial; font-size: x-small; background-color: #A3BEE0; }
.grid_row         { font-family: Arial; font-size: 14px;    background-color: #BBD1EE; }
.grid_altrow_small { font-family: Arial; font-size: x-small; }
.grid_altrow      { font-family: Arial; font-size: 14px; }

.grid_header {
    font-family: Arial;
    font-size: 14px;
    background-color: #4C4C4C;
    color: rgb(var(--white));
    font-weight: bold;
}

.grid_header td a, .grid_header td a:visited { color: rgb(var(--white)); font-size: 14px; }

.grid_header_small {
    font-family: Arial;
    font-size: x-small;
    background-color: #4C4C4C;
    color: rgb(var(--white));
    font-weight: bold;
}

.datalist_header_fixed td,
.datalist_header_fixed th {
    font-family: Arial;
    font-size: 14px;
    background-color: #4C4C4C;
    color: rgb(var(--white));
    font-weight: bold;
    position: relative;
}

.datalist_header_fixed a,
.datalist_header_fixed a:visited { color: rgb(var(--white)); font-size: 14px; }


/* ============================================================
   12. RFT TABLE (styled <table>)
   ============================================================ */
table.rft_table {
    width: 100%;
    border-collapse: collapse;
    border: none;
    border-bottom: 1px solid rgb(var(--mid-grey));
    font-size: 1.10rem;
    background-color: rgb(var(--white));
}

table.rft_table tbody tr:nth-of-type(odd) td  { background: unset; }
table.rft_table tbody tr:nth-of-type(even) td { background: unset; }

table.rft_table tr:first-of-type {
    background: unset;
    color: rgb(var(--dark-blue)) !important;
    text-align: left;
    height: 2.40rem;
    padding: 0 0 0.4rem 0.4rem;
}

table.rft_table tr:first-of-type input[type="radio"] { background: unset; }

table.rft_table th {
    border: none;
    font-weight: 500;
    text-transform: uppercase;
    padding: 0 !important;
    white-space: nowrap;
}

table.rft_table thead tr th.action { width: 4.80rem; }
table.rft_table th .fi:nth-of-type(1) { margin-left: 1rem; }

table.rft_table th a { padding: 0 0 0 0.33rem; }

table.rft_table tbody tr {
    text-align: left;
    height: 2.40rem;
    background: rgb(var(--white));
}

table.rft_table tbody tr:nth-of-type(even) { background: rgb(var(--alt-row)); }

table.rft_table.rtf_table-rollover tbody tr:not(:last-of-type):not(:first-of-type):hover {
    background: rgb(var(--row-hover));
    cursor: pointer;
}

table.rft_table tbody tr td {
    padding: 0 0 0 0.1rem !important;
    border: none;
    background: rgb(var(--white));
}

table.rft_table tbody tr td.active {
    font-weight: 700;
    background: rgba(var(--dark-blue), 0.05);
}

th.rft_table-data-center, td.rft_table-data-center { text-align: center; }
th.rft_table-data-center, td.rft_table-data-left   { text-align: left; }

table.rft_table tbody tr td.rft_table-data-nostretch { width: 1%; white-space: nowrap; }

table.rft_table tfoot tr td { padding: 1.60rem 0 0.80rem 0; }

/* Import history table overrides */
#ContentPlaceHolder1_tcImport_tpImportHistory_dlImports > tbody > tr > td > table > tbody > tr { background: none !important; }
#ContentPlaceHolder1_tcImport_tpImportHistory_dlImports_dgImportItems tr:nth-of-type(odd)       { background: none !important; }

/* Table toolbar */
ul.rft_table-toolbar {
    list-style-type: none;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    column-gap: 0.80rem;
    font-size: 1.40rem;
    line-height: 1.40rem;
}

ul.rft_table-toolbar a:hover     { color: rgb(var(--orange)); }
ul.rft_table-toolbar a.inactive  { pointer-events: none; color: rgb(var(--mid-grey)); }

.inactive { pointer-events: none; color: rgb(var(--mid-grey)); }

/* Toolbar dropdown */
.rft_table-toolbar-dropdown { position: relative; }

.rft_table-toolbar-dropdown-content {
    background: rgb(var(--vivid-blue));
    color: rgb(var(--white));
    font-size: 0.90rem;
    padding: 0.80rem;
    border-radius: 0 0 0.60rem 0.60rem;
    position: absolute;
    width: 12rem;
    top: -0.40rem;
    right: -0.80rem;
}

.rft_table-toolbar-dropdown-content ul  { list-style-type: none; }
.rft_table-toolbar-dropdown-content a   { color: rgb(var(--white)); display: block; line-height: 2.40rem; }
.rft_table-toolbar-dropdown-content .fi { display: inline-block; font-size: 1.40rem; vertical-align: middle; margin-right: 0.80rem; }

/* Table header cell style */
.rft_table-header {
    background: rgb(var(--mid-grey)) !important;
    color: rgb(var(--dark-blue)) !important;
    padding: 0.4rem 0.8rem;
}

/* Grid sorter */
.grid-sorter-sortable { cursor: pointer; }

.grid-sorter-sorted {
    background-color: rgb(var(--mid-blue));
    color: rgb(var(--white));
    font-weight: bold;
}

.grid-sorter-sorted a {
    padding: 0 0 0 0.33rem;
    color: rgb(var(--white));
    font-weight: bold;
}

/* rb-table (radio-button list table) */
.rft_rb-table { width: 100%; border: none; font-size: 1.10rem; }

table.rft_rb-table tbody tr { text-align: left; border-collapse: collapse; }
table.rft_rb-table tbody tr:nth-of-type(even) { background: rgb(var(--alt-row)); }
table.rft_rb-table th { font-weight: normal; padding: 0 0 0 0.4rem; }

#ResultPanel > div.grid-panel > table > tbody > tr > td { border: none; }


/* ============================================================
   13. PAGINATION
   ============================================================ */
.rft_pagination {}

table.rft_pagination {
    background-color: rgb(var(--white));
    list-style-type: none;
    display: flex;
    flex-direction: row;
    font-size: 1rem;
    font-weight: 600;
    text-transform: uppercase;
}

table.rft_pagination tr {
    line-height: 2rem;
    text-align: center;
    background: rgb(var(--white)) !important;
    margin: 0 0.20rem;
}

table.rft_pagination tr td {
    border-left: 0 !important;
    padding: 0.20rem 0.40rem !important;
}

table .rft_pagination tr td:first-of-type { margin-left: 0; }

table.rft_pagination tr td span.fi-rs-menu-dots { margin: 0 0.40rem; }

table.rft_pagination tr td a,
table.rft_pagination td span {
    text-align: center;
    display: inline-block;
    line-height: 1.80rem;
    min-width: 2rem;
    height: 2rem;
    border-radius: 0.50rem;
    border: 0.10rem solid rgb(var(--vivid-blue));
}

table.rft_pagination tr td a:hover,
table.rft_pagination td span,
.rft_tab-toolbar li a:hover,
.rft_tab-toolbar li a.active {
    background: rgb(var(--dark-blue));
    border-color: rgb(var(--dark-blue));
    color: rgb(var(--white));
}

table.rft_pagination tr td a.prev,
table.rft_pagination tr td a.next { width: auto; }

/* DATAGRID PAGERS -- the same look, for the shape every rule above is unable to reach.
   All of the above is keyed on `table.rft_pagination`, and that table only exists for a GridView: a
   GridView renders its pager as a nested <table> inside the pager cell (PageBase.vb:511 sets the class
   there). A DataGrid renders no nested table -- PagerStyle CssClass lands on the <tr> and the page numbers
   sit as bare text nodes in one <td>, separated by &nbsp;. So Administration/ChangeHistory.aspx
   (asp:DataGrid dgChangeHistory, PagerStyle CssClass="rft_pagination" at line 405) had the class applied
   and NOT ONE rule matched it, which is why its pages rendered as plain text while Assets.aspx looked
   right.
   MEASURED on qa101 2026-08-10, not inferred: on Change History `.rft_pagination` resolved to 1 element,
   tag=TR, and that cell's children were SPAN("1") + A("2")..A("10") + A("...") separated by nbsp text
   nodes. On Assets it resolved to 2 -- the TR plus the nested TABLE these rules want.
   The `>` direct-child selectors are load-bearing: they keep this off the GridView shape, where the
   anchors sit one level deeper inside the nested table, so Assets and every PageBase-swept GridView pager
   are untouched. Current page is a <span> (filled), page links are <a> (outlined), and the trailing "..."
   block-jump is an <a>, so it takes the outlined pill instead of reading as a second current page. */
tr.rft_pagination > td {
    border-left: 0 !important;
    padding: 0.40rem !important;
    font-size: 1rem;
    font-weight: 600;
    text-transform: uppercase;
}

tr.rft_pagination > td > a,
tr.rft_pagination > td > span {
    text-align: center;
    display: inline-block;
    line-height: 1.80rem;
    min-width: 2rem;
    height: 2rem;
    margin: 0 0.20rem;
    border-radius: 0.50rem;
    border: 0.10rem solid rgb(var(--vivid-blue));
    background: rgb(var(--white));
    color: rgb(var(--vivid-blue));
    text-decoration: none;
}

tr.rft_pagination > td > a:hover,
tr.rft_pagination > td > a:focus,
tr.rft_pagination > td > span {
    background: rgb(var(--dark-blue));
    border-color: rgb(var(--dark-blue));
    color: rgb(var(--white));
}

/* Legacy data pager */
#ContentPlaceHolder1_lstView_DataPagerLstView {
    font-weight: 700;
    color: #FFF;
    text-transform: uppercase;
    border-left: none;
    font: 700 14px 'Open Sans', Helvetica, Arial, sans-serif;
    margin-left: 50px;
}

#ContentPlaceHolder1_lstView_DataPagerLstView a,
#ContentPlaceHolder1_lstView_DataPagerLstView span {
    background-color: #ABB3C3;
    color: rgb(var(--white));
    padding: 2px 8px;
    line-height: 14px;
    box-sizing: border-box;
    margin: 0 5px 0 0;
}

#ContentPlaceHolder1_lstView_DataPagerLstView span { background-color: #072256; }

#ContentPlaceHolder1_lstView_dataPagerWrapper {
    background-color: #868C9A;
    padding: 9px;
    border-bottom: 1px solid black;
}

.hide-pages table { display: none; }
.PagerCheck       { display: flex !important; }


/* ============================================================
   14. ASSET PANELS
   ============================================================ */
.rft_asset-wrapper {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 2.40rem;
}

.rft_asset-panel {
    max-width: 60rem;
    background: rgb(var(--alt-row));
    padding: 1.60rem;
    border-radius: 0.80rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.rft_asset-panel h3 {
    margin-bottom: 1.60rem;
    display: flex;
    justify-content: space-between;
}

.rft_asset-panel div.split {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 0.80rem;
    grid-row-gap: 0.80rem;
    align-items: flex-start;
}

.rft_asset-panel span {
    white-space: nowrap;
    color: rgb(var(--dark-blue));
    font-weight: 600;
}

.rft_asset-panel .error {
    background-color: transparent;
    color: rgb(var(--red));
}

.rft_asset-panel div .locationSelectorClass { padding: 0.2rem 0; }
.rft_asset-panel div                        { padding: 0.20rem; }
.rft_asset-panel input[type="checkbox"]     { padding: 1.6rem; }

/* Font weight utilities */
.weightless  { font-weight: unset !important; }
.weighty     { font-weight: bold !important; }
.weightier   { font-weight: bolder !important; }

/* Images wrapper */
.rft_images-wrapper {
    background: rgb(var(--light-grey));
    border-radius: 0.80rem;
}

.rft_images-wrapper h3 {
    justify-content: space-between;
    width: 100%;
    display: flex;
    padding: 1rem;
    border-radius: 0.30rem;
}

.rft_images-wrapper ul {
    list-style-type: none;
    display: grid;
    grid-gap: 0.80rem;
    grid-template-columns: repeat(6, 1fr);
}

.rft_images-wrapper ul li {
    line-height: 0;
    height: fit-content;
    width: fit-content;
}

.rft_images-wrapper ul li img {
    width: 100%;
    height: auto;
    transition: all 0.20s ease;
}

.rft_images-wrapper ul li img:hover { opacity: 0.50; }

/* Model images (8-column variant — kept for backward compat) */
.rft_model-images-wrapper ul {
    list-style-type: none;
    display: grid;
    grid-gap: 0.80rem;
    grid-template-columns: repeat(8, 1fr);
}

.rft_model-images-wrapper h3   { float: right; }
.rft_model-images-wrapper ul li { line-height: 0; height: fit-content; width: fit-content; }
.rft_model-images-wrapper ul li img { width: 100%; height: auto; transition: all 0.20s ease; }
.rft_model-images-wrapper ul li img:hover { opacity: 0.50; }


/* ============================================================
   15. IMAGES MODAL / SLIDESHOW
   ============================================================ */
.row > .column { padding: 0 8px; }
.row:after     { content: ""; display: table; clear: both; }
.column        { float: left; width: 25%; }

.modal {
    display: none;
    position: fixed;
    z-index: 1;
    padding-top: 10rem;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(var(--dark-blue), 0.9);
}

.modal-content {
    border-radius: 1rem;
    position: relative;
    background-color: rgb(var(--white));
    margin: auto;
    padding: 0;
    width: fit-content;
    max-width: 60rem;
}

.modal-content .note          { border-radius: 1rem 1rem 0 0; }
.modal-content input[type="text"]  { margin: 1rem; padding: 1rem; border-radius: 0.4rem; height: 2.4rem; min-width: 32rem; }
.modal-content input[type="file"]  { margin: 1rem; }
.modal-content input[type="submit"] { padding: 0 1rem; border-radius: 0.4rem; height: 2.4rem; }
.modal-content span            { padding: 1rem; }

.modal-header {
    border-radius: 1rem 1rem 0 0;
    padding: 15px;
    border: 1px solid rgb(var(--orange));
    background-color: #ffeb0d;
    font: 400 15px 'Open Sans', Helvetica, Arial, sans-serif;
    line-height: 1.6;
}

.rft_popup-controls-group {
    float: right;
    padding: 1rem;
    background-color: rgb(var(--white));
    border: none !important;
    border-radius: 1rem;
}

.close {
    color: rgb(var(--white));
    position: absolute;
    top: 1rem;
    right: 2.50rem;
    font-size: 3.50rem;
    font-weight: 700;
    transition: background-color 0.18s;
}

.close:hover, .close:focus {
    color: rgb(var(--orange));
    text-decoration: none;
    cursor: pointer;
}

.mySlides  { display: none; line-height: 0; }
.cursor    { cursor: pointer; }

.thPrev, .thNext {
    cursor: pointer;
    position: absolute;
    top: 50%;
    width: auto;
    padding: 1.60rem;
    margin-top: -5rem;
    color: rgb(var(--white));
    font-weight: 700;
    font-size: 2rem;
    transition: 0.20s ease;
    border-radius: 0 0.30rem 0.30rem 0;
    user-select: none;
    -webkit-user-select: none;
    background: rgb(var(--dark-blue));
}

.thNext { right: 0; border-radius: 0.30rem 0 0 0.30rem; }

.numbertext {
    background: rgb(var(--dark-blue));
    color: rgb(var(--white));
    font-size: 1.20rem;
    line-height: 1.60rem;
    padding: 1rem;
    position: absolute;
    top: 0;
}

.caption-container {
    text-align: center;
    background: rgba(var(--dark-blue), 0.90);
    padding: 2rem;
    color: rgb(var(--white));
    font-size: 1.60rem;
}

.demo              { opacity: 0.3; }
.thActive,
.demo:hover        { opacity: 1; }


/* ============================================================
   16. ASSET ATTACHMENTS
   ============================================================ */
.rft_asset-attachments {
    white-space: nowrap;
    margin-top: 3.20rem;
    background: rgb(var(--light-grey));
    border-radius: 0.80rem;
}

.rft_asset-attachments h3 {
    display: flex;
    justify-content: space-between;
    padding: 1rem;
}

.rft_asset-attachments ul { font-size: 1.40rem; list-style-type: none; }

.rft_asset-attachments ul li {
    padding: 0.40rem;
    margin: 0 0 0.80rem 0;
    border-radius: 0.40rem;
    border: 1px solid transparent;
    transition: background 0.20s ease;
}

.rft_asset-attachments ul li::before {
    font-family: 'uicons-regular-straight';
    font-size: 2rem;
    vertical-align: text-bottom;
}

.rft_asset-attachments ul a { color: rgb(var(--dark-grey)); transition: background-color 0.18s; }
.rft_asset-attachments ul a:hover { color: rgb(var(--vivid-blue)); }

.rft_asset-attachments ul a:hover li {
    background-color: rgba(var(--dark-blue), 0.60);
    color: rgb(var(--white));
}

.rft_asset-attachments ul a:hover li::before { color: rgb(var(--white)); }

.rft_asset-attachments ul li.rft_attachment-pdf::before   { content: "\f414"; color: #B30B00; padding: 0 1rem 0 0; }
.rft_asset-attachments ul li.rft_attachment-excel::before { content: "\f40e"; color: #2E7D32; padding: 0 1rem 0 0; }
.rft_asset-attachments ul li.rft_attachment-word::before  { content: "\f41b"; color: #1862C1; padding: 0 1rem 0 0; }
.rft_asset-attachments ul li.rft_attachment-other::before { content: "\f41c"; color: #B30B00; padding: 0 1rem 0 0; }


/* ============================================================
   17. IMAGE / DOCUMENT MANAGEMENT
   ============================================================ */
.rft_delete-image {
    background-color: rgb(var(--orange));
    position: absolute;
    top: 2px;
    right: 2px;
    z-index: 100;
    cursor: pointer;
    font-weight: bolder;
    color: white;
    border-radius: 1rem;
    border: none;
    width: 1.5rem;
}

.rft_image-wrapper {
    width: fit-content;
    position: relative;
}

.rft_new-image {
    padding: 0 1rem 0 0;
    border: none;
    color: rgb(var(--mid-blue));
    cursor: pointer;
    float: right;
    transition: background-color 0.18s;
}

.rft_new-image:hover {
    color: rgb(var(--white));
    background-color: rgb(var(--vivid-blue));
    border-radius: 0.4rem;
}

.rft_new-image.rft-disabled-by-permissions:hover {
    background-color: unset !important;
    color: darkslategrey !important;
}

.rft_delete-document {
    width: 1.5rem;
    background-color: rgb(var(--orange));
    position: relative;
    top: -3px;
    right: 2px;
    z-index: 100;
    cursor: pointer;
    font-weight: bolder;
    color: white;
    border: none;
    border-radius: 1rem;
    margin: 0 0 0.2rem 1rem;
}

.rft_image-info-table {
    background-color: unset;
    width: 100%;
    padding: 1.2rem 0.8rem;
}

.rft_image-image {
    max-height: 88.80rem;
    max-width: 88.80rem;
    padding: 0.8rem;
}


/* ============================================================
   18. DROPDOWNS
   ============================================================ */
.dropbtn {
    background-color: rgb(var(--dark-blue));
    color: rgb(var(--accent));
}

.dropdown {}

.dropdown-content {
    display: none;
    position: fixed;
    min-width: 160px;
    box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
    z-index: 1;
    border-radius: 0 0 0.40rem 0.40rem;
    background-color: rgb(var(--dark-blue));
}

.dropdown-content a { display: block; transition: background-color 0.18s; }
.dropdown-content a:hover { color: white; }

.dropdown:hover .dropdown-content { display: block; }
.dropdown:hover .dropbtn           { color: white; }


/* ============================================================
   19. LOGIN
   ============================================================ */
body.rft_login header { align-self: flex-start; background: none; }

body.rft_login header img {
    width: 8.80rem;
    height: auto;
    filter: invert(100%) sepia(17%) saturate(5282%) hue-rotate(180deg) brightness(87%) contrast(97%);
}

body.rft_login main  { align-items: center; }

body.rft_login footer {
    color: rgb(var(--light-grey));
    height: auto;
    padding: 0;
    display: block;
}

#rft_login-form { display: flex; flex-direction: row; }

#rft_login-form h1 { margin-bottom: 1.60rem; }

#rft_login-form > div { padding: 5rem; }

#rft_login-form > div:nth-of-type(1) {
    background: rgba(var(--mid-blue), 0.8);
    border-radius: 0.80rem 0 0 0.80rem;
}

#rft_login-form > div:nth-of-type(1) img {
    filter: invert(100%);
    width: 14rem;
    height: auto;
}

#rft_login-form > div:nth-of-type(2) {
    background-color: rgb(var(--light-grey));
    border-radius: 0 0.80rem 0.80rem 0;
    min-width: 40rem;
}

#rft_login-form input[type="text"],
#rft_login-form input[type="password"] { font-size: 1.60rem; height: 4rem; }

.rft_login-submit {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

#rft_login-form div.rft_login-submit { font-size: 1.10rem; }

#rft_login-form div.rft_login-submit:nth-of-type(1) {
    padding: 0 0 4rem 0;
    font-size: inherit;
}


/* ============================================================
   20. ENTRY FORM
   ============================================================ */
#entryform-content {
    width: 100%;
    min-height: 475px;
    padding: 15px;
    box-sizing: border-box;
}

#entryform-content .table .row .cell                        { padding-bottom: 15px; }
#entryform-content .table .row .cell .table .row .cell      { padding-bottom: 0; }

#entryform-content input[type="text"],
input[type="password"],
#entryform-content select,
#entryform-content textarea,
#entryform-content input[type="file"] { display: block; margin: 3px 0 0 0; }

#entryform-header {
    background-color: #868C9A;
    color: #FFF;
    width: 100%;
    height: 60px;
    padding: 20px 15px;
    box-sizing: border-box;
}

#entryform-header .table              { width: auto; }
#entryform-header .table:nth-child(2) { margin-top: 5px; }
#entryform-header .table:nth-child(2) .button { margin-left: 1px; }

#entryform-header .table .row .cell          { padding-right: 5px; white-space: nowrap; }
#entryform-header .table .row .cell:last-child { text-align: right; padding-right: 0; width: 100%; }
#entryform-header input[type="text"]         { max-width: 140px !important; }
#entryform-header input[type="text"],
.search-header select                        { display: block; margin: 3px 0 0 0; }
#entryform-header label                      { margin-right: 20px; }

#entryform-header h1 {
    font-size: 18px;
    line-height: 18px;
    font-weight: 700;
    margin: 0;
    text-transform: uppercase;
    position: relative;
    top: 50%;
    vertical-align: middle;
}

#entryform-footer {
    padding: 0 5rem;
    background-color: #ABB3C3;
    color: #FFF;
    line-height: 60px;
}


/* ============================================================
   21. REPORT PAGE
   ============================================================ */
#rptTitle {
    padding: 0.5rem;
    text-align: center;
    background-color: rgb(var(--light-grey));
}

#rptTitle h1 { text-align: center; }

#rptHeader {
    background: rgb(var(--dark-blue));
    flex-direction: row-reverse;
    padding: 1.6rem;
}

#rptHeader ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    color: rgb(var(--red));
    float: right;
}

#rptHeader li {
    float: right;
    margin: 5px;
    color: rgb(var(--red));
}

.rptSelect {
    color: rgb(var(--light-blue));
    float: right;
}

.ReportPanel { height: calc(100vh - 100px); }

.rft_report-refresh-button {}


/* ============================================================
   22. LOCATION SELECTOR
   ============================================================ */
.locationSelectorClass {
    width: auto;
    min-width: 0;
}
.locationSelectorClass div {}
.rft-location-selector {}
.rft-location-selector .aspNetDisabled { background-color: transparent; }

#ContentPlaceHolder1_LocationSelector_lblParentLocation { padding-bottom: 15px; margin-bottom: 5px; }
#ContentPlaceHolder1_LocationSelector_lblLocation       { margin-top: 15px; padding-bottom: 15px; }

#entryform-content > div:nth-child(2) > div { padding-bottom: 15px; }
#entryform-content > div:nth-child(4) > div { padding-top: 15px; }


/* ============================================================
   23. AJAX TABS
   ============================================================ */
.ajax__tab {
    background: rgb(var(--white));
    border-radius: 0.40rem;
    padding: 0.40rem;
}

.ajax__tab .ajax__tab_header {
    border-bottom: 0.10rem solid rgb(var(--mid-grey));
    margin-bottom: 1.60rem;
}

.ajax__tab a.ajax__tab_tab {
    display: inline-block;
    padding: 0 1rem;
    margin: 0 0.5rem;
    border-bottom: 0.30rem solid transparent;
    transition: background-color 0.18s;
}

.ajax__tab a.ajax__tab_tab:hover {
    color: rgb(var(--dark-blue));
    border-color: rgb(var(--dark-blue));
}

.ajax__tab .ajax__tab_active a.ajax__tab_tab {
    font-weight: 600;
    color: rgb(var(--dark-blue));
    border-color: rgb(var(--dark-blue));
}

/* Tabbed asset fields */
#tabbedAssetFields .search-header .basicdatepicker       { display: run-in; }
#tabbedAssetFields .search-header .basicdatepicker input { display: inline-block !important; }
#tabbedAssetFields .advancedFieldsSection,
.ajax__tab_header_bottom                                 { background-color: rgb(var(--light-grey)); }
#tabbedAssetFields .ajax__tab_outer                      { text-align: left; text-transform: uppercase; font-weight: 700; }
#ContentPlaceHolder1_tcFields_body                       { border: solid #868C9A; border-width: 5px 2px; }

#ContentPlaceHolder1_tcFields_tpBulkUpdate_tafBulkUpdate_tcAssetTabContainer_body .search-header,
#ContentPlaceHolder1_tcFields_tpBulkUpdate_tafBulkUpdate_tcAsset_header .ajax__tab_active .ajax__tab_inner {
    background-color: rgb(var(--orange));
    border: 3px solid rgb(var(--orange));
}

#ContentPlaceHolder1_tcFields_tpBulkUpdate_tafBulkUpdate_tcAssetTabContainer_tpAttributes,
#ContentPlaceHolder1_tcFields_tpBulkUpdate_tafBulkUpdate_tcAssetTabContainer .rft_tab-advanced-search {
    border: 3px solid rgb(var(--orange));
}

#ContentPlaceHolder1_tcFields_tpBulkUpdate_tafBulkUpdate_tcAssetTabContainer .rft_tab-advanced-search {
    border-radius: 0;
}

#ContentPlaceHolder1_tcFields_tpSearch_tafSearch_tcAssetTabContainer #subFooter { display: none; }

/* Tab visibility helpers */
.rft-tab-no-headers .ajax__tab_header             { display: none; }
.rft-tab-not-no-headers .ajax__tab_header         { display: inline-block !important; }
.rft-tab-no-body .ajax__tab_body                  { display: none !important; }
.rft-tab-no-body .ajax__tab_header                { margin-bottom: 0 !important; }


/* ============================================================
   24. ERROR / SUCCESS / INFO / WARNING MESSAGES
   ============================================================ */
/* Shared fill-available mixin (applied to .error, .success, .errorMessageWrapper, .successMessageWrapper) */

/* RF-I1423: a STACK of messages inside one label.
   .error/.success/.info/.warning all compute to display:flex with flex-direction:row, so when
   PageMessage appends a second message as a sibling <span> that span becomes its own FLEX ITEM and
   is laid out BESIDE the first one -- and the <br /> between two flex items does nothing. (Plain
   text containing <br /> is unaffected: that is one anonymous flex item holding inline content,
   which is why the About page's multi-line update message renders correctly.)
   PageMessage.ascx.vb wraps primary + extras in a single .pageMessageStack span, which as ONE flex
   item lays its contents out in normal flow -- so the <br /> works and the extras are inline.
   Additive: a new class, so no existing selector changes behaviour. */
.pageMessageStack { display: block; }

/* --- Error --- */
.error {
    position: relative;
    display: flex;
    left: 1.0rem;
    background-color: rgb(var(--white));
    color: rgb(var(--red));
    white-space: unset;
    font-size: small;
    font-weight: bold;
    text-align: left;
    height: fit-content;
    align-items: center;
    margin: 0.4rem 2.0rem 0.4rem -1rem;
    border: 1px solid red;
    z-index: 0;
}

@supports (width: -webkit-fill-available) { .error { width: -webkit-fill-available; } }
@supports (width: -moz-available)         { .error { width: -moz-available; } }
@supports (width: stretch)                { .error { width: stretch; } }
.error.fullWidth                  { width: -webkit-fill-available; width: -moz-available; width: stretch; }
.formField .error, .inputGroup .error { width: -webkit-fill-available; width: -moz-available; width: stretch; }

.errorsmall {
    color: rgb(var(--red)) !important;
    border-bottom-color: black;
    font-weight: bold;
}

#ContentPlaceHolder1_ucMessage_lblMsgs.error { line-height: unset; }

/* Error message wrapper (used in form field rows) */
.errorMessageWrapper {
    margin: 0.4rem;
    display: flex;
    background-color: rgb(var(--white));
    color: rgb(var(--red));
    white-space: unset;
    font-size: small;
    border: 1px solid rgb(var(--red));
    height: fit-content;
    align-items: center;
    line-height: normal;
    z-index: 0;
    min-width: unset !important;
    gap: 0.4rem;
}

@supports (width: -webkit-fill-available) { .errorMessageWrapper { width: -webkit-fill-available; } }
@supports (width: -moz-available)         { .errorMessageWrapper { width: -moz-available; } }
@supports (width: stretch)                { .errorMessageWrapper { width: stretch; } }
.errorMessageWrapper.fullWidth { width: -webkit-fill-available; width: -moz-available; width: stretch; }
.formField .errorMessageWrapper, .inputGroup .errorMessageWrapper { width: -webkit-fill-available; width: -moz-available; width: stretch; }

.errorMessageWrapper .error { padding: 1.0rem; }
.errorMessageWrapper .warning { padding: 1.0rem; }

.errorMessageWrapper .fi-rs-triangle-warning {
    padding: 0.8rem 0.4rem 0.8rem 1.6rem;
    font-size: large;
    align-items: center;
    color: rgb(var(--red));
    animation: wobble 200ms ease-in-out 5;
    border-radius: 25px;
}

.errorMessageWrapper .fi-rs-hand-back-point-right {
    padding: 1.0rem 0.4rem 0.8rem 1.6rem;
    font-size: large;
    align-items: center;
    color: black;
    animation: wobble 1s ease-in-out 1;
    border-radius: 25px;
}

/* --- Success --- */
.success {
    position: relative;
    display: flex;
    left: 1.0rem;
    background-color: rgb(var(--white));
    color: green;
    white-space: unset;
    font-size: small;
    font-weight: normal;
    text-align: left;
    border: 1px solid green;
    height: fit-content;
    align-items: center;
    padding: 1.0rem;
    margin: 0.4rem 2.0rem 0.4rem -1rem;
    line-height: normal;
    z-index: 0;
}

@supports (width: -webkit-fill-available) { .success { width: -webkit-fill-available; } }
@supports (width: -moz-available)         { .success { width: -moz-available; } }
@supports (width: stretch)                { .success { width: stretch; } }
.success.fullWidth { width: -webkit-fill-available; width: -moz-available; width: stretch; }
.formField .success, .inputGroup .success { width: -webkit-fill-available; width: -moz-available; width: stretch; }

.successMessageWrapper {
    margin: 0.4rem;
    display: flex;
    background-color: rgb(var(--white));
    color: green;
    white-space: unset;
    font-size: small;
    border: 1px solid green;
    height: fit-content;
    align-items: center;
    line-height: normal;
    z-index: 0;
    min-width: unset !important;
}

@supports (width: -webkit-fill-available) { .successMessageWrapper { width: -webkit-fill-available; } }
@supports (width: -moz-available)         { .successMessageWrapper { width: -moz-available; } }
@supports (width: stretch)                { .successMessageWrapper { width: stretch; } }
.successMessageWrapper.fullWidth { width: -webkit-fill-available; width: -moz-available; width: stretch; }
.formField .successMessageWrapper, .inputGroup .successMessageWrapper { width: -webkit-fill-available; width: -moz-available; width: stretch; }

.successMessageWrapper .fi-rs-disk {
    padding: 0.8rem;
    font-size: large;
    font-weight: bold;
    align-items: center;
    border-radius: 90px;
    animation: slideDownPopUp 800ms ease-in-out 1;
}

.successMsg {
    background: #50AD54;
    border: 1px solid #3C8D40;
    color: #fff;
    padding: 10px;
    font-size: medium;
}

/* --- Info --- */
.info, .infoMessageWrapper {
    width: fit-content;
    position: relative;
    display: flex;
    left: 1.0rem;
    background-color: rgb(var(--white));
    color: rgb(var(--vivid-blue));
    white-space: unset;
    font-size: small;
    font-weight: normal;
    text-align: left;
    border: 1px solid rgb(var(--vivid-blue));
    height: fit-content;
    align-items: center;
    padding: 1.0rem;
    margin: 0.4rem 2.0rem 0.4rem -1rem;
    line-height: normal;
    z-index: 0;
}

.infoMessageWrapper .fi-rs-info {
    padding: 0.8rem 0.8rem 0.1rem 0.1rem;
    font-size: large;
    font-weight: bold;
    align-items: center;
    animation: throb 400ms ease-in-out 3;
}

/* --- Warning --- */
.warning { color: black; font-weight: bold; }

/* --- Good --- */
.good { color: green; font-weight: bold; font-size: small; }

/* --- Extra asset --- */
.extraasset { color: rgb(var(--orange)); font-weight: bold; font-size: small; }

/* --- Notes / help / instructions --- */
.note {
    margin: 0 5.6rem 0 0;
    padding: 15px;
    border: 1px solid rgb(var(--orange));
    background-color: #ffeb0d;
    font: 500 15px 'Open Sans', Helvetica, Arial, sans-serif;
    line-height: 1.6;
    color: rgb(var(--black));
}

.modalPopup .note {
    margin: 1rem auto;
    padding: 1.5rem 2rem;
    /*font-size: 3rem;*/
    line-height: 1.4;
    text-align: center;
    max-width: 95%;
}

.modal-content .note { border-radius: 1rem 1rem 0 0; }

#ContentPlaceHolder1_tcAsset_tpMain_Images > div.note {
    margin: 0 0 15px 0;
    padding: 15px;
    border: 1px solid rgb(var(--orange));
    background-color: #ffeb0d;
    font: 500 15px 'Open Sans', Helvetica, Arial, sans-serif;
    line-height: 1.6;
    color: rgb(var(--black));
}

.permissionsNote {
    flex-wrap: unset;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 15px;
    border: 1px solid rgb(var(--orange));
    background-color: #ffeb0d;
    font: 400 15px 'Open Sans', Helvetica, Arial, sans-serif;
    line-height: 1.6;
    margin: 0 8rem;
}

.bulk-instructions {
    position: relative;
    border: 1px solid rgb(var(--orange));
    background-color: #ffeb0d;
    font: 400 15px 'Open Sans', Helvetica, Arial, sans-serif;
    line-height: 1.6;
    z-index: 9999;
}

.help {
    padding: 0 15px 0 25px;
    border: 1px solid rgb(var(--orange));
    background-color: #F3F3F3;
    font: 400 15px 'Open Sans', Helvetica, Arial, sans-serif;
    line-height: 1.6;
    box-sizing: unset;
    margin: unset;
    color: rgb(var(--dark-grey)) !important;
    text-transform: none !important;
}

.help * { padding: inherit; text-transform: none !important; }

#ContentPlaceHolder1_pnlHelp > div.help {
    color: rgb(var(--dark-grey));
}

/* defaultPageDiv context */
.defaultPageDiv {
    background-color: #F0F0F0;
    width: 95% !important;
}

.defaultPageDiv .infoMessageWrapper {
    width: 100%;
    margin: -1rem 0 1.6rem -1rem;
    border: 3px solid #072256;
    border-radius: 10px;
    background-color: #F0F0F0;
}

.defaultPageDiv .errorMessageWrapper {
    width: 100%;
    margin: -1rem 0 1.6rem 0;
    border: 3px solid #072256;
    border-radius: 10px;
    background-color: #F0F0F0;
}

/* Validator */
.validator {
    display: inline;
    margin: 0;
    padding: 0;
    min-height: unset;
    background-color: transparent !important;
    opacity: 0;
    transition: opacity 700ms ease-in-out;
}

.rft-validator-synchronized         { opacity: 1; }
.rft-validator-synchronized-placeholder { display: inline-block !important; min-height: 1.2em; background-color: magenta; }

/* Required box icon (hidden by default) */
.required-box-icon {
    display: none !important;
    border-color: rgb(var(--mid-blue)) !important;
    border-width: 2px;
    text-transform: uppercase !important;
    color: black !important;
}

.required-box-icon span {
    display: none;
    width: 15px;
    height: 15px;
    border-color: rgb(var(--mid-blue)) !important;
    border-width: 2px;
    background-color: white !important;
    border: 1px solid;
    vertical-align: middle;
    margin-right: 10px;
    border-radius: 0.30rem;
}

/* input-full */
.input-full { width: 100%; }
.input-full.required { border-color: rgb(var(--mid-blue)) !important; border-width: 2px; }


/* ============================================================
   25. MISC UI COMPONENTS
   ============================================================ */

/* HUD */
.rft_hud {
    max-width: min-content;
    padding: 1rem !important;
    min-width: 50%;
    bottom: 0;
    position: fixed;
    opacity: 0.87;
    width: fit-content;
    left: 25%;
    border-radius: 0.7rem 0.7rem 0 0;
}

/* User search */
.rft_user-search-wrapper { justify-content: flex-start; display: flex; padding: 0.4rem; }
.rft_user-search-item    { min-width: 16rem; display: inline; padding: 0 0.4rem; }
.rft_user-search-button  { position: absolute; right: 0; padding: 1.2rem 8rem 0 0; }

/* Modal drag bar */
.rft_modal-drag-bar {
    padding: 0.4rem;
    color: rgb(var(--white));
    font-size: large;
    font-weight: bold;
    margin: 0 0 1.6rem 0;
    display: flex !important;
    flex-direction: row;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    background-color: rgb(var(--vivid-blue));
}

/* Hover menu */
.rft_hover-menu {
    border: solid;
    border-color: black;
    position: relative;
    background-color: wheat;
    margin: auto;
    padding: 0.8rem;
    width: fit-content;
    max-width: 60rem;
}

/* Grid RBL */
.rft_grid-rbl { padding: 0; }
.rft_grid-rbl:disabled { background: tan; }
.rft_grid-rbl input[type="radio"] { padding: 0.4rem; margin: 0.4rem; }
.rft_grid-rbl label { display: contents; padding: 0.4rem; margin: 0.4rem; }

/* Control box */
.rft_controlbox { padding: 1.8rem 0 0 3rem; }

/* Sub title bar */
.subTitleBar {
    background-color: #6288B8;
    color: #FFF;
    width: 154px;
    padding: 5px 15px;
    box-sizing: border-box;
    margin-top: 15px;
    margin-left: 4px;
    font-weight: 700;
}

/* Add new icon */
#add-new-button-icon {
    position: relative;
    z-index: 1;
    left: -141px;
    top: 1px;
    color: green;
    cursor: pointer;
    width: 0;
    font-size: 19px;
}

/* Content frame */
.contentframe { margin: 0; border: none; }

/* Right label link */
.rightLabelLink {
    padding: 0 1rem 0 0;
    border: none;
    color: rgb(var(--mid-blue));
    cursor: pointer;
    float: right;
}

/* Show advanced fields button */
.showAdvancedFieldsBtn { font-size: x-large; margin-left: 40%; }
showAdvancedFieldsBtn_wrapper { transition: all 0.5s; cursor: pointer; }

/* Solid background */
.rft_solid { background-color: rgb(var(--light-grey)); opacity: 100%; }

/* Misc hidden / display helpers */
.rft-hidden          { display: none !important; background-color: rgb(var(--red)); }
.display-hidden      { display: none; }
.rft_no-display      { display: none; }
.hiddenField         { display: none; }
.rft-hidden-column   { display: none !important; }

.display-hidden-ul ul { display: none; margin-bottom: unset; }

.unhover :hover { background-color: unset; }

.rft-fit-content       { width: 1px; }
.rft-fit-content *     { width: fit-content; max-width: fit-content; min-width: fit-content; }

/* Colors */
.rft-green  { background-color: rgb(var(--green)) !important; color: rgb(var(--white)) !important; }
.rft-gray   { background-color: rgb(var(--light-grey)) !important; color: rgb(var(--dark-grey)) !important; }
.rft-bg-yellow { background-color: yellow; }
.rft-bg-blue   { background-color: blue; }
.rft-bg-red    { background-color: rgb(var(--red)); }
.rft-test-red  { background-color: red; }

/* Darken overlay */
.darken { position: relative; }
.darken::after {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background-color: rgba(0, 0, 0, 0.1);
    pointer-events: none;
}

/* Inline / flex containers */
.inline-container { display: flex; align-items: center; }
.inline-container label { margin-right: 10px; }

.flex-container { display: flex; align-items: center; }

.nowrap { white-space: nowrap; }

.relative-container { position: relative; }
.absolute-element   { position: absolute; }

.inline-element {
    display: inline-block;
    vertical-align: middle;
    margin-right: 10px;
}

/* One-liner */
.rft-one-liner      { white-space: nowrap; }
.rft-one-liner span { display: inline-flex; align-items: center; gap: 6px; }
.rft-one-liner input[type="checkbox"] { margin: 0; }

.rft-flex-one-liner { align-items: baseline; display: flex; white-space: nowrap; }

.rft-title-wrap { padding-right: 0.8rem; }

/* Page disabled/enabled */
.page_disabled { text-decoration: none; pointer-events: none; cursor: default; }
.page_enabled  { text-decoration: underline; }

/* aspNetDisabled */
.aspNetDisabled        { opacity: 0.85; }
.aspNetDisabled:hover  { opacity: 1; }

/* Inactive */
.rft-inactive, .rft-inactive * { cursor: not-allowed !important; transition: color 0.333s ease-in-out; opacity: 0.95; }
.rft-inactive:hover, .rft-inactive:hover * { color: rgb(var(--orange)); }

/* Permissions */
.rft-disabled-by-permissions {
    color: darkslategrey;
    font-weight: bolder;
    opacity: 0.75;
    cursor: default;
}

.rft-disabled-by-permissions:hover { border: 0.20rem solid rgb(var(--orange)) !important; cursor: default !important; }

.required.rft-disabled-by-permissions:hover { border: 0.20rem solid rgb(var(--orange)) !important; cursor: default !important; }

.rft-disabled-menu-bar-button { cursor: default; color: rgb(var(--mid-grey)) !important; }
.rft-disabled-menu-bar-button:hover { color: rgb(var(--mid-grey)) !important; background: unset !important; }

.rft_link-delete.rft-disabled-by-permissions { color: darkslategrey !important; cursor: default; }
.rft_link-delete.rft-disabled-by-permissions :hover { color: darkslategrey !important; opacity: 0.75 !important; font-weight: bolder; background-color: unset !important; cursor: default !important; }

.rft-disabled-by-permissions-delete        { color: rgb(var(--mid-grey)); font-weight: bolder; opacity: 0.85; }
.rft-disabled-by-permissions-delete :hover { color: rgb(var(--light-grey)); opacity: 0.95; }

/* Disable block */
.rft-disable-block { pointer-events: none; opacity: 1; position: relative; }
.rft-disable-block::after {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: rgb(var(--light-grey));
    opacity: 0.2;
    pointer-events: none;
    z-index: 9999;
}

/* No permission */
.rft-no-permission > * {}
.rft-no-permission::before {}

/* Exclude checkbox */
.rft-exclude-checkbox { display: none; }

/* Associate right */
.rft-associate-right {}

/* Active state (generic) */
.active { background-color: #428bca; color: white; }

/* List group */
.list-group-item { padding: 0.25rem; font-weight: bold; }

/* Tooltip */
.tooltip-message {
    position: fixed;
    background: #333;
    color: #fff;
    padding: 8px 12px;
    border-radius: 4px;
    white-space: nowrap;
    font-size: 13px;
    opacity: 0;
    transform: scale(0.75);
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
    z-index: 999999999;
}

/* eqjs overrides */
.eqjs-facets-button-maximize  { display: none; }
.eqjs-facets-button-export    { display: none; }
.eqjs-facets-button-refresh   { display: none; }
.eqjs-qp-ve-editbox           { min-width: unset !important; max-width: unset !important; }

/* Checkboxdatagrid */
.checkboxdatagrid { margin: 0.4rem; }

/* Actions column */
.rft-actions-column {
    display: flex;
    align-items: center;
    font-size: 12px;
    transition: background-color 0.18s;
}

.rft-actions-column span:first-of-type { padding-top: 0.24rem; padding-left: 0.24rem; }

/* Event info */
.event-info {
    max-width: 150px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    cursor: pointer;
}

/* Nav overrides */
.nav > li > a { padding: 0.4rem; }

/* Padding utilities */
.rft_R-Padded-16 { padding: 0 1.6rem 0 0; }

/* Attribute category list */
.rft_attribute_categorylist {}
.rft_attribute_categorylist-wrapper { height: 16rem; overflow-y: scroll; }
.rft_attribute_categorylist-wrapper label { font-weight: unset; font-size: 1.10rem; display: unset; padding: 0 0 1.2rem 0; margin: 0 0 0.8rem 0.4rem; }
.rft_attribute_categorylist-wrapper td   { width: fit-content; white-space: nowrap; padding: 1rem; }

/* rdlViewClass */
.rdlViewClass { display: table-cell; }
.rdlViewClass > tbody > tr > td > input { visibility: hidden; display: none; padding: 0; }

/* User permissions */
#ctl00_ContentPlaceHolder1_tcUser_tpMain_clbRoles > tbody > tr > td { display: flex; padding: 0.4rem; }
#ctl00_ContentPlaceHolder1_tcUser_tpMain_clbRoles > tbody > tr > td input[type="checkbox"] { padding: 0 0.4rem 0 0; margin: 0 0.4rem 0 0; }

#ContentPlaceHolder1_tcUser_tpPermissions_pgPermissions_rblBulkPermissionChange > tbody > tr > td { display: inline-flex; padding: 0.4rem; }
#ContentPlaceHolder1_tcUser_tpPermissions_pgPermissions_rblBulkPermissionChange > tbody > tr > td input[type="radio"] { padding: 0 0.4rem 0 0; margin: 0 0.4rem 0 0; }

.rft-bulk-permissions-radio-group { margin: 0 0 0 1rem; position: absolute; right: 82px; padding: 55px 0 0 0; }

/* Asset grid hidden buttons */
.rft_AssetGridEditButton   { display: none; }
.rft_AssetGridDeleteButton { display: none; }

/* Div grid */
.rft_div-grid { padding: 5px; width: 48%; }

/* Tab wrapper */
.rft_tab       {}
.rft_tab-wrapper { width: 100%; padding-right: 1.6rem; }

/* Misc specific IDs */
#ContentPlaceHolder1_tcFields_tpAdvSearch {}
.rft-active-period-highlight {}
#ContentPlaceHolder1_tcAsset_tpMain_Images > div.note {}

/* Report builder */
.rpt_bldr-reports-list { max-height: 42rem; background-color: rgb(var(--light-grey)); overflow-y: auto; overflow-x: hidden; margin: 0 0 2rem 0; padding: unset; }
.rpt_bldr-cond-list    { max-height: 36rem !important; margin: 0 0 2rem 0; }

/* Modal form footer */
.modalform-footer {
    width: unset;
    padding: 0 5rem;
    background-color: #ABB3C3;
    color: #FFF;
    line-height: 60px;
    opacity: 0.8;
}

/* Loading spinner */
.loading {
    animation: spin 1.5s linear infinite;
}

/* Filler column for grid */
.rft-grid-filler-column { width: 60%; opacity: 1; transition: width 500ms ease; }

/* Sub title */
.sub-title {
    font-size: 16px !important;
    color: #FFF;
    padding-left: 10px !important;
    line-height: 22px !important;
    text-transform: uppercase;
    font-weight: 700 !important;
}

/* Footer legacy */
#footer { font-size: 12px; line-height: 12px; padding: 20px 15px; background-color: #F3F3F3; }
#footer img { transition: all 0.20s ease; }
#footer a img:hover { opacity: 0.70; filter: alpha(opacity=70); }
#footer .rftrack { float: left; padding-right: 20px; }
#footer .rftrack img { display: block; margin-bottom: 5px; }
#footer .rftrack a   { margin: 0 10px; }
#footer .inlogic     { margin-top: -5px; }
#footer .inlogic img { display: block; margin-bottom: 0; }

#subFooter { font-size: 12px; line-height: 12px; padding: 20px 15px; }

/* Jmodal */
.jmodal-button { padding: 0.2rem 0.2rem 0 0.2rem !important; }
.jmodal-button:hover { text-decoration: none; }

.jmodal-popup {
    display: none;
    padding: 5px;
    border: 4px solid #072256;
    z-index: 999;
    width: 50%;
    height: fit-content;
    overflow: auto;
    background-color: #6288B8;
    position: fixed;
    top: 25%;
    left: 25%;
}

.jmodal-content {
    border-radius: 1rem;
    position: relative;
    background-color: rgb(var(--white));
    margin: auto;
    padding: 0;
    width: fit-content;
    height: fit-content;
    max-width: 60rem;
}

.jmodal-content span {
    font-family: 'Inter', sans-serif;
    background: rgb(var(--vivid-blue));
    border: 1px solid transparent;
    border-radius: 0.40rem;
    font-size: 1.30rem;
    padding: 0.60em 1.2em;
    color: rgb(var(--white));
    text-align: center;
    cursor: pointer;
    transition: background-color 0.18s;
}

.jhelp {
    padding: 0 15px 0 25px;
    border: 1px solid rgb(var(--orange));
    background-color: #F3F3F3;
    font: 400 15px 'Open Sans', Helvetica, Arial, sans-serif;
    line-height: 1.6;
    box-sizing: unset;
    margin: 1.5rem 0 0 0;
}

.jhelp * { padding: inherit; }

.jmodal-close {
    margin: 0 0 0 1.2rem;
    font-family: 'Inter', sans-serif;
    background: rgb(var(--vivid-blue));
    border: 1px solid transparent;
    border-radius: 0.40rem;
    font-size: 1.30rem;
    padding: 0.60em 1.2em;
    color: rgb(var(--white));
    text-align: center;
    cursor: pointer;
    transition: background-color 0.18s;
}

.jmodal-close:hover, .jmodal-close:focus { background: rgb(var(--dark-blue)); }

.jmodal-header { margin: 1rem 0 0 0; text-align: right !important; font-size: 1.20rem; }

.jmodal-background {
    position: absolute;
    z-index: 1;
    opacity: 66%;
    background-color: rgb(var(--dark-grey));
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
}

/* Shades */
.rft-dark-grey-shade  { background-color: rgb(var(--dark-grey)) !important; opacity: 96%; z-index: 1; }
.rft-light-grey-shade { background-color: rgb(var(--dark-grey)) !important; opacity: 66%; z-index: 1; }

.modalBackground { opacity: 66%; background-color: rgb(var(--dark-grey)); }

/* Spinner */
.rft-spinner-Container {
    position: fixed;
    text-align: center;
    top: 0; bottom: 0; left: 0; right: 0;
    background-color: transparent;
    z-index: 2147483647;
}

.rft-spinner {
    display: block;
    margin-left: auto;
    margin-right: auto;
    position: fixed;
    top: 50%; left: 50%;
    height: 25%;
    transform: translate(-50%, -50%);
    z-index: 2147483647;
    opacity: 0;
    animation: rft-spinner-fadeIn 0.5s forwards, rft-spinner-pulse 3s infinite 0.5s, rft-spinner-spin 6s linear infinite;
}

.rft-shader {
    position: fixed;
    display: none;
    left: 0; right: 0; top: 0; bottom: 0;
    background-color: rgb(var(--shade));
    z-index: 2147483646;
    opacity: 0;
    animation: rft-shade-fadeIn 0.5s forwards;
}

/* Alert box */
.rft-alert-message {
    margin-bottom: 20px;
    font-size: 16px;
    line-height: 1.5;
    color: #333;
    text-align: center;
    font-family: 'Open Sans', Arial, sans-serif;
    word-wrap: break-word;
}

.rft-alert-box {
    position: fixed;
    top: 25%; left: 50%;
    transform: translate(-50%, -50%);
    background: rgb(var(--white));
    padding: 30px;
    border-radius: 8px;
    box-shadow: 1px 4px 20px rgba(0, 0, 0, 0.3);
    z-index: 999999900;
    font-family: 'Open Sans', Arial, sans-serif;
    text-align: center;
    min-width: 300px;
    max-width: 500px;
    border: 1px solid rgb(var(--light-blue));
    animation: fadeIn-alert 0.2s ease-in-out;
}

/* Current inventory header */
.rft-current-inventory-header-table {
    padding: 1.5rem 0 0.8rem 0;
    border: 3px groove rgb(var(--light-grey));
    margin: 1.2rem 0 0.8rem 0;
    border-radius: 5px;
}

/* Dynamic note */
.rft-dynamic-note {
    display: flex;
    top: 50%; left: 33%;
    position: relative;
    min-width: fit-content;
    max-width: fit-content;
    white-space: nowrap;
}

/* Fade hide */
.rft-fade-hide { transition: opacity 0.333s ease; opacity: 0; }

/* Center link */
.center-link {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    text-decoration: none;
    padding: 10px 20px;
    background-color: lightcoral;
    color: white;
    border-radius: 5px;
    font-family: Arial, sans-serif;
    font-size: 18px;
    text-align: center;
    display: inline-block;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
}

/* Icon size overrides for specific flaticon classes */
span[class*="fi-rs-time-past"]:before,
span[class*="fi-rs-share-square"]:before,
span[class*="fi-rs-clip"]:before,
span[class*="fi-rs-picture"]:before { font-size: 1.40rem; }

/* Nav pin */
.nav-pin { z-index: 0; }

/* Field container wrapper */
.field-container-wrapper {
    background-color: #f0f5f9;
    padding: 20px;
}

/* Responsive filler column */
@media screen and (max-width: 1700px) { .rft-grid-filler-column { width: 50%; } }
@media screen and (max-width: 1650px) { .rft-grid-filler-column { width: 40%; } }
@media screen and (max-width: 1100px) { .rft-grid-filler-column { width: 30%; } }
@media screen and (max-width: 1050px) { .rft-grid-filler-column { width: 25%; } }
@media screen and (max-width: 1000px) { .rft-grid-filler-column { width: 20%; } }
@media screen and (max-width:  950px) { .rft-grid-filler-column { width: 15%; } }
@media screen and (max-width:  900px) { .rft-grid-filler-column { width: 10%; } }
@media screen and (max-width:  850px) { .rft-grid-filler-column { width: 5%; } }
@media screen and (max-width:  800px) { .rft-grid-filler-column { width: auto; } }


/* ============================================================
   26. SETTINGS PAGE (from settingStyle.css)
   ============================================================ */

/* Search bar */
.search-container {
    display: flex;
    align-items: center;
    width: 50%;
    gap: 5px;
    white-space: nowrap;
    margin-left: 13%;
    justify-content: center;
}

.search-container input,
.search-container button { margin-right: 10px; }

.search-container input  { width: 50%; }
.search-container button { width: 20%; }

.search-label {
    margin-right: 10px;
    width: 200px;
    font-weight: bolder;
    font-size: 14px;
    font-family: 'Inter', sans-serif;
    color: rgb(var(--orange));
}

.no-matches-label {
    color: rgb(var(--red));
    margin-top: 10px;
    display: block;
}

#txtSearch { width: 200px; }
#btnSearch  { width: auto; }

/* Accordion */
.accordionPanel {
    font-family: 'Inter', sans-serif;
    font-weight: bolder;
    font-size: x-large;
}

.accordionButton {
    border: 1px solid transparent;
    border-radius: 1rem;
    background-color: rgb(var(--vivid-blue));
    color: rgb(var(--white));
    cursor: pointer;
    font-weight: bolder;
    font-size: 14px;
    font-family: 'Inter', sans-serif;
    height: 90px;
    text-transform: uppercase;
    margin: 2px;
    width: 20%;
}

.accordionButton:hover {
    background-color: rgb(var(--mid-blue));
    border-color: rgb(var(--black));
}

.accordionHeader {
    background-color: #fff;
    padding: 10px;
    font-size: 18px;
    font-weight: bold;
}

.accordionContent {
    background-color: #fff;
    padding: 10px;
    opacity: 0.95;
}

.row-fluid {
    padding-top: 1%;
    padding-left: 10%;
    background-color: rgb(var(--light-grey));
}

/* Settings pane */
.rft_setings-pane {
    overflow: auto;
    scroll-behavior: smooth;
    scrollbar-track-color: #F3F3F3;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
}

/* Modal popup (settings context) */
/* Modal popup (settings context) */
.modalPopup {
    border-radius: 1rem;
    padding: 2px 5px;
    width: 85%;
    margin: 0 auto;
    text-align: left;
    direction: ltr;
    font-family: 'Inter', sans-serif;
    background: rgb(var(--dark-blue));
    color: white;
    bottom: 20%;

}

/* Explicitly pin modal title and drag bar so .help overrides can't bleed up */
#modalSpan,
.modalPopup .cell-right {
    color: white !important;
    text-transform: uppercase !important;
}

@media screen and (min-width: 768px) {
    .modalPopup {
        width: 90%;
        height: 95%;
        max-width: 95%;
        padding: 1rem;
        min-height: 33%;
        overflow: auto;
    }
}

/* X-panel (settings accordion panels) */
.x-panel {
    background-color: #fff;
    flex: 1 1 200px;
    box-sizing: border-box;
    text-align: left;
    margin: 2px;
}

.x-panel h1 {
    padding: 0.3rem;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.20em;
    color: rgb(var(--white));
    background: rgb(var(--vivid-blue));
    cursor: pointer;
}

.x-panel .x-content {
    background: rgb(var(--light-grey));
    display: flex;
    flex-direction: column;
    font-size: 1.20rem;
    padding: 0.75rem;
}

.x-panel .x-content ul {
    display: flex;
    flex-wrap: nowrap;
    padding: 0;
    margin: 0;
}

.x-panel .x-content ul li {
    list-style: none;
    margin-right: 1.0rem;
    color: rgb(var(--dark-blue));
}

.x-panel .x-content ul li:first-of-type { width: 20rem; }
.x-panel .x-content ul li:first-of-type input[type="checkbox"] { float: right; }
.x-panel .x-content ul li:last-of-type { width: 100%; padding: 0 0 0 2rem; text-transform: none; }

/* X-content standalone */
.x-content { padding: 10px; }

/* X-accordion */
.x-accordion { width: 100%; margin: 0 auto; }

/* Settings responsive */
@media (max-width: 1200px) { .rft_settings-pane, .x-accordion { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); max-width: 1000px; } .x-panel { flex: 1 1 150px; } }
@media (max-width: 1000px) { .x-accordion { max-width: 800px; } }
@media (max-width:  800px) { .rft_settings-pane, .x-accordion { grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); max-width: 600px; } .x-panel { flex: 1 1 100px; } }
@media (max-width:  600px) { .x-accordion { max-width: 100%; } .x-panel { margin-bottom: 5px; } .x-content { padding: 5px; } }
@media (max-width: 1200px) { .x-panel { flex: 1 1 45%; } }
@media (max-width:  800px) { .x-panel { flex: 1 1 100%; } }

@media screen and (min-width: 1200px) { .element { width: 90%; height: 85%; } }

/* popupCustomStyle (single definition — was duplicated in settingStyle.css) */
.popupCustomStyle { left: 40px; right: 40px; }


/* ============================================================
   27. TRANSFORMS / ANIMATION UTILITIES
   ============================================================ */
.rotate-180  { transform: rotate(-180deg); }
.rotate-360  { transform: rotate(-360deg); }
.rotate-720  { transform: rotate(-720deg); }
.rotate-1440 { transform: rotate(-1440deg); }

/* NOTE: animate-all-100 has background-color: blueviolet — this is intentional per source */
.animate-all-100 {
    background-color: blueviolet;
    transition: all 1.0s ease;
}

.animate-all-80 { transition: all 0.80s ease; }

.fade-out * { opacity: 0; }
.fade-in  * { opacity: 1; }

.pageMessageWrapper-icon {}

.date-picker {}
.time-picker {}


/* ============================================================
   28. KEYFRAME ANIMATIONS
   ============================================================ */
@keyframes fadeIn {
    0%   { opacity: 0; }
    100% { opacity: 1; }
}

@-webkit-keyframes fadeIn {
    0%   { opacity: 0; }
    100% { opacity: 1; }
}

@keyframes fadeOut {
    0%   { opacity: 1; }
    100% { opacity: 0; }
}

@-webkit-keyframes fadeOut {
    0%   { opacity: 1; }
    100% { opacity: 0; }
}

@keyframes spin {
    100% { transform: rotate(360deg); }
}

@-webkit-keyframes spin {
    100% { -webkit-transform: rotate(360deg); }
}

@-moz-keyframes spin {
    100% { -moz-transform: rotate(360deg); }
}

@keyframes wobble {
    0%   { transform: translateX(0); }
    15%  { transform: translateX(-5px); }
    30%  { transform: translateX(5px); }
    45%  { transform: translateX(-5px); }
    60%  { transform: translateX(5px); }
    75%  { transform: translateX(-5px); }
    90%  { transform: translateX(5px); }
    100% { transform: translateX(0); }
}

@keyframes flashRed {
    0%   { background-color: white; color: rgb(var(--red)); }
    50%  { background-color: rgb(var(--red)); color: yellow; }
    100% { background-color: white; color: rgb(var(--red)); }
}

@keyframes throb {
    0%   { transform: scale(1);   font-weight: normal; }
    50%  { transform: scale(1.3); font-weight: bold; }
    100% { transform: scale(1);   font-weight: normal; }
}

@keyframes slideDownPopUp {
    0%   { transform: translateY(0);     opacity: 1; }
    30%  { transform: translateY(100%);  opacity: 0; }
    60%  { transform: translateY(-100%); opacity: 0; }
    100% { transform: translateY(0);     opacity: 1; }
}

@keyframes spinWobble {
    0%   { transform: rotate(0deg)   translate(0px, 0px); }
    10%  { transform: rotate(36deg)  translate(2px, -0.5px); }
    20%  { transform: rotate(72deg)  translate(-1px, -1px); }
    30%  { transform: rotate(108deg) translate(3px, -1.5px); }
    40%  { transform: rotate(144deg) translate(-2px, -2px); }
    50%  { transform: rotate(180deg) translate(1px, -2.5px); }
    60%  { transform: rotate(216deg) translate(-3px, -3px); }
    70%  { transform: rotate(252deg) translate(0px, -2px); }
    80%  { transform: rotate(288deg) translate(2px, -1px); }
    90%  { transform: rotate(324deg) translate(-1px, -0.5px); }
    100% { transform: rotate(360deg) translate(0px, 0px); }
}

/* hopWobble is very long — preserved verbatim */
@keyframes hopWobble {
    0%   { transform: translate(0px,  0px); }    1%  { transform: translate(2px, -0.1px); }
    2%   { transform: translate(4px, -0.2px); }  3%  { transform: translate(3px, -0.3px); }
    4%   { transform: translate(1px, -0.4px); }  5%  { transform: translate(0px, -0.5px); }
    6%   { transform: translate(2px, -0.6px); }  7%  { transform: translate(1px, -0.7px); }
    8%   { transform: translate(-1px,-0.8px); }  9%  { transform: translate(-2px,-0.9px); }
    10%  { transform: translate(-4px,-1px); }    11% { transform: translate(-3px,-1.1px); }
    12%  { transform: translate(-1px,-1.2px); }  13% { transform: translate(-2px,-1.3px); }
    14%  { transform: translate(0px, -1.4px); }  15% { transform: translate(2px, -1.5px); }
    16%  { transform: translate(4px, -1.6px); }  17% { transform: translate(3px, -1.7px); }
    18%  { transform: translate(1px, -1.8px); }  19% { transform: translate(0px, -1.9px); }
    20%  { transform: translate(-2px,-2px); }    21% { transform: translate(-4px,-2.1px); }
    22%  { transform: translate(-3px,-2.2px); }  23% { transform: translate(-1px,-2.3px); }
    24%  { transform: translate(1px, -2.4px); }  25% { transform: translate(2px, -2.5px); }
    26%  { transform: translate(0px, -2.6px); }  27% { transform: translate(-2px,-2.7px); }
    28%  { transform: translate(-1px,-2.8px); }  29% { transform: translate(1px, -2.9px); }
    30%  { transform: translate(3px, -3px); }    31% { transform: translate(4px, -3.1px); }
    32%  { transform: translate(2px, -3.2px); }  33% { transform: translate(0px, -3.3px); }
    34%  { transform: translate(-2px,-3.4px); }  35% { transform: translate(-3px,-3.5px); }
    36%  { transform: translate(-1px,-3.6px); }  37% { transform: translate(1px, -3.7px); }
    38%  { transform: translate(3px, -3.8px); }  39% { transform: translate(2px, -3.9px); }
    40%  { transform: translate(0px, -4px); }    41% { transform: translate(-2px,-4.1px); }
    42%  { transform: translate(-4px,-4.2px); }  43% { transform: translate(-3px,-4.3px); }
    44%  { transform: translate(-1px,-4.4px); }  45% { transform: translate(1px, -4.5px); }
    46%  { transform: translate(3px, -4.6px); }  47% { transform: translate(4px, -4.7px); }
    48%  { transform: translate(2px, -4.8px); }  49% { transform: translate(0px, -4.9px); }
    50%  { transform: translate(-2px,-5px); }    51% { transform: translate(-4px,-4.9px); }
    52%  { transform: translate(-3px,-4.8px); }  53% { transform: translate(-1px,-4.7px); }
    54%  { transform: translate(1px, -4.6px); }  55% { transform: translate(2px, -4.5px); }
    56%  { transform: translate(0px, -4.4px); }  57% { transform: translate(-2px,-4.3px); }
    58%  { transform: translate(-1px,-4.2px); }  59% { transform: translate(1px, -4.1px); }
    60%  { transform: translate(3px, -4px); }    61% { transform: translate(2px, -3.9px); }
    62%  { transform: translate(0px, -3.8px); }  63% { transform: translate(-2px,-3.7px); }
    64%  { transform: translate(-3px,-3.6px); }  65% { transform: translate(-1px,-3.5px); }
    66%  { transform: translate(1px, -3.4px); }  67% { transform: translate(3px, -3.3px); }
    68%  { transform: translate(4px, -3.2px); }  69% { transform: translate(2px, -3.1px); }
    70%  { transform: translate(0px, -3px); }    71% { transform: translate(-2px,-2.9px); }
    72%  { transform: translate(-4px,-2.8px); }  73% { transform: translate(-3px,-2.7px); }
    74%  { transform: translate(-1px,-2.6px); }  75% { transform: translate(1px, -2.5px); }
    76%  { transform: translate(2px, -2.4px); }  77% { transform: translate(0px, -2.3px); }
    78%  { transform: translate(-2px,-2.2px); }  79% { transform: translate(-1px,-2.1px); }
    80%  { transform: translate(1px, -2px); }    81% { transform: translate(3px, -1.9px); }
    82%  { transform: translate(2px, -1.8px); }  83% { transform: translate(0px, -1.7px); }
    84%  { transform: translate(-2px,-1.6px); }  85% { transform: translate(-3px,-1.5px); }
    86%  { transform: translate(-1px,-1.4px); }  87% { transform: translate(1px, -1.3px); }
    88%  { transform: translate(3px, -1.2px); }  89% { transform: translate(4px, -1.1px); }
    90%  { transform: translate(2px, -1px); }    91% { transform: translate(0px, -0.9px); }
    92%  { transform: translate(-2px,-0.8px); }  93% { transform: translate(-4px,-0.7px); }
    94%  { transform: translate(-3px,-0.6px); }  95% { transform: translate(-1px,-0.5px); }
    96%  { transform: translate(1px, -0.4px); }  97% { transform: translate(2px, -0.3px); }
    98%  { transform: translate(0px, -0.2px); }  99% { transform: translate(-1px,-0.1px); }
    100% { transform: translate(0px, 0px); }
}

@keyframes rft-spinner-fadeIn {
    from { opacity: 0; }
    to   { opacity: 0.9; }
}

@keyframes rft-spinner-pulse {
    0%, 50%, 100% { opacity: 1; }
}

@keyframes rft-shade-fadeIn {
    from { opacity: 0; }
    to   { opacity: 0.5; }
}

@keyframes rft-spinner-spin {
    0%   { transform: translate(-50%, -50%) rotate(360deg); }
    20%  { transform: translate(-50%, -50%) rotate(180deg); }
    40%  { transform: translate(-50%, -50%) rotate(40deg); }
    60%  { transform: translate(-50%, -50%) rotate(35deg); }
    80%  { transform: translate(-50%, -50%) rotate(20deg); }
    100% { transform: translate(-50%, -50%) rotate(0deg); }
}

@keyframes fadeIn-alert {
    from { opacity: 0; transform: translate(-50%, -50%) scale(0.8); }
    to   { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}
