﻿/* DEFAULTS
----------------------------------------------------------*/

.c {
    clear: both;
    font-size: 0;
    overflow: hidden;
    display: block;
}

header {
    background: url(../images/header-bgr.jpg) no-repeat left top;
    position: relative;
    min-height: 141px;
    background-color: #181875;    
}

header .RCS {
    float: left;
    margin: 0px 0px 0px 0px;
}


header .phone {
    float: left;
    margin: 0px 0px 0px 391px;
    color: #fff;
    font: 700 24px/80px Arial;
    text-shadow: 0 1px #000301;
}

header .phone>span {
    color: #ffdb48;
}

header .partner-logos {
    width: 518px;
    height: 95px;
    background-color: #181875;    
    float: right;
    padding-left: 8px;
}

header .mainmenu {
    margin: 0px 0px 0px 200px;
    padding-bottom: 26px;
    border-bottom: 0px solid #8888b8;
}

body   
{
    background: #b6b7bc;
    font-size: .80em;
    font-family: "Helvetica Neue", "Lucida Grande", "Segoe UI", Arial, Helvetica, Verdana, sans-serif;
    margin: 0px;
    padding: 0px;
    color: #696969;
}

a.linkH
{
    color: #F9F9F9 !important;
    font-size: 2em;
    padding-bottom: 0px;
    margin-bottom: 0px;
    font-weight: 700;
}

.linkH
{
    color: #F9F9F9;
    font-size: 2em;
    padding-bottom: 0px;
    margin-bottom: 0px;
    font-weight: 700;
}

a:link, a:visited
{
    color: #034af3;
}

a:hover
{
    color: #1d60ff;
    text-decoration: none;
}

a:active
{
    color: #034af3;
}

p
{
    margin-bottom: 10px;
    line-height: 1.6em;
}


/* HEADINGS   
----------------------------------------------------------*/

h1, h2, h3, h4, h5, h6
{
    font-size: 1.5em;
    color: #666666;
    font-variant: small-caps;
    text-transform: none;
    font-weight: 200;
    margin-bottom: 0px;
}

h1Red
{
    color: Maroon;
    font-size: 1.6em;
    padding-bottom: 0px;
    margin-bottom: 0px;
    font-weight: 700;
    font-variant: small-caps;
}

h1
{
    font-size: 1.6em;
    padding-bottom: 0px;
    margin-bottom: 0px;
}

h2
{
    font-size: 1.5em;
    font-weight: 600;
}

h3
{
    font-size: 1.2em;
}

h4
{
    font-size: 1.1em;
}

h5, h6
{
    font-size: 1em;
}

/* this rule styles <h1> and <h2> tags that are the 
first child of the left and right table columns */
.rightColumn > h1, .rightColumn > h2, .leftColumn > h1, .leftColumn > h2
{
    margin-top: 0px;
}


/* PRIMARY LAYOUT ELEMENTS   
----------------------------------------------------------*/

.page
{
    width: 99%;
    background-color: #fff;
    margin: 0px auto 0px auto;
    border: 1px solid #496077;
}

.header
{
    position: relative;
    margin: 0px;
    padding: 0px;
    background: #4b6c9e;
    width: 100%;
}

.header h1
{
    font-weight: 700;
    margin: 0px;
    padding: 0px 0px 0px 20px;
    color: #f9f9f9;
    border: none;
    line-height: 2em;
    font-size: 2em;
}

.main
{
    padding: 0px 12px;
    margin: 12px 8px 8px 8px;
    min-height: 100%;
}

.leftCol
{
    padding: 6px 0px;
    margin: 12px 8px 8px 8px;
    width: 200px;
    min-height: 200px;
}

.footer
{
    color: #4e5766;
    padding: 8px 0px 0px 0px;
    margin: 0px auto;
    text-align: center;
    line-height: normal;
}


/* TAB MENU   
----------------------------------------------------------*/

div.hideSkiplinkAlt
{
    background-color:#181875;
}

div.hideSkiplink
{
    background-color:#3a4f63;
    width:100%;
}

div.menu
{
    padding: 4px 0px 4px 8px;
}

div.menu ul
{
    list-style: none;
    margin: 0px;
    padding: 0px;
    width: auto;
}

div.menu ul li a, div.menu ul li a:visited
{
    background-color: #465c71;
    border: 1px #4e667d solid;
    color: #dde4ec;
    display: block;
    line-height: 1.35em;
    padding: 4px 20px;
    text-decoration: none;
    white-space: nowrap;
}

div.menu ul li a:hover
{
    background-color: #bfcbd6;
    color: #465c71;
    text-decoration: none;
}

div.menu ul li a:active
{
    background-color: #465c71;
    color: #cfdbe6;
    text-decoration: none;
}

/* FORM ELEMENTS   
----------------------------------------------------------*/

fieldset
{
    margin: 1em 0px;
    padding: 1em;
    border: 1px solid #ccc;
}

fieldset p 
{
    margin: 2px 12px 10px 10px;
}

fieldset.login label, fieldset.register label, fieldset.changePassword label
{
    display: block;
}

fieldset label.inline 
{
    display: inline;
}

legend 
{
    font-size: 1.1em;
    font-weight: 600;
    padding: 2px 4px 8px 4px;
}

input.textEntry 
{
    width: 320px;
    border: 1px solid #ccc;
}

input.passwordEntry 
{
    width: 320px;
    border: 1px solid #ccc;
}

div.accountInfo
{
    width: 42%;
}

/* MISC  
----------------------------------------------------------*/

.clear
{
    clear: both;
}

.title
{
    display: block;
    float: left;
    text-align: left;
    width: auto;
}

.loginDisplay
{
    font-size: 1.1em;
    display: block;
    text-align: right;
    padding: 10px;
    color: White;
}

.loginDisplay a:link
{
    color: white;
}

.loginDisplay a:visited
{
    color: white;
}

.loginDisplay a:hover
{
    color: white;
}

.failureNotification
{
    font-size: 1.2em;
    color: Red;
}

.bold
{
    font-weight: bold;
}

.submitButton
{
    text-align: right;
    padding-right: 10px;
}

    div.RadGrid_Default .rgRow a,
    div.RadGrid_Default .rgAltRow a
    {
        color: blue;
        padding-top:0;
        padding-bottom:0;
    }

    div.RadGrid  .Row1  td
    {
        padding-top:0;
        padding-bottom:0;
        height:1px; 
    }

    div.RadGrid_Default .rgHeader a
    {
        color: blue;
        padding-top:0;
        padding-bottom:0;
    }

a.loginTable {
		  border: 1px solid #777777;
		  background: #F8F8FF;
		  color: black;
		  font-weight: bold;
		  padding: 4px 6px 4px 6px;
		  cursor: pointer;
		  -moz-border-radius: 4px;
		  -webkit-border-radius: 4px;
		  font-size: 11px;
		  text-decoration: none;
		  display: inline-block;		  
		}

.dataGridProps
{
    font-size: 11px;
    width:100%;
    color:Black;
    Border-Color:#999999;
    Border-Style:None;
    Border-Width:1px;
    Padding:1;
}

.dataGridHeader
{
	background-color: #CCCCCC;
	color: black;
	height: 30px;
	overflow: hidden;
    }

.dataGridHeader a
{
	color: black;	
	position: absolute;
	display: block;
	background-color: #CCCCCC;
	height: 30px;
	padding: 0px;
	margin-top: -17px;
	width: 400px;
    }
    
.dataGridHeaderLong a
{
	color: black;	
	position: absolute;
	display: block;
	background-color: #CCCCCC;
	height: 30px;
	padding: 0px;
	margin-top: -17px;
	width: 500px;
    }

.dataGridHeaderMedium a
{
	color: black;	
	position: absolute;
	display: block;
	background-color: #CCCCCC;
	height: 30px;
	padding: 0px;
	margin-top: -17px;
	width: 150px;
    }

.dataGridHeaderMediumAlt a
{
	color: black;	
	position: absolute;
	display: block;
	background-color: #CCCCCC;
	height: 30px;
	padding: 0px;
	margin-top: -17px;
	width: 130px;
    }

.dataGridHeaderShort a
{
	color: black;	
	position: absolute;
	display: block;
	background-color: #CCCCCC;
	height: 30px;
	padding: 0px;
	margin-top: -17px;
	width: 100px;
    }

.dataGridHeaderShortSmall a
{
	color: black;	
	position: absolute;
	display: block;
	background-color: #CCCCCC;
	height: 30px;
	padding: 0px;
	margin-top: -17px;
	width: 50px;
    }

.dataGridHeaderTemplate
{
	color: black;	
	position: absolute;
	display: block;
	background-color: #CCCCCC;
	height: 30px;
	padding: 0px;
	width: 100%;
    }
       
tr.dataGridAltItem{
	background-color: #eeeeff;
    }
    
.dataGridFooter
{
    width:100%;
	background-color: #CCCCCC;
    }

.overlay
{
    position: absolute;
    top: 0;
    left:0;
    width: 100%;
    height: 100%;
    background: #000;
    display: none;
    opacity: .5;
    filter: alpha(opacity=50);
    -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";


}
.popup
{
    position: absolute;
    top: 50%;
    left: 50%;
    margin-left: -150px;
    margin-top: -100px;
    width: 300px;
    height: 200px;
    display: none;
    background: Orange;
}

.rightBorder {
    border-right: 1px solid red;
}

/* RCS portal design system (2026)
----------------------------------------------------------*/
:root {
    --rcs-navy: #102f4f;
    --rcs-navy-deep: #092238;
    --rcs-green: #176b57;
    --rcs-green-dark: #0f5142;
    --rcs-gold: #e7ad2f;
    --rcs-ink: #172535;
    --rcs-muted: #5f6f7e;
    --rcs-line: #dce4e9;
    --rcs-surface: #ffffff;
    --rcs-canvas: #f4f7f8;
    --rcs-danger: #b42318;
    --shadow-sm: 0 1px 2px rgba(9, 34, 56, .06), 0 4px 14px rgba(9, 34, 56, .05);
    --shadow-md: 0 12px 32px rgba(9, 34, 56, .10);
    --radius-sm: 7px;
    --radius-md: 12px;
    --radius-lg: 18px;
}

* { box-sizing: border-box; }

html { min-height: 100%; scroll-behavior: smooth; }

body {
    min-width: 0;
    min-height: 100vh;
    margin: 0;
    background: var(--rcs-canvas);
    color: var(--rcs-ink);
    font-family: "Segoe UI", Inter, Arial, sans-serif;
    font-size: 15px;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}

button, input, select, textarea { font: inherit; }

a { color: var(--rcs-green); }

a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
    outline: 3px solid rgba(231, 173, 47, .55);
    outline-offset: 2px;
}

.shell { width: min(100% - 40px, 1440px); margin-inline: auto; }

.skip-link {
    position: fixed;
    z-index: 9999;
    top: 12px;
    left: 12px;
    padding: 10px 16px;
    border-radius: var(--radius-sm);
    background: #fff;
    color: var(--rcs-navy);
    font-weight: 700;
    transform: translateY(-160%);
    transition: transform .18s ease;
}

.skip-link:focus { transform: translateY(0); }

.site-header {
    position: relative;
    z-index: 50;
    min-height: 0;
    border-bottom: 1px solid rgba(9, 34, 56, .12);
    background: var(--rcs-surface);
    background-image: none;
    box-shadow: var(--shadow-sm);
}

.utility-bar { background: var(--rcs-navy-deep); color: #dce9ec; font-size: 13px; }

.utility-bar__inner {
    min-height: 36px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.utility-bar a { color: #fff; font-weight: 700; text-decoration: none; }
.utility-label { margin-right: 8px; color: #9fc7bb; font-weight: 500; }

.brand-row {
    min-height: 90px;
    display: grid;
    grid-template-columns: minmax(280px, 520px) 1fr auto;
    align-items: center;
    gap: 32px;
}

.brand { display: inline-flex; width: min(100%, 500px); }
.brand img { display: block; width: 100%; height: auto; mix-blend-mode: multiply; }

.brand-row__context {
    justify-self: end;
    padding-left: 24px;
    border-left: 1px solid var(--rcs-line);
    color: var(--rcs-navy);
    line-height: 1.2;
}

.brand-row__context strong { display: block; margin-top: 5px; font-size: 17px; }

.eyebrow {
    color: var(--rcs-green);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.navigation-wrap { border-top: 1px solid var(--rcs-line); background: var(--rcs-navy); }
.primary-navigation { min-height: 34px; display: flex; align-items: stretch; }
.primary-navigation .menu { display: flex; width: 100%; }
.primary-navigation .menu > ul { display: flex; align-items: stretch; flex-wrap: wrap; width: 100%; }
.primary-navigation .menu > ul > li { display: flex; }

.primary-navigation div.menu ul li a,
.primary-navigation div.menu ul li a:visited,
.primary-navigation div.menu ul li a:active {
    min-height: 34px;
    display: flex;
    align-items: center;
    border: 0;
    border-bottom: 3px solid transparent;
    background: transparent;
    color: #edf5f6;
    padding: 0 16px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    transition: background .18s ease, border-color .18s ease, color .18s ease;
}

.primary-navigation div.menu ul li a:hover {
    border-bottom-color: var(--rcs-gold);
    background: rgba(255, 255, 255, .08);
    color: #fff;
}
.primary-navigation div.menu ul li a.menu-selected,
.primary-navigation div.menu ul li a.menu-selected:link,
.primary-navigation div.menu ul li a.menu-selected:visited,
.primary-navigation div.menu ul li a.selected,
.primary-navigation div.menu ul li a.selected:link,
.primary-navigation div.menu ul li a.selected:visited {
    border-bottom-color: var(--rcs-gold);
    background: var(--rcs-green);
    color: #fff;
}

.nav-toggle {
    display: none;
    align-items: center;
    gap: 9px;
    border: 1px solid var(--rcs-line);
    border-radius: var(--radius-sm);
    background: #fff;
    color: var(--rcs-navy);
    padding: 10px 12px;
    font-weight: 700;
    cursor: pointer;
}

.nav-toggle__icon, .nav-toggle__icon::before, .nav-toggle__icon::after {
    display: block;
    width: 20px;
    height: 2px;
    border-radius: 2px;
    background: currentColor;
}

.nav-toggle__icon { position: relative; }
.nav-toggle__icon::before, .nav-toggle__icon::after { position: absolute; left: 0; content: ""; }
.nav-toggle__icon::before { top: -6px; }
.nav-toggle__icon::after { top: 6px; }

.site-main { min-height: calc(100vh - 196px); }
.content-shell { width: min(100% - 24px, 1880px); padding-block: 8px 16px; }

.site-footer { border-top: 1px solid var(--rcs-line); background: #fff; color: var(--rcs-muted); }
.site-footer__inner { min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: 12px; }
.site-footer a { font-weight: 700; text-decoration: none; }

.page-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 24px;
}

.page-heading h1 {
    margin: 5px 0 4px;
    color: var(--rcs-navy-deep);
    font-size: clamp(28px, 3vw, 40px);
    font-variant: normal;
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: -.025em;
}

.page-heading p { max-width: 680px; margin: 0; color: var(--rcs-muted); font-size: 16px; }

.segmented-control { margin-bottom: 22px; }
.search-type-options { display: inline-flex; gap: 4px; padding: 4px; border: 1px solid var(--rcs-line); border-radius: 10px; background: #eaf0f2; }
.search-type-options input { position: absolute; opacity: 0; pointer-events: none; }
.search-type-options label { display: inline-flex; padding: 9px 15px; border-radius: 7px; color: var(--rcs-muted); font-weight: 700; cursor: pointer; }
.search-type-options input:checked + label { background: #fff; color: var(--rcs-navy); box-shadow: var(--shadow-sm); }
.search-type-options input:focus-visible + label { outline: 3px solid rgba(231, 173, 47, .55); }

.data-card { overflow: hidden; border: 1px solid var(--rcs-line); border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow-md); }
.data-card__heading { padding: 22px 24px 18px; border-bottom: 1px solid var(--rcs-line); }
.data-card__heading h2 { margin: 0; color: var(--rcs-navy); font-size: 20px; }
.data-card__heading p { margin: 3px 0 0; color: var(--rcs-muted); }
.responsive-grid { width: 100%; overflow-x: auto; }

.filter-toolbar {
    display: grid;
    grid-template-columns: minmax(180px, 1.1fr) repeat(2, minmax(170px, 1fr)) minmax(130px, .7fr) minmax(90px, .45fr) auto;
    gap: 14px;
    align-items: end;
    padding: 18px 20px;
    background: #f7f9fa;
    color: var(--rcs-ink);
    text-align: left;
}

.filter-field { min-width: 0; }
.filter-field label { display: block; margin-bottom: 6px; color: #415363; font-size: 12px; font-weight: 800; letter-spacing: .02em; }
.filter-field input[type=text], .filter-field select { width: 100%; min-height: 40px; margin: 0; }

input[type=text], input[type=password], select, textarea {
    border: 1px solid #b9c6ce;
    border-radius: var(--radius-sm);
    background: #fff;
    box-shadow: none;
    color: var(--rcs-ink);
    padding: 8px 10px;
    transition: border-color .18s ease, box-shadow .18s ease;
}

input[type=text]:focus, input[type=password]:focus, select:focus, textarea:focus {
    border-color: var(--rcs-green);
    box-shadow: 0 0 0 3px rgba(23, 107, 87, .12);
}

.button, input[type=submit], input[type=button] {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--rcs-green);
    border-radius: var(--radius-sm);
    background: var(--rcs-green);
    color: #fff;
    padding: 8px 15px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
    transition: background .18s ease, border-color .18s ease, transform .18s ease;
}

.button:hover, input[type=submit]:hover, input[type=button]:hover { border-color: var(--rcs-green-dark); background: var(--rcs-green-dark); color: #fff; }
.button--secondary { border-color: var(--rcs-navy); background: var(--rcs-navy); white-space: nowrap; }
.button--secondary:hover { border-color: var(--rcs-navy-deep); background: var(--rcs-navy-deep); }

.modern-data-grid { border: 0 !important; font-family: inherit !important; }
.modern-data-grid .rgMasterTable { color: var(--rcs-ink); font-family: inherit; }
.modern-data-grid .rgHeader { border-color: #d4dee4; background: #edf2f4; color: var(--rcs-navy); font-size: 12px; text-transform: uppercase; letter-spacing: .035em; }
.modern-data-grid .rgRow td, .modern-data-grid .rgAltRow td { border-color: #e4eaee; padding-block: 11px; }
.modern-data-grid .rgAltRow { background: #f8fafb; }
.modern-data-grid .rgRow:hover, .modern-data-grid .rgAltRow:hover { background: #f0f7f4; }

.grid-actions { display: flex; align-items: center; gap: 10px; }
.grid-action { color: var(--rcs-green); font-size: 13px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.grid-action:hover { color: var(--rcs-green-dark); text-decoration: underline; }
.grid-action--danger { color: var(--rcs-danger); }

.report-toolbar { background: #f7f9fa; }
.report-filters { grid-template-columns: minmax(310px, 1.35fr) repeat(2, minmax(180px, 1.15fr)) minmax(135px, .7fr) repeat(2, minmax(115px, .62fr)); }
.region-control { display: grid; grid-template-columns: minmax(150px, 1fr) auto; align-items: stretch; gap: 8px; }
.region-control .RadComboBox { min-width: 0; }
.button--filter { min-height: 40px; padding-inline: 13px; white-space: nowrap; }
.report-actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 20px; border-top: 1px solid var(--rcs-line); background: #fff; }
.report-actions__group { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.report-actions select { min-height: 40px; margin: 0; }
.button--quiet { border-color: #c4d0d7; background: #fff; color: var(--rcs-navy); }
.button--quiet:hover { border-color: var(--rcs-navy); background: #edf2f4; color: var(--rcs-navy); }

/* Active inspection workspace */
.report-workspace { width: 100%; }
.report-workspace > table { width: 100%; border-collapse: collapse; }
.report-workspace > table > tbody > tr > td { padding: 0; }
.report-data-grid {
    overflow: hidden;
    border: 1px solid #cfdae0 !important;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(9, 34, 56, .08);
}
.report-data-grid .rgCommandRow > td { padding: 0 !important; border: 0 !important; }
.report-data-grid .rgMasterTable {
    width: 100% !important;
    table-layout: fixed !important;
    background: #fff;
}
.report-data-grid .rgMasterTable,
.report-data-grid .rgMasterTable th,
.report-data-grid .rgMasterTable td { box-sizing: content-box; }
.report-data-grid .rgHeaderDiv .rgMasterTable,
.report-data-grid .rgDataDiv .rgMasterTable,
.report-data-grid .rgFooterDiv .rgMasterTable { table-layout: fixed !important; }
.report-data-grid .rgHeader,
.report-data-grid .rgHeader:first-child,
.report-data-grid th.rgResizeCol {
    min-height: 48px;
    border-color: #d6e0e5 !important;
    background: #eaf0f2 !important;
    color: #19354d !important;
    padding: 11px 9px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    letter-spacing: .02em;
    text-align: left;
    text-transform: none;
}
.report-data-grid .rgHeader a,
.report-data-grid .rgHeader a:link,
.report-data-grid .rgHeader a:visited,
.report-data-grid .rgHeader a:hover {
    color: #19354d !important;
    font: inherit !important;
    text-decoration: none !important;
}
.report-data-grid .rgRow td,
.report-data-grid .rgAltRow td {
    border-color: #e4eaee !important;
    color: #253746;
    padding: 9px !important;
    font-size: 12px;
    line-height: 1.35;
    vertical-align: middle;
}
.report-data-grid .rgRow { background: #fff !important; }
.report-data-grid .rgAltRow { background: #f6f8f9 !important; }
.report-data-grid .rgRow:hover,
.report-data-grid .rgAltRow:hover { background: #edf6f2 !important; }
.report-data-grid .rgFooter td { border-color: #d6e0e5 !important; background: #eef3f4 !important; color: #1d3549; font-weight: 700; }
.report-data-grid .rgPager td { border-top: 1px solid #d6e0e5 !important; background: #f8fafb !important; color: #536574; padding: 10px !important; }
.report-data-grid a { color: #146c58; font-weight: 650; }
.report-data-grid a:hover { color: #0e4e40; }
.report-data-grid .RadComboBox { min-height: 40px; }
.report-data-grid .RadComboBox table { width: 100% !important; }
.report-data-grid .rcbInputCell,
.report-data-grid .rcbArrowCell { height: 38px !important; border-color: #b9c6ce !important; background-color: #fff !important; }
.report-data-grid .rcbInput { height: 36px !important; color: var(--rcs-ink) !important; font-family: inherit !important; }
.report-data-grid .rcbArrowCell { width: 30px !important; }
.report-toolbar { border-bottom: 1px solid #cfdae0; }
.report-filters { padding: 10px 18px; background: #f4f7f8; }
.report-filters .filter-field label { margin-bottom: 5px; color: #30495d; }
.report-actions { padding: 8px 18px; }
.report-actions .button { min-height: 36px; padding: 7px 13px; font-size: 13px; }
.report-actions select { min-height: 36px; }
.report-actions a.button--secondary,
.report-actions a.button--secondary:link,
.report-actions a.button--secondary:visited,
.report-actions a.button--secondary:hover,
.region-control a.button--filter,
.region-control a.button--filter:link,
.region-control a.button--filter:visited,
.region-control a.button--filter:hover { color: #fff !important; }
.report-actions a.button--quiet,
.report-actions a.button--quiet:link,
.report-actions a.button--quiet:visited,
.report-actions a.button--quiet:hover { color: var(--rcs-navy) !important; }

/* Shared forms, authentication, and administration */
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 10px 0 18px; }
.section-heading h1 { margin: 0; color: var(--rcs-navy-deep); font-size: 28px; font-variant: normal; font-weight: 750; letter-spacing: -.02em; }
.section-heading p { margin: 3px 0 0; color: var(--rcs-muted); }
.form-page { max-width: 980px; margin-inline: auto; }
.form-page--narrow { max-width: 680px; }
.form-card, .data-panel, .admin-toolbar { border: 1px solid var(--rcs-line); border-radius: 12px; background: #fff; box-shadow: var(--shadow-sm); }
.form-card { padding: 22px; }
.form-card h2 { margin: 0 0 16px; color: var(--rcs-navy); font-size: 18px; font-variant: normal; font-weight: 750; }
.form-grid { display: grid; gap: 16px; }
.form-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.form-field { min-width: 0; }
.form-field label { display: block; margin-bottom: 5px; color: #30495d; font-size: 12px; font-weight: 800; }
.form-field input[type=text], .form-field input[type=password], .form-field select { width: 100% !important; min-height: 40px; }
.form-field input:disabled { background: #edf1f3; color: #687783; cursor: not-allowed; }
.form-actions { display: flex; justify-content: flex-end; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--rcs-line); }
.action-card { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.action-card p { margin: 3px 0 0; color: var(--rcs-muted); }
.auth-page { min-height: calc(100vh - 190px); display: grid; place-items: center; padding: 28px 0; }
.auth-card { width: min(100%, 430px); padding: 30px; border: 1px solid var(--rcs-line); border-radius: 16px; background: #fff; box-shadow: var(--shadow-md); }
.auth-card--wide { width: min(100%, 560px); }
.auth-card__heading { margin-bottom: 22px; }
.auth-card__heading h1 { margin: 5px 0; color: var(--rcs-navy-deep); font-size: 30px; font-variant: normal; font-weight: 750; }
.auth-card__heading p, .form-help { margin: 0; color: var(--rcs-muted); }
.auth-card .form-field { margin-bottom: 15px; }
.button--full { width: 100%; margin-top: 3px; }
.requirements { margin: 0 0 20px; padding: 14px 16px; border-left: 3px solid var(--rcs-gold); border-radius: 5px; background: #f6f8f9; color: #425565; }
.requirements ul { display: grid; grid-template-columns: 1fr 1fr; gap: 3px 20px; margin: 7px 0 0; padding-left: 18px; }
.form-help { margin-top: 18px; font-size: 13px; }
.admin-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin: 8px 0 14px; padding: 12px 16px; }
.admin-toolbar .form-field { width: min(100%, 360px); }
.admin-layout { display: grid; grid-template-columns: minmax(360px, 1fr) minmax(420px, 1.25fr); gap: 16px; align-items: start; }
.data-panel { overflow: hidden; }
.modern-legacy-grid { width: 100%; border: 0; border-collapse: collapse; background: #fff; color: var(--rcs-ink); }
.modern-legacy-grid th { border: 0; border-bottom: 1px solid #cedae0; background: #eaf0f2; color: var(--rcs-navy); padding: 11px 12px; font-size: 12px; text-align: left; }
.modern-legacy-grid td { border: 0; border-bottom: 1px solid #e3e9ec; background: #fff; padding: 10px 12px; font-size: 13px; }
.modern-legacy-grid tr:nth-child(even) td { background: #f7f9fa; }
.modern-legacy-grid .legacy-grid-pager td { padding: 10px 12px; background: #f4f7f8 !important; }
.modern-legacy-grid .legacy-grid-pager a,
.modern-legacy-grid .legacy-grid-pager span { display: inline-flex; min-width: 28px; min-height: 28px; align-items: center; justify-content: center; margin-right: 4px; border: 1px solid #cbd7dd; border-radius: 5px; background: #fff; color: var(--rcs-navy); font-weight: 750; text-decoration: none; }
.modern-legacy-grid .legacy-grid-pager span { border-color: var(--rcs-green); background: var(--rcs-green); color: #fff; }
.permission-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--rcs-line); }
.permission-grid label { display: flex; align-items: center; gap: 7px; color: #30495d; font-weight: 650; }
.user-editor-shell { grid-column: 2; }
.user-editor-shell .user-editor { border-radius: 12px 12px 0 0; }
.user-editor-actions { margin: 0; padding: 14px 22px; border: 1px solid var(--rcs-line); border-top: 0; border-radius: 0 0 12px 12px; background: #fff; }
.validation-message { display: block; padding: 10px 12px; color: var(--rcs-danger); }
.report-filters--five { grid-template-columns: repeat(3, minmax(170px, 1fr)) minmax(130px, .65fr) minmax(110px, .55fr); }
.budget-toolbar { display: grid; grid-template-columns: minmax(320px, 1.35fr) repeat(3, minmax(180px, 1fr)) minmax(105px, .5fr); gap: 14px; align-items: end; padding: 10px 16px; border: 1px solid var(--rcs-line); border-radius: 12px 12px 0 0; background: #f4f7f8; }
.budget-section-labels { display: grid; grid-template-columns: 1fr 1fr; border-inline: 1px solid var(--rcs-line); background: #fff; color: var(--rcs-navy); font-size: 12px; font-weight: 800; text-align: center; }
.budget-section-labels span { padding: 7px 12px; border-right: 1px solid var(--rcs-line); }
.budget-section-labels span:last-child { border-right: 0; }
.budget-data-grid { border-radius: 0 0 12px 12px; }
.modern-tabs { width: 100%; font-family: inherit !important; }
.modern-tabs .ajax__tab_header { border-bottom: 1px solid var(--rcs-line); font-family: inherit !important; }
.modern-tabs .ajax__tab_outer { margin-right: 4px; border: 1px solid var(--rcs-line) !important; border-bottom: 0 !important; border-radius: 7px 7px 0 0; background: #eaf0f2 !important; }
.modern-tabs .ajax__tab_inner, .modern-tabs .ajax__tab_tab { background: transparent !important; }
.modern-tabs .ajax__tab_tab { height: auto !important; padding: 8px 12px !important; color: var(--rcs-navy); font-weight: 750; }
.modern-tabs .ajax__tab_active .ajax__tab_outer { background: #fff !important; }
.modern-tabs .ajax__tab_body { min-height: 260px; padding: 22px; border: 1px solid var(--rcs-line) !important; border-top: 0 !important; border-radius: 0 0 12px 12px; background: #fff !important; font-family: inherit !important; }
.modern-tabs .ajax__tab_body > div > table { width: min(100%, 900px); border-collapse: collapse; }
.modern-tabs .ajax__tab_body > div > table td { padding: 8px 10px; border-bottom: 1px solid #e6ecef; }
.modern-tabs .ajax__tab_body > div > table td:first-child { width: 38%; color: #43596a; font-weight: 700; }
.document-browser { width: 100%; min-height: 360px; max-height: 560px; overflow: auto; padding: 14px; border: 1px solid var(--rcs-line); border-radius: 8px; background: #f7f9fa; color: var(--rcs-ink); }
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; }
.grid-workspace { display: block; width: 100%; }
.report-viewer-panel { padding: 16px; border: 1px solid var(--rcs-line); border-radius: 12px; background: #fff; }
.report-viewer-panel > .button { margin-bottom: 12px; }
.embedded-chart-panel { width: min(100%, 1500px); margin: auto; }
.embedded-chart-panel .chart-header { display: flex; align-items: center; gap: 24px; padding: 16px; border: 1px solid var(--rcs-line); border-radius: 12px; background: #fff; }
.embedded-chart-panel .chart-header img { width: min(100%, 460px); }
.embedded-chart-panel .chart-canvas { overflow: auto; margin-top: 12px; padding: 18px; border: 1px solid var(--rcs-line); border-radius: 12px; background: #fff; text-align: center; }
.embedded-chart-panel .chart-meta { color: var(--rcs-muted); font-size: 12px; text-align: center; }
.overlay { position: fixed !important; z-index: 9998 !important; inset: 0 !important; width: auto !important; height: auto !important; background: rgba(9,34,56,.55) !important; backdrop-filter: blur(2px); }
.popup { position: fixed !important; z-index: 9999 !important; top: 50% !important; left: 50% !important; width: min(calc(100% - 32px), 380px) !important; height: auto !important; min-height: 0 !important; margin: 0 !important; padding: 24px !important; border-radius: 14px !important; background: #fff !important; color: var(--rcs-ink) !important; box-shadow: 0 24px 70px rgba(9,34,56,.25) !important; transform: translate(-50%,-50%); text-align: center; }
.popup h1 { margin: 0 0 16px; color: var(--rcs-navy); font-size: 20px; font-variant: normal; font-weight: 750; }
.popup br { display: none; }

@media (max-width: 1120px) {
    .brand-row { grid-template-columns: minmax(250px, 440px) 1fr auto; }
    .brand-row__context { display: none; }
    .filter-toolbar { grid-template-columns: repeat(3, minmax(150px, 1fr)); }
    .report-filters { grid-template-columns: repeat(3, minmax(150px, 1fr)); }
    .filter-action { grid-column: auto; }
    .budget-toolbar { grid-template-columns: repeat(3, minmax(150px, 1fr)); }
}

@media (max-width: 820px) {
    .shell { width: min(100% - 28px, 1440px); }
    .utility-bar__inner > span { display: none; }
    .utility-bar__inner { justify-content: flex-end; }
    .brand-row { min-height: 82px; grid-template-columns: minmax(210px, 420px) auto; gap: 18px; }
    .nav-toggle { display: inline-flex; justify-self: end; }
    .navigation-wrap { display: none; }
    .navigation-wrap--open { display: block; }
    .primary-navigation, .primary-navigation .menu, .primary-navigation .menu > ul { display: block; width: 100%; }
    .primary-navigation .menu > ul > li { display: block; }
    .primary-navigation div.menu { padding: 8px 0; }
    .primary-navigation div.menu ul li a,
    .primary-navigation div.menu ul li a:visited,
    .primary-navigation div.menu ul li a:active { min-height: 46px; border-bottom: 0; border-left: 3px solid transparent; padding: 10px 14px; white-space: normal; }
    .primary-navigation div.menu ul li a:hover { border-left-color: var(--rcs-gold); }
    .content-shell { padding-block: 30px; }
    .filter-toolbar { grid-template-columns: repeat(2, minmax(140px, 1fr)); }
    .report-filters { grid-template-columns: repeat(2, minmax(140px, 1fr)); }
    .report-actions { align-items: stretch; flex-direction: column; }
    .budget-toolbar { grid-template-columns: repeat(2, minmax(140px, 1fr)); }
    .admin-layout { grid-template-columns: 1fr; }
    .user-editor-shell { grid-column: 1; }
    .filter-action { grid-column: 1 / -1; }
    .filter-action .button { width: 100%; }
}

@media (max-width: 560px) {
    .shell { width: min(100% - 22px, 1440px); }
    .utility-label { display: none; }
    .brand-row { grid-template-columns: 1fr auto; min-height: 72px; }
    .brand { max-width: 275px; }
    .nav-toggle__label { display: none; }
    .page-heading { margin-bottom: 20px; }
    .search-type-options { display: grid; width: 100%; }
    .search-type-options label { justify-content: center; }
    .data-card { border-radius: var(--radius-md); }
    .data-card__heading { padding: 18px; }
    .filter-toolbar { grid-template-columns: 1fr; padding: 16px; }
    .report-filters { grid-template-columns: 1fr; }
    .report-actions__group { align-items: stretch; flex-direction: column; }
    .budget-toolbar { grid-template-columns: 1fr; }
    .report-actions .button, .report-actions select { width: 100% !important; }
    .filter-action { grid-column: auto; }
    .site-footer__inner { min-height: 44px; flex-direction: column; align-items: flex-start; justify-content: center; gap: 1px; }
    .form-grid--two, .permission-grid, .requirements ul { grid-template-columns: 1fr; }
    .form-card, .auth-card { padding: 20px; }
    .action-card, .section-heading { align-items: stretch; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
