/* =============================
   GLOBAL RESET + CUSTOM PROPERTIES
============================= */

* {
  margin:0;
  padding:0;
  box-sizing:border-box;
  font-family:Arial,sans-serif
}

:root {
  --primary-color: #4e95d9;
  --light-bg: #f4f4f9;
  --dark-text: #333;
  --danger-color: red;
  --white: #fff;
  --orange: #FFA500;
  --trans-orange: #FFA50020;
  --box-shadow-color: rgba(0, 0, 0, 0.1); /* Same as #0000001a */
  --box-shadow: 0 4px 8px var(--box-shadow-color);
}

/* =============================
   BASE STYLES
============================= */

h1, h2, h3, h4, h5 {
    color: var(--primary-color);
    
}

h5 {
    margin: 10px 0;
}

.form-group label strong {
    color: var(--primary-color);
}

.summary-table ul {
    padding: 20px;
}

body {
  background-color: var(--light-bg);
  color: var(--dark-text);
  font-size: 14px;
  line-height: 1.6;
}

h1 {
    font-size: 30px;
    font-weight: 600;
    margin: 20px 0 10px 0;
}

h2 {
    font-size: 24px;
    font-weight: 600;
    margin: 20px 0 10px 0;
}

h3 {
    font-size: 18px;
    font-weight: 600;
    margin: 20px 0 10px 0;
}

h4 {
    font-size: 16px;
    font-weight: 600;
    margin: 20px 0 10px 0;
}

h5 {
    font-size: 15px;
    font-weight: 600;
    margin: 20px 0 10px 0;
}

h6 {
    font-size: 14px;
    font-weight: 600;
    margin: 10px 0 10px 0;
}

.container {
  width:100%;
  margin:0 auto;
  padding-top:25px!important
}

.header {
  background: var(--primary-color);
  color: var(--white);
  padding:20px;
  text-align:center;
  font-size:24px
}

.block {
    display:block!important;
}

.center {
    text-align:center;
    margin:auto;
}

.inline-textlink {
    color: #4e95d9;
    text-decoration: none;
    font-weight: 600;
}

.inline-textlink.danger {
    color: var(--danger-color);
    text-decoration: none;
    font-weight: 600;
}

.inline-textlink:hover {
    text-decoration: underline;
}

button:disabled,
button[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}

p {
    margin-bottom:10px;
}

ol {
    padding-left:30px;
}

/* ==================================
   NOTIFICATION STYLES
================================== */

.emailVerNotice {
    border:2px solid var(--trans-orange);
    border-radius: 20px;
    box-shadow: var(--box-shadow);
    padding: 20px;
    background: var(--trans-orange);
}

.emailVerNotice h5 {
    color: var(--orange)!important;
    font-weight: 600;
}

.emailVerNotice p,.subInactiveNotice p {
    font-weight: 600;
}



.subInactiveNotice {
    border:2px solid #FF000020;
    border-radius: 20px;
    box-shadow: var(--box-shadow);
    padding: 20px;
    background: #FF000020;
}

.subInactiveNotice h5 {
    color: #FF0000;
    font-weight: 600;
}


/* ==================================
   LIST TYPE STYLES
================================== */


.contentList li {
    margin-left:30px;
}

.contentList li::marker {
  color: var(--primary-color);
}

/* ==================================
   UNIFY REPEATED STYLES
================================== */

.worker-training-box {
    padding: 10px;
    border-radius: 5px;
    box-shadow: var(--box-shadow);
    width: calc(100% - 20px);
    margin: 10px;
}

.worker-training-box:nth-child(odd) {
    clear: both;
}

.whyWhatBox {
    margin:20px;
    padding:20px;
}

.pagination-container {
    margin-top:40px;
    clear:both;
    text-align:center;
}

.pagination-links {
    background-color: var(--primary-color);
    padding:10px;
    color:var(--white);
    border: 2px solid var(--primary-color);
    text-decoration: none;
}

.pagination-links:hover {
    color:var(--primary-color);
    background-color: var(--white);
}


.content,
.sidebar,
.control-tool-sidebar {
  background: var(--white);
  box-shadow: var(--box-shadow);
}

.sidebar {
  width:20%;
  position:fixed;
  padding:10px;
  max-height: calc(100vh - 60px);
  overflow-y: scroll;
}

#control-tool-sidebar {
  width:20%;
  position:fixed;
  padding:40px 20px;
}
 
/* .content had border-radius, so keep that separately: */
.content {
  padding:40px;
  border-radius:5px;
}

.sidebar .menu-item, .control-tool-sidebar .menu-item {
margin:15px 0;
font-size:18px
}

.sidebar .menu-item a, .control-tool-sidebar .menu-item a {
text-decoration:none;
color:#4e95d9;
display:block;
padding:10px;
transition:background .3s,color .3s
}

.sidebar .menu-item a:hover, .control-tool-sidebar .menu-item a:hover {
background:#ffe135;
color:#fff
}

.tabs {
    width: 100%;
    list-style: none;
    padding: 0;
    margin: 0 0 20px 0;
    display: flex;
    border-bottom: 2px solid #ccc;
}

.tab-list {
    list-style: none;
    margin: 0 0 1em;
    padding: 0;
}

.tabs .tab {
    padding: 10px 20px;
    margin-right: 5px;
    cursor: pointer;
    border: 2px solid #4e95d9;
}
.tabs .tab.active {
    border-color: #4e95d9!important;
    background: #4e95d9!important;
    color:var(--white);
}

@media screen and (min-width:768px) {
    .content {
        margin-left:21%;
    }
}
.content {
    padding:40px;
    border-radius:5px
}

.dashboard {
    padding-top:40px!important;
}

.dashboard-greeting {
margin-bottom:20px;
font-size:24px;
font-weight:700;
color:#4e95d9
}

.card {
background:#fff;
border-radius:10px;
padding:20px;
box-shadow:0 4px 8px #0000001a;
margin-bottom:20px
}

.card h4,.sidebar h3, .control-tool-sidebar h3 {
color:#4e95d9;
margin-bottom:10px
}

.side-nav {
    list-style: none; /* Removes bullets from the list */
}

ul.side-nav > li {
    margin-bottom: 10px;
}

.button {
background:#4e95d9;
color:#fff;
padding:5px 10px;
border:2px solid #4e95d9;
border-radius:5px;
cursor:pointer;
text-decoration:none;
transition:background .3s;
font-size:14px;
font-weight:500;
}

.button:hover {
background:#ffffff;
color:#4e95d9;
}

.table {
width:100%;
border-collapse:collapse;
margin:20px 0;
vertical-align: top;
}

tbody {
    vertical-align: top;
}

button.delete-planning {
    background-color:var(--danger-color);
    border:2px solid var(--danger-color);
}

button.delete-planning:hover {
    color:var(--danger-color);
}

.table td,.table th {
border:1px solid #ddd;
padding:12px;
text-align:left
}

.table th {
background:var(--primary-color);
color:#fff
}

.table tbody tr:nth-child(even) {
background:var(--white);
}

.form-group {
margin-bottom:15px
}

.account-form-container form label,.auth-form-group label,.form-group label {
display:block;
margin-bottom:10px;
color:var(--dark-text);
font-weight:700
}

.auth-form-group.fields label {
    color:var(--primary-color);
}

.auth-form-group label.inline {
display: inline;
margin:5px 20px 5px 0;
}

.form-group input,.form-group select {
width:100%;
padding:10px;
border:1px solid #ccc;
border-radius:4px
}

.footer {
background:#4e95d9;
color:#fff;
padding:20px;
text-align:center;
position:fixed;
bottom:0;
width:100%
}

@media (max-width:768px) {
.sidebar {
width:100%;
height:auto;
position:relative
}

.main-content {
margin-left:0
}

.footer,.header {
text-align:center
}
}

.top-bar {
background:#4e95d9;
color:#fff;
padding:15px;
display:flex;
justify-content:space-between;
align-items:center;
position:fixed;
top:0;
width:100%;
z-index:1000
}

.top-bar .greeting {
font-size:18px;
font-weight:700
}

.top-bar .actions {
display:flex;
gap:15px
}

.top-bar .button {
padding:8px 15px;
border:2px solid #fff;
background:#fff;
color:#4e95d9;
border-radius:4px;
cursor:pointer;
text-decoration:none;
transition:background .3s
}

.top-bar .button:hover {
background:#4e95d9;
color:#fff
}

.button.logout {
        background-color: var(--danger-color);
    color:var(--white);
    border-color:var(--danger-color);

}

.return-dashboard-button {
    margin-right: 25px;
}

.button.logout:hover {
    background-color:#fff ;
    color:var(--danger-color);
    border-color:var(--danger-color);

}

.recommendation.close-link {
    color:var(--danger-color);
}

.failureMessage,.sucessMessage {
background-color:green;
color:#fff;
display:block;
text-align:center;
padding:10px 0 20px;
margin-top:-25px;
}

.reset-password-container {
width:100%;
max-width:100%;
background:#fff;
}

.auth-container {
  width: auto;
  max-width: auto;
  height:100vh;
  margin-top:-25px;
  
  
}

#authSideSection {
    width:50%;
    float:left;
    padding:0 50px;
    background-color:var(--white);
    height:100vh;
    overflow-y: scroll;
}

/* Parent container */
#authSideBanner {
    background-image: url('/assets/images/login-background.png');
    background-size: cover;       /* Make it fill the container */
    background-position: center;  /* Center the image */
    background-repeat: no-repeat; /* Avoid tiling */
    width: 50%;
    float: right;
    height: 100vh;  
    display: flex;
    align-items: center;    /* vertically center */
    justify-content: center; /* horizontally center */
}

.reset-password-container h2, .reset-password-container p {
    text-align: center;
}

.auth-header {
padding:50px;
text-align:center;
margin-bottom:20px;
background-color: var(--white);
}

.auth-header h1 {
color:#4e95d9;
font-size:24px;
margin-bottom:10px
}

.auth-form-group {
margin-bottom:15px
}

.login-reg-tab {
    width:50%;
    display:inline;
}

.login-reg-tab.active {
    background-color: var(--white);
    color:var(--primary-color);
}

#forgotten-password-section {
    padding: 20px 0;
}

.auth-button,.auth-form-group input {
width:100%;
padding:10px;
border:1px solid #ccc;
border-radius:4px;
margin-top:5px
}

#forgotten-password-email {
    width:50%;
    padding:10px;
    border:1px solid #ccc;
    border-radius:4px;
    margin-top:5px
}

#forgotten-password-button {
    width:46%;
}

#reset-password-button {
    width:100%;
}

#forgotten-password-button:disabled,#reset-password-button:disabled {
    background:#4e95d9!important;
    color:var(--white)!important;
    opacity: 0.5!important;
}

.auth-error-message,.auth-message {
background-color:green;
color:#fff;
display:block;
text-align:center;
padding:20px 0;
margin-bottom:15px;
border-radius:4px
}

.tab-links {
display:flex;
justify-content:center;
margin:20px 0;
}

.account-form-container form .button,.tab-button,.auth-button,#forgotten-password-button,#reset-password-button  {
background:#4e95d9;
color:#fff;
border:2px solid #4e95d9;
border-radius:4px;
cursor:pointer;
transition:background .3s
}

.tab-button,.auth-button,#forgotten-password-button,#reset-password-button {
padding:10px 20px;
font-size:14px;;
font-weight:600;
margin:0 5px
}

.tab-button:hover,.account-form-container form .button:hover,.auth-button:hover,#forgotten-password-button:hover,#reset-password-button:hover {
    background-color: var(--white);
    color:#4e95d9;
}

.tab-content.active {
display:block
}

.auth-header p {
color:#666;
margin-bottom:20px
}

.account-form-container {
padding:20px;
background:#fff;
border-radius:8px;
box-shadow:0 4px 8px #0000001a;
margin-bottom:20px
}

.account-form-container h4 {
margin-bottom:20px;
color:#4e95d9
}

.account-form-container form {
max-width:600px
}

.account-form-container form label {
margin-bottom:8px
}

.account-form-container form input[type=email],.account-form-container form input[type=password],.account-form-container form input[type=text] {
width:100%;
padding:10px;
margin-bottom:20px;
border:1px solid #ccc;
border-radius:4px;
box-sizing:border-box
}

.account-form-container form .button {
padding:12px 20px;
text-align:center;
text-decoration:none
}

#controltool-sidebar {
width:auto;
background-color:#var(--white);
list-style-type:none;
font-family:Arial,sans-serif;
font-size:12px;
padding:20px 0;
}

#controltool-sidebar li {
list-style-type:none
}

#controltool-sidebar .active_heading>a {
text-transform:uppercase;
font-size:12px;
border-bottom:1px solid #4e95d9;
cursor:pointer;
display:block;
font-weight:700;
padding:10px;
background-color:#4e95d9;
color:#ffffff;
text-decoration:none;
border-top:1px solid #4e95d9
}

#controltool-sidebar .side-nav ul {
padding-left:10px;
margin-top:10px;
list-style-type:none
}

#controltool-sidebar .side-nav ul .active_section {
list-style:none;
margin-bottom:5px
}

#controltool-sidebar .side-nav ul .active_section a {
display:flex;
align-items:center;
color:#555;
font-size:13px;
text-decoration:none;
padding:5px 0;
transition:all .3s ease
}

#controltool-sidebar .side-nav ul .active_section a i {
color:#ce0000;
margin-right:8px
}

#controltool-sidebar .side-nav ul .completed_section a {
color:#666;
text-decoration:line-through
}

#controltool-sidebar .side-nav ul .completed_section a:hover {
color:#666
}

#controltool-sidebar .divider {
border-top:1px solid #ddd;
border-bottom:1px solid #ddd;
margin:5px 0
}

#controltool-sidebar ul ul.side-nav {
display:block;
padding-left:15px
}

#controltool-sidebar .active_heading>a:after {
content:"";
font-family:FontAwesome;
float:right;
font-size:12px;
transition:all .3s ease
}

#controltool-sidebar .active_heading.collapsed>a:after {
content:""
}

#controltool-sidebar ul.side-nav>li>a {
display:block;
padding:8px 20px;
text-decoration:none;
color:#555
}

#controltool-sidebar ul.side-nav>li>a:hover {
background-color:#e6e6e6
}



body,html {
height:100%;
margin:0;
padding:0;
}

.off-canvas-wrap {
min-height:100vh;
overflow:hidden;
}

#employer-details-form {
margin:0 auto;
}

#employer-details-form label {
font-size:.9rem;
}

#employer-details-form input[type=text],#employer-details-form select {
width:100%;
padding:10px;
margin-bottom:15px;
border:1px solid #ccc;
border-radius:5px;
box-sizing:border-box;
font-size:.9rem;
}

.row {
display:flex;
flex-wrap:wrap;
gap:15px;
}

.large-4,.large-6,.medium-4,.medium-6,.small-12 {
flex:1;
min-width:calc(33.33% - 15px);
}

.large-12 {
flex:1 1 100%;
}

#employer-details-form .button {
padding:10px 20px;
font-size:1rem;
border-radius:5px;
text-transform:uppercase;
}

.more_space_top {
margin-top:20px;
}

.more_space {
margin-bottom:10px;
}

#controltool-sidebar .collapsed ul.side-nav,#controltool-sidebar .collapsed>ul.side-nav,.tab-content {
display:none;
}

#controltool-sidebar .active_heading>a i,#controltool-sidebar .side-nav ul .active_section a:hover {
color:#ffffff;
}

.inner-wrap,.main-section {
min-height:100vh;
display:flex;
flex-direction:column;
}

.failureMessage,.auth-error-message {
background-color:var(--danger-color);
}



#jobsite-details-form {
padding:20px;
background:#fff;
border-radius:5px;
margin-bottom:20px;
}

.row.white_row_no_padding {
display:flex;
flex-wrap:wrap;
gap:15px;
}

.large-12.columns,.large-4.columns,.large-6.columns {
flex:1 1 calc(50% - 15px);
box-sizing:border-box
}

.large-4.columns {
flex:1 1 calc(33.33% - 15px)
}

#employer-details-form label,#jobsite-details-form label,#work-activities-container label,#work-areas-container label {
display:block;
margin-bottom:5px;
font-weight:500;
color:var(--dark-text);
text-transform: uppercase;
color:#4e95d9;
}

#jobsite-details-form input[type=date],#jobsite-details-form input[type=text],#jobsite-details-form select,input[type=date],input[type=text],input[type=number],select,input[type=email] {
width:100%;
padding:10px;
margin-bottom:10px;
border:1px solid #ccc;
border-radius:4px;
font-size:1em;
box-sizing:border-box;
transition:border-color .3s ease
}

#jobsite-details-form input[type=date]:focus,#jobsite-details-form input[type=text]:focus,#jobsite-details-form select:focus {
border-color:#007bff;
outline:0
}

.summary-table {
margin:20px 0;
background-color:#fff
}

.summary-table th {
text-transform:uppercase;
font-weight:600;
}

@media (max-width:768px) {
.summary-table {
display:block;
overflow-x:auto;
white-space:nowrap;
}
}

.clearfix {
margin-top:30px;
display:flex;
justify-content:space-between;
align-items:center;
}

@media screen and (max-width:768px) {
.clearfix {
flex-direction:column;
gap:15px;
}
}

.timeline {
display:flex;
list-style:none;
justify-content:space-between;
margin:20px 0;
padding:0
}

.timeline .li {
position:relative;
flex:1;
text-align:center
}

.timeline .li:not(:last-child)::after {
content:"";
position:absolute;
top:50%;
right:0;
height:2px;
width:100%;
background:#ddd;
transform:translateY(-50%)
}

.timeline .timestamp {
display:inline-block;
width:20px;
height:20px;
border-radius:50%;
background-color:#ddd
}

.timeline .li.complete .timestamp {
background-color:#ffe135
}

.timeline .li.current .timestamp {
background-color:#4e95d9
}

.timeline .status h6 {
margin-top:8px;
font-size:14px;
color:var(--dark-text)
}

.fa-ul {
padding-left:20px;
margin:0
}

.fa-li {
position:absolute;
left:0;
color:#4e95d9
}

.small-block-grid-1 li {
margin-bottom:15px;
display:flex;
align-items:center
}

.small-block-grid-1 h6 {
margin:0;
font-size:14px
}

.small-block-grid-1 .pending-icon {
color:#ddd
}

.silica-tabs-link a {
text-decoration:none;
padding:10px 15px;
display:inline-block;
color:#4e95d9;
font-weight:700;
transition:background .3s,color .3s;
border-radius:4px 4px 0 0
}

.silica-tabs-link a:hover,.silica-tabs-link.active a {
background:#4e95d9;
color:#fff;
border-bottom:2px solid transparent
}

.elimination-tabs-container {
margin-top:20px;
display:flex;
gap:10px;
margin-bottom:20px
}



.elimination-tabs-content {
border-radius:4px;
padding:10px;
background:#fff
}

.summary-table {
width:100%;
border-collapse:collapse;
margin-bottom:20px;
font-size:14px;
}

.summary-table th {
background-color:#4e95d9;
color:#fff
}

.button-group-inline {
display:flex;
gap:10px;
margin-top:10px
}

.small-block-grid-1 .current-icon,.timeline .li.current .status h6 {
color:#4e95d9
}

.exposure-planning-table {
width:100%;
border-collapse:collapse;
margin-top:20px;
font-size:14px;
}

.exposure-planning-table .button {
margin:10px;
display:block;
width:120px;
text-align:center;
}

.button.large {
font-size:1.5em;
padding:20px 50px
}

#dashboard-links-container {
margin-bottom:50px
}

.progress-timeline {
list-style:none;
padding:0;
padding-bottom:20px;
margin:0;
display:flex;
justify-content:space-between;
border-bottom:3px solid var(--primary-color);
}

.progress-step {
text-align:center;
flex:1;
position:relative
}

.progress-step:before {
content:'';
width:10px;
height:10px;
background:#ddd;
border:5px solid var(--white);
border-radius:50%;
display:block;
margin:0 auto 10px
}

.progress-step.complete .step-title,.progress-step.current .step-title {
font-weight:700;
color:var(--primary-color);
}

.progress-step.current:before {
border:5px solid var(--primary-color);
}

.progress-step.complete:before {
border:5px solid var(--primary-color);  
}

.progress-step .step-title {
font-size:14px;
color:#888;
margin:0
}

.progress-step:not(:last-child):after {
content:'';
position:absolute;
width:calc(100% - 10px);
height:2px;
background:#ddd;
top:5px;
left:50%;
z-index:-1
}

.exposure-controls-tabs-container {
margin-top:20px;
margin-top:20px
}

.exposure-controls-tabs-link {
margin-right:15px;
display:inline-block;
margin-right:10px;
cursor:pointer
}

.exposure-controls-tabs-link a,.elimination-tab-link{
padding:10px 15px;
display:inline-block;
color:#4e95d9;
font-weight:700;
transition:background 0.3s,color .3s;
border-radius:4px 4px 0 0;
text-decoration:none;
padding:10px 15px;
font-weight:bold;
color:#4e95d9;
border-bottom:2px solid transparent
}

.exposure-controls-tab {
display:none;
padding:15px;
background:#FFF;
border-radius:4px
}

.exposure-controls-tab.active {
display:block;
}

.controls-section p {
margin-bottom:10px;
font-size:14px;;
color:var(--dark-text)
}



.next-step-section {
margin-top:20px;
font-size:14px;;
color:var(--dark-text)
}

.next-step-section p {
margin-bottom:10px
}

.clearfix {
margin-top:30px;
display:flex;
justify-content:space-between;
display:flex;
justify-content:space-between;
margin-top:30px
}

.clearfix .button {
padding:10px 20px;
border-radius:4px;
font-size:14px;
font-weight:700;
text-decoration:none;
transition:background .3s;
padding:10px 20px;
font-size:16px;
border-radius:5px;
text-transform:uppercase;
margin:10px;
display:inline-block
}

.exposure-controls-tabs-link.active a {
color:#FFF;
background-color:#4e95d9;
border-radius:4px 4px 0 0;
border-bottom:none
}

.content-wrapper {
padding:20px;
background:#FFF;
border-radius:4px;
box-shadow:0 2px 8px #0000001a;
margin:20px
}

.content-wrapper h2 {
font-size:24px;
color:#4e95d9;
margin-bottom:20px
}

.content-wrapper p {
font-size:14px;;
line-height:1.6;
color:var(--dark-text);
margin-bottom:20px
}



.load-step {
cursor:pointer
}

.summary-table td,.summary-table th,.exposure-planning-table th,.exposure-planning-table td {
border:1px solid #ddd;
padding:10px;
text-align:left
}


.progress-container,.controls-section {
margin:20px 0
}

.progress-step.complete:before,.progress-step.complete:not(:last-child):after {
background:#4e95d9
}

.ppe-questions-placeholder {
background:#f9f9f9;
border:1px solid #ddd;
padding:15px;
border-radius:4px;
margin-top:20px
}

.ppe-questions-placeholder p {
color:#666;
font-size:14px;;
line-height:1.5
}

.save-and-load-respirators-back,.save-and-load-respirators-next {
font-size:14px;;
padding:10px 20px;
border-radius:4px;
font-weight:700;
color:#FFF;
background:#4e95d9;
text-decoration:none;
transition:background .3s ease
}

.progress-tracker ul {
list-style:none;
display:flex;
justify-content:space-between;
padding:0;
margin:20px 0
}

.progress-tracker li {
flex:1;
text-align:center;
padding:10px;
border:1px solid #ccc;
border-radius:5px;
font-size:14px;
font-weight:700
}

.progress-tracker li:not(.completed):not(.current) {
background-color:var(--light-bg);
color:#aaa;
}

.ecp-tabs-link a {
text-decoration:none;
padding:10px 15px;
display:inline-block;
color:#4e95d9;
font-weight:700;
transition:background 0.3s,color .3s;
border-radius:4px 4px 0 0
}

.preview-section {
border:1px solid #ddd;
padding:20px;
border-radius:5px;
text-align:center;
background-color:#f9f9f9
}

.task-section {
background-color:#4e95d9;
color:#fff;
padding:15px;
border-radius:5px;
margin-bottom:15px;
font-size:14px;;
line-height:1.5
}

.task-section h3 {
margin-bottom:10px;
font-size:1.3em;
font-weight:700;
color:var(--white);
}

.jobsite-section {
background-color:#4e95d9;
color:#fff;
padding:15px;
border-radius:5px;
margin-bottom:15px;
font-size:14px;;
line-height:1.5
}

.jobsite-section h3 {
font-size:2em;
font-weight:700;
color:var(--white);
}

.dates-section {
background-color:var(--light-bg);
color:var(--dark-text);
padding:15px;
border-radius:5px;
margin-bottom:15px;
font-size:14px;;
line-height:1.5
}

.generate-ecp-section {
padding:15px;
border:1px solid #ddd;
border-radius:5px;
background-color:#fff;
margin-top:10px
}

.generate-ecp-section input[type="text"] {
width:100%;
padding:10px;
border:1px solid #ccc;
border-radius:5px;
margin-bottom:10px;
font-size:14px;
}

.generate-ecp-section button {
display:block;
width:100%;
padding:10px 20px;
background-color:#4e95d9;
color:#fff;
font-size:16px;;
font-weight:700;
border:none;
border-radius:5px;
cursor:pointer;
text-align:center;
transition:background-color .3s ease
}

.next-steps-section {
margin-top:20px;
padding:20px;
background-color:#f9f9f9;
border:1px solid #ddd;
border-radius:5px;
text-align:center;
font-size:14px;;
line-height:1.5
}


.silica-tabs-container,.ecp-tabs-container {
margin-top:20px
}

.silica-tabs-link,.ecp-tabs-link {
margin-right:15px
}

.elimination-tab,.silica-tab,.ecp-tab {
display:none
}

.elimination-tab.active,.silica-tab.active,.ecp-tab.active {
display:block
}

.exposure-planning-table th,.progress-tracker li.completedue {
background-color:#4e95d9;
color:#fff
}

.exposure-controls-tabs-link a:hover,.exposure-controls-tabs-link.active a,.ecp-tabs-link a:hover,.ecp-tabs-link.active a {
background:#4e95d9;
color:#fff;
border-bottom:2px solid transparent
}

.silica-tabs-links,.exposure-controls-tabs-links,.ecp-tabs-links {
list-style:none;
padding:0;
margin:0 0 20px;
display:flex;
border-bottom:2px solid #ddd
}

.silica-tabs-content,.exposure-controls-tabs-content,.ecp-tabs-content {
border:1px solid #ddd;
padding:20px;
border-radius:4px;
background:#fff
}

.feedback-section {
    display: flex;
    gap: 20px;
    margin-top: 30px;
}

.feedback-column-left {
    width: 30%;
    background: #f4f4f4;
    padding: 20px;
    border-radius: 10px;
}

.feedback-column-right {
    width: 70%;
    background: #ffffff;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
}

.feedback-column-right form label {
    display: block;
    margin-top: 15px;
    font-weight: bold;
}

.feedback-column-right form input,
.feedback-column-right form textarea {
    width: 100%;
    margin-top: 5px;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    box-sizing: border-box;
}

.feedback-column-right form button {
    margin-top: 20px;
    padding: 10px 15px;
    background-color: #4e95d9;
    border:2px solid #4e95d9;
    color: #fff;
    border-radius: 5px;
    cursor: pointer;
}

.feedback-column-right form button:hover {
    border:2px solid #4e95d9;
}

.button-bar .button-group {
    list-style: none; /* Removes bullets */
    padding: 0;
    margin: 0;
    display: flex; /* Aligns list items in a row */
}

.button-bar .button-group li {
    display: inline-block; /* Ensures list items are inline */
    margin-right:20px;
    margin-bottom:20px;
}

#controltool-sidebar ul.side-nav>li>a.active {
    color:#4e95d9;
}

.manage-users-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
}

.manage-users-table th,
.manage-users-table td {
    padding: 10px;
    text-align: left;
    border: 1px solid #ddd;
}

.manage-users-table th {
    background-color: #f4f4f4;
    font-weight: bold;
}

.manage-users-table tr:nth-child(even) {
    background-color: #f9f9f9;
}

.manage-users-table tr:hover {
    background-color: #f1f1f1;
}

.edit-icon,
.save-icon,
.trash-icon {
    margin-left: 10px;
    cursor: pointer;
    font-size: 14px;
    color: #555;
}

.button.save-icon {
    color:var(--white);
}

.button.save-icon:hover {
    color:#4e95d9;
}

.edit-icon:hover {
    color: #007bff;
}

.save-icon:hover {
    color: #28a745;
}

.trash-icon:hover {
    color: #dc3545;
}

.notification {
    position: fixed;
    top: 20px;
    right: 20px;
    padding: 10px 20px;
    border-radius: 5px;
    background-color: #4caf50; /* Success green */
    color: #fff;
    font-size: 14px;
    z-index: 1000;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.notification.success {
    background-color: #4caf50;
}

.notification.error {
    background-color: #f44336;
}

 .meter-wrapper {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin: 20px 0;
    }
    .meter {
        width: 100%;
        height: 20px;
        position: relative;
        background: url('../images/gradient_green_yellow_red.png') no-repeat;
        background-size: 100% 100%;
        border: 1px solid #ccc;
        border-radius: 10px;
    }
    .meter-bar {
        position: absolute;
        width: 100%;
        height: 100%px;
        overflow: visible;
    }
    .meter-marker {
        width: 25px;         
        height: 25px;         
        background-color: transparent;  
        border: 5px solid black !important;
        border-radius: 25px;
        position: absolute;
        top: -4px;
    }
    .meter-labels {
        display: flex;
        justify-content: space-between;
        width: 100%;
        margin-top: 5px;
    }
    .exposure-data-table table {
        width: 100%;
        border-collapse: collapse;
    }
    .exposure-data-table th, .exposure-data-table td {
        border: 1px solid #ccc;
        padding: 10px;
        text-align: center;
    }
    .risk-safe { background: green; color: var(--white); padding: 5px; display: inline-block; }
    .risk-caution { background: yellow; color: black; padding: 5px; display: inline-block; }
    .risk-danger { background: var(--danger-color); color: var(--white); padding: 5px; display: inline-block; }

    .hidden {
    display: none;
    }

    #elimination-form > div.form-group{
        display:inline-block;
        margin:20px 20px 0 0;
    }

#administrative-controls-form input[type="radio"] {
    display:inline;
    width:auto!important;
    margin-right:20px;
}

#elimination-yes,#elimination-no,#engineering-not-listed,#engineering-none {
    display:inline;
    width:auto!important;
    margin-right:20px;
}

#administrative-controls-form .form-group {
    border: 1px solid #ddd;
    border-radius: 5px;
    padding: 20px;
    background: #fff;
}

.section-separator {
  border-top: 2px solid #4e95d9; /* adjust thickness/color as needed */
  margin: 50px 0;
}

.sidebar-separator {
  border-top: 1px solid #4e95d9; /* adjust thickness/color as needed */
  margin: 10px 0;
}


@media (min-width: 768px) {
    .threeColumns {
        width: 33.33%;
        float: left;
        box-sizing: border-box;
        padding: 0 10px;
    }
    .fourColumns {
        width: 25%;
        float: left;
        box-sizing: border-box;
        padding: 0 10px;
    }
}

@media (max-width: 767px) {
    .threeColumns {
        width: 100%;
        float: none;
        padding: 0;
        margin-bottom: 15px;
    }
    .fourColumns {
        width: 100%;
        float: none;
        padding: 0;
        margin-bottom: 15px;
    }
}

.work-activity::after {
    content: "";
    display: table;
    clear: both;
}

input[type="radio"] {
    display: inline;
    width: auto!important;
    margin-right: 10px;
}

.remove-activity-container {
    text-align: left;
}

.remove-activity-button {
    margin-top:0.75em;
}

.verification-notes-input {
    width:100%;
    margin-top:20px;
}

#submit-planning-verification:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    background: #4e95d9!important;
    color: #fff!important;
    padding: 10px 20px!important;
    border: 2px solid #4e95d9!important;
    border-radius: 5px!important;
    cursor: pointer!important;
    text-decoration: none!important;
    font-weight: 700;
}


.meter-bar {
    position: relative;
    overflow: visible; 
}

#generate-doc-container {
    padding:50px;
    width: auto;
    margin:auto;
    overflow: hidden;
}

#pdf-preview-canvas {
  width: 100%;
  height: auto;
}

/* Full-screen modal overlay */
#loading-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5); /* Semi-transparent background */
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999; /* Ensure it's above other elements */
}

/* Modal content */
.modal-content {
    background: var(--white);
    padding: 20px;
    border-radius: 10px;
    text-align: center;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    max-width: 400px;
    width: 90%;
}

/* Spinner image */
.spinner-img {
    width: 50px;
    height: 50px;
    margin-bottom: 15px;
}


.side-by-side {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.side-by-side > div {
    width: 49%;
    box-sizing: border-box;
}

.upload-col input[type=file] {
    width:auto;
    display:inline;
}

.note-col textarea {
    width:100%;
}

.alot_less_space {
    margin-top:0px;
}

.halfCols {
    width:calc(50% - 10px);
    float:left;
    margin:5px;
}

.fullCols {
    width:calc(100% - 10px);
    margin:5px;
}

.qtrCols {
    width: calc(25% - 10px);
    float:left;
    margin:5px;
}

.threeQtrCols {
    width: calc(75% - 10px);
    float:left;
    margin:5px;
}

.thirdCols {
    width: calc(33% - 10px);
    float: left;
    margin: 5px;
}

.clearFloats {
    clear: both;
}

.open-planning-button {
    margin-top: 30px;
}

.dashboard-table {
    width: 100%;
    border: 1px solid #ccc;
}
/* Use a wrapper for header row */

.table-cell {
    padding: 8px;
    border: 1px solid #ccc;
    text-align: left;
}
/* Remove duplicate borders for a cleaner look */
.table-cell:not(:last-child) {
    border-right: none;
}
.table-header .table-cell {
    background-color: #4e95d9;
    color:var(--white);
    font-weight: bold;
}

input.employee-count-radio {

}

label.employee-count-radio {
    display:inline-block;
    margin-right:50px;
}

.form-group textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
}

.form-group input[type="checkbox"] {
    display:inline;
    width:auto;
    margin-right: 25px;
    position: relative;
    top: 2px;
}

#control-details-modal {
    text-align: center;
}

.side-nav li a {
    width:100%;
    display:inline-block;
    font-size:12px;
}

.control-questions .form-group:nth-child(2n+1) {
  clear: both;
}

.control-questions {
    border:1px solid #ddd;
    border-radius: 5px;
    padding:10px;
}

#request-verification-button {
    display:inline-block;
    width:70%;
    margin:70px auto 0 auto;
    text-align: center;
}

ul.control-ver-list {
    padding: 5px 20px!important;
}

.admin-control-questions {
    border: 1px solid #ccc;
    border-radius:10px;
    padding:20px;
    margin:20px 0;
}

.summary-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 1em;
}
.summary-table th, .summary-table td {
    border: 1px solid #ccc;
    padding: 8px;
}
.activity-section {
     margin-bottom: 2em;
}



/*
START STYLES SPECIFIC TO CONTROLTOOL
*/

.shadow_container {
    border: 1px solid #ccc;
    border-radius: 10px;           
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
    padding: 20px;        
    margin:20px 0;  
    color:#666;
      
}

.dashboard_container {
    border: 1px solid #ccc;
    border-radius: 10px;           
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
    padding: 20px;        
    margin:20px 0;  
    color:#666;      
}

.dashboard_container.qtrCols {
    width:23%;
    margin:0 1%;
}

.dashboard_container.halfCols {
    width:48%;
    margin:0 1%;
}

.intro_paragraph {
    font-weight: 500;
    color:#666;
    margin:0 0 10px 0;
}

.shadow_container a, .intro_paragraph a,.intro_list_links a {
    color:#4e95d9;
    text-decoration: none;
}

.shadow_container a:hover, .intro_paragraph a:hover, .intro_list_links a:hover {
    text-decoration: underline;
}

.shadow_container a.button {
    color:var(--white);
}

.shadow_container a.button:hover {
    color:var(--primary-color);
}


.employeeCountRadio {
    display:inline-block!important;
    margin-right:40px;
}

.quickLinks {
    display: block;
    width:100%;
    text-align: center;
}

.elimination-question { border: 1px solid #ccc; margin-bottom: 1em; padding: 1em; }
.elimination-tabs-container button { margin-right: .5em; }

    .engineering-not-listed-text {
        width: 100%;
        margin-top: 10px;
        padding: 8px;
    }
    .engineering-activity {
        border: 1px solid transparent;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
        margin-bottom: 1em;
        padding: 1em;
        border-radius: 4px;
        background-color: #fff;
    }

    .devNotice {
        font-style: italic;
        color: #555;
    }

    .tabs { width: 100%; }
    .tab-list {
      list-style: none;
      margin: 0 0 1em;
      padding: 0;
    }
    .tab {
        display:inline-block;
        padding: 0.5em 1em;
        cursor: pointer;
        border: 2px solid #4e95d9;
        color:#4e95d9;
        font-weight: 600;
    }
    .tab.active {
        border-color: #4e95d9;
        border-bottom-color: #4e95d9;
        background: #4e95d9!important;
        color:var(--white);
    }
    .tab-content { display: none; }
    .tab-content.active { display: block;width:100%; }
    #engineering-controls-form {
        width:100%;
    }

.admin-activity {
    border: 1px solid #ccc;
    margin-bottom: 1em;
    padding: 1em;
}

.form-group { margin-bottom: 1em; }
    
.ac-tabs { 
    width: 100%; 
}

.ac-tab-list {
    list-style: none;
    margin: 0 0 1em;
    padding: 0;
}

.ac-tab {
    padding: 0.5em 1em;
    cursor: pointer;
    border: 2px solid #4e95d9;
    text-align: center;
    color:#4e95d9;
    font-weight: 600;
    background: var(--white)!important;
}

.ac-tab.active {
    border-color: #4e95d9;
    border-bottom-color: #4e95d9;
    background: #4e95d9!important;
    color:var(--white);
}

.ac-tab-content { 
    display: none; 
}

.ac-tab-content.active { 
    display: block;
    width:100%; 
}

.intro_list_links li {
    margin-left: 20px;
}   


/*
END STYLES SPECIFIC TO CONTROLTOOL
*/



/*
START FOR GENERIC STYLESHEET
*/



/*Start Button Styles*/

.button.danger {
    background-color: var(--danger-color);
    color:var(--white);
    border-color: var(--danger-color);
}

.button.danger:hover {
    background-color:var(--white);
    color:var(--danger-color);
    border-color:var(--danger-color);
    
}

.button.blockbutton {
    display:block;
    text-align: center;
    margin:10px;
}

/*End Button Styles*/

/*Start Table & Table Content Styles*/

td.admin-stats {
  text-align: center;
}

.summary-table td:first-child h5 {
    color:black!important;
    font-weight: 400;
}

.summary-table th a {
    color:var(--white);
    text-decoration: none;
}

.summary-table.company-details td:first-child {
    text-align: left;
}

.summary-table.company-details label {
    font-weight:600;
    display:block;
    color:#4e95d9;
}

#company-details > table:nth-child(1) > tbody > tr:nth-child(2) > td:nth-child(2) > label:nth-child(1) {    
    padding-bottom:10px;
}

.summary-table.company-details label.employee-count-radio {
    display:inline-block!important;
    color:black!important;
}

.summary-table h5 {
    font-weight:600;
}

/*End Table Styles*/

.health-risks-text {
    font-size:0.9em;
    padding:0 10px;
}

.invoice-list li {
    margin-left:25px;
    list-style: none;
}

.scrollable-plannings {
    max-height: 300px;   /* Adjust as needed */
    overflow-y: auto;
    padding-right: 5px;  /* optional, to account for scrollbar */
}


/*
END FOR GENERIC STYLESHEET
*/

/*
START TABLET OVER-RIDES
*/

@media screen and (max-width:768px) {

.sidebar {
    display:none;
}

.content {
    margin-left: none!important;
}

.qtrCols {
    width: calc(50% - 10px);
    float:left;
    margin:5px;
}

.thirdCols {
    width: calc(100% - 10px);
    float:left;
    margin:5px;
}

.halfCols {
    width: calc(100% - 10px);
    float:left;
    margin:5px;
}

.threeQtrCols {
    width: calc(100% - 10px);
    float:left;
    margin:5px;
}

.twoThirdCols {
    width: calc(100% - 10px);
    float:left;
    margin:5px;
}

.row {
flex-direction:column;

}

.large-4,.large-6,.medium-4,.medium-6,.small-12 {
min-width:100%;
}
}

/*
END TABLET OVER-RIDES
*/

/*
START LOGIN MODAL
*/

/* Modal overlay: covers the entire screen with a dark semi-transparent background */
#loginModalOverlay {
  display: none;               /* Hidden by default; JS will show/hide it */
  position: fixed;             /* Stays in place on screen scroll */
  top: 0;                      /* Anchors to the top */
  left: 0;                     /* Anchors to the left */
  width: 100%;                 /* Full width */
  height: 100%;                /* Full height */
  background-color: rgba(0, 0, 0, 0.5); /* Semi-transparent black background */
  z-index: 9999;               /* High z-index so it’s above other elements */
}

/* Modal content box: centered via transform */
#loginModalContent {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); /* Move back up and left by half its own size */
  
  background: #fff;
  padding: 20px;
  width: 300px;
  max-width: 90%; /* Ensures responsiveness on small screens */
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

/* Basic styling for form elements */
#loginModalContent form {
  display: flex;
  flex-direction: column;
}

#loginModalContent label {
  margin: 10px 0 5px;
}

#loginModalContent input {
  padding: 8px;
  margin-bottom: 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

#loginModalContent button {
  padding: 10px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  background: #007bff;
  color: #fff;
  font-size: 14px;
}

/* Optional hover effect for the button */
#loginModalContent button:hover {
  background: #0056b3;
}

/*
END LOGIN MODAL
*/