/**
 * IMMS PRA Status Checker - public replica stylesheet.
 * Derived 1:1 from the original myIMMs page.css, namespaced under .prs-page
 * so it cannot leak into (or be broken by) the active theme.
 * Fixed-width, desktop-only layout - intentionally NOT mobile optimized.
 */

/* ---------- Base ---------- */
.prs-page {
        font-family: sans-serif;
        font-size: 12px;
        margin: 0;
        padding: 0;
        background-color: #143D55;
        position: relative;
        text-align: left;
        color: #000;
}

body.prs-standalone {
        background-color: #143D55 !important;
        min-height: 100vh !important;
        margin: 0 !important;
        padding: 0 !important;
}

/* Wrapper div of the full-width takeover - keeps the dark blue canvas
   filling the whole viewport exactly like the original body rule. */
.prs-standalone-root {
        background-color: #143D55;
        min-height: 100vh;
}

/* The replica itself always fills at least the full viewport height, so the
   dark-blue canvas (#143D55, the original body rule) reaches the bottom of
   the page on every screen - no white gap can appear below the content. */
.prs-page {
        min-height: 100vh;
}

/* Inner layout containers stay transparent so the blue canvas of .prs-page
   shows through everywhere around the content (left/right of the 1340px
   box, between sections, below the sidebar), exactly like the original
   body background. Guards against theme rules such as td { background:#fff }. */
.prs-page #boxmaster-b,
.prs-page #boxmain,
.prs-page #boxmenu,
.prs-page #box_contentPublic,
.prs-page #box_menucontainerPublic,
.prs-page #box_menucontentPublic,
.prs-page .form_container {
        background: transparent;
}

.prs-page table {
        font-size: 12px;
        border-collapse: separate;
}

.prs-page td,
.prs-page th {
        font-size: 11px;
        padding-left: 2px;
        padding-right: 2px;
        border: 0;
}

.prs-page input {
        font-size: 11px;
        font-weight: bold;
}

.prs-page select {
        font-size: 11px;
        font-weight: bold;
}

.prs-page a {
        color: red;
        text-decoration: none;
        font-weight: normal;
}

.prs-page a:hover {
        color: red;
        text-decoration: none;
}

.prs-page form {
        margin: 0;
        padding: 0;
}

/* ---------- Header ---------- */
.prs-page .prs-clock-wrap {
        width: 80px;
        overflow: auto;
        height: 30px;
        margin: 0;
        position: absolute;
        top: 58px;
        left: 398px;
        float: left;
        z-index: 10;
}

.prs-page .prs-clock {
        width: 60px;
        text-align: center;
        border: 0;
        background: transparent;
        font-size: 11pt;
        font-weight: bold;
        font-family: "Century Gothic", "CenturyGothic", "AppleGothic", sans-serif;
        color: #000;
}

.prs-page .prs-date-table {
        width: 220px;
        table-layout: fixed;
}

/* Date sits bottom-aligned inside a fixed 40px row, the single decorative
   line follows in a fixed 7px row - identical rhythm to the original header
   (date text ends ~y37, line at ~y42 of the 96px banner). Explicit heights
   keep theme CSS from collapsing the rows onto each other. */
.prs-page .prs-date-cell {
        height: 40px;
        vertical-align: bottom;
        text-align: center;
        font-size: 11px;
        font-weight: normal;
        line-height: 14px;
        white-space: nowrap;
        color: #000;
        padding: 0 0 3px 0;
        position: relative;
        z-index: 2;
        overflow: visible;
}

.prs-page .prs-date-line-row td {
        height: 7px;
        line-height: 7px;
        font-size: 0;
        padding: 0;
}

.prs-page .prs-date-line-row img {
        display: block;
        margin: 0 auto;
        width: 200px;
        height: 7px;
        max-width: none;
}

.prs-page .prs-date-filler {
        height: 49px;
        line-height: 12px;
        padding: 0;
}

/* ---------- Layout ---------- */
.prs-page #boxmaster-b {
        text-align: center;
}

.prs-page #boxmain {
        width: 1340px;
        text-align: left;
        padding: 0 0 10px 0;
        margin: 0 auto;
        border: 0 solid #000;
}

.prs-page #boxmenu {
        width: 160px;
        float: left;
}

.prs-page #box_contentPublic {
        width: 1058px;
        float: left;
        padding-left: 80px;
}

/* ---------- Sidebar menu ---------- */
.prs-page #box_menucontainerPublic {
        width: 200px;
        color: #2a2d2e;
        font-family: Arial, Helvetica, sans-serif;
        font-size: 11px;
}

.prs-page #box_menucontainerPublic ul {
        margin: 0;
        padding: 5px 0 20px;
}

.prs-page #box_menucontentPublic li {
        list-style-type: none;
        width: 160px;
}

.prs-page #box_menucontentPublic ul li {
        list-style: none;
        display: inline;
}

.prs-page #box_menucontentPublic ul li a {
        display: block;
        padding: 10px 10px 10px 10px;
        background: url('../../assets/img/li-dot.gif') no-repeat left top;
        border-bottom: 1px dotted #E0E0E0;
        color: #E0E0E0;
        font-weight: normal;
}

.prs-page #box_menucontentPublic ul li a:hover {
        background: url('../../assets/img/li-dot.gif') no-repeat left top;
        text-decoration: none;
        color: #CCFF00;
        font-size: 11px;
        font-weight: bold;
}

.prs-page #box_menucontentPublic ul li a.active {
        color: #FFF000;
        font-weight: bold;
        font-size: 11px;
}

.prs-page #box_menucontentPublic ul li a.active:hover {
        color: #FFF000;
        font-weight: bold;
}

.prs-page .submenu {
        width: 165px;
        line-height: 18px;
        padding-left: 2px;
        font-weight: bold;
        border-bottom: 2px solid #F00;
        text-transform: uppercase;
        font-size: 11px;
        color: #eeeeee;
        margin-left: 10px;
}

/* ---------- Form area ---------- */
.prs-page .tblwidth {
        width: 1058px;
}

.prs-page .rowheader {
        line-height: 23px;
        font-size: 11px;
        font-weight: bold;
        padding-left: 10px;
        border-bottom: 0 solid #F00;
        color: #FFF;
        text-transform: uppercase;
        background: url('../../assets/img/hb.png');
}

.prs-page .labelM_3 {
        padding-left: 10px;
        background-color: #B3D9FF;
        font-size: 12px;
        line-height: 18px;
        width: 180px;
        border-bottom: 0 dotted #E0E0E0;
}

.prs-page #VIEW_IMG {
        position: relative;
        cursor: pointer;
        margin-left: 8px;
        white-space: nowrap;
}

.prs-page #VIEW_IMG img {
        vertical-align: middle;
}

/* ---------- Results ---------- */
.prs-page .subheader {
        line-height: 20px;
        font-size: 11px;
        font-weight: bold;
        background-color: #B3D9FF;
        text-align: center;
}

.prs-page table.tblwidth tr.subheader td {
        text-align: center;
}

/* ---------- Error / notice bar ---------- */
.prs-page .error {
        font-size: 11px;
        font-weight: bolder;
        border: 1px solid;
        padding: 2px 0 2px 10px;
        line-height: 18px;
        text-transform: uppercase;
        color: #FF0000;
        background-color: #FFBABA;
        text-align: center;
}

/* ---------- Pagination ---------- */
.prs-page tr.PAGING td {
        vertical-align: middle;
}

.prs-page .prs-pager-form {
        display: inline-block;
        line-height: 27px;
        height: 27px;
        text-align: right;
        padding-right: 10px;
        background-image: url('../../assets/img/bc_bg.png');
        background-repeat: repeat-x;
        color: #000;
        border-top: 4px solid #143D55;
        white-space: nowrap;
}

.prs-page .prs-pg-label {
        font-size: 11px;
        font-weight: bold;
        padding: 0 4px;
}

.prs-page .prs-page-input {
        width: 34px;
        text-align: center;
        font-size: 11px;
        font-weight: bold;
        border: 1px solid #999;
        background: #fff;
}

.prs-page .prs-pgbtn,
.prs-page .prs-pg-go {
        font-size: 11px;
        font-weight: bold;
        border: 1px solid #999;
        background: #fff;
        color: #000;
        cursor: pointer;
        padding: 1px 6px;
        margin: 0 1px;
        line-height: 16px;
}

.prs-page .prs-pgbtn:hover,
.prs-page .prs-pg-go:hover {
        background: #e9e9e9;
}

/* ---------- Defensive resets (theme interference guard) ---------- */
.prs-page * {
        box-sizing: content-box;
}

.prs-page table,
.prs-page table td {
        border-spacing: 0;
        box-shadow: none;
}

.prs-page table td p {
        margin: 0;
}

.prs-page::after {
        content: "";
        display: table;
        clear: both;
}

/* ---------- Blue canvas on theme-rendered pages (shortcode mode) ----------
   When the replica is embedded through [pra_status_check] inside a normal
   theme/Elementor page, the theme's own white body and wrappers would leave
   white bands below and to the right of the replica. Body gets the original
   myIMMs blue and the common theme containers become transparent so the blue
   canvas fills every blank area, matching the left sidebar panel (#143D55). */
body.prs-canvas-blue {
        background-color: #143D55 !important;
}

body.prs-canvas-blue #page,
body.prs-canvas-blue #content,
body.prs-canvas-blue #primary,
body.prs-canvas-blue #main,
body.prs-canvas-blue #wrapper,
body.prs-canvas-blue main,
body.prs-canvas-blue article,
body.prs-canvas-blue .site,
body.prs-canvas-blue .site-content,
body.prs-canvas-blue .site-main,
body.prs-canvas-blue .content-area,
body.prs-canvas-blue .entry-content,
body.prs-canvas-blue .elementor,
body.prs-canvas-blue .elementor-section,
body.prs-canvas-blue .elementor-container,
body.prs-canvas-blue .elementor-widget-wrap,
body.prs-canvas-blue .elementor-column-wrap,
body.prs-canvas-blue .e-con,
body.prs-canvas-blue .e-con-inner,
body.prs-canvas-blue .container,
body.prs-canvas-blue .wrapper {
        background-color: transparent !important;
}
