
body {
    font-family: Arial, sans-serif;
    text-align: center;
    margin-top: 100px;
}

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

body{
    background:#f8fafc;
}

/* Navbar */

nav{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:20px 60px;
    background:white;
    box-shadow:0 2px 10px rgba(0,0,0,0.05);
}
.logo{
    display:flex;
    align-items:center;
    text-decoration:none;
}

.logo img{
    width:150px;
    height:auto;
    display:block;
}


nav ul{
    display:flex;
    list-style:none;
    gap:30px;
}

nav a{
    text-decoration:none;
    color:#333;
    font-weight:500;
}

.login-btn{
    background:#0F4C81;
    color:white;
    border:none;
    padding:10px 20px;
    border-radius:8px;
    cursor:pointer;
    display: inline-block;
    text-decoration: none;
}


/* Hero Section */

.hero{
    height:80vh;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:20px;
}

.hero-content{
    max-width:800px;
}

.hero h1{
    font-size:30px;
    color:#0F4C81;
    margin-bottom:20px;
    line-height: 1.1;
}
  
    



.hero p{
    color:#434b4a;
    font-weight:700;
    font-size:18px;
    letter-spacing:1px;
}


.buttons{
    display:flex;
    justify-content:center;
    gap:15px;
}

.primary-btn{
    background:#14B8A6;
    color:white;
    border:none;
    padding:15px 30px;
    border-radius:10px;
    cursor:pointer;

}

.secondary-btn{
    background:white;
    color:#0F4C81;
    border:2px solid #0F4C81;
    padding:15px 30px;
    border-radius:10px;
    cursor:pointer;
}body{
    margin:0;
    font-family:'Poppins',sans-serif;
    background:white;
}

/* Hero */

.hero{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:80px;
    gap:50px;
}
.hero-image{
    padding:20px;
}
.hero-image{
    position: relative;
}
.hero-image{
    position:relative;
}


.hero-image::before{
    content: "";
    position: absolute;

    width: 700px;
    height: 700px;

    background: radial-gradient(
        circle,
        rgba(20,184,166,0.35) 0%,
        rgba(20,184,166,0.15) 40%,
        transparent 75%
    );

    top: 50%;
    left: 50%;

    transform: translate(-50%, -50%);
    z-index: -1;
    filter: blur(40px);
}
.hero-image::after{
    content: "";
    position: absolute;

    width: 350px;
    height: 350px;

    background: #14B8A6;

    border-radius: 50%;

    opacity: 0.25;

    filter: blur(100px);

    bottom: 20%;
    right: 15%;

    z-index: -1;
}
.hero-image img{
    animation: float 6s ease-in-out infinite;
}

@keyframes float{
    0%{
        transform: translateY(0px);
    }

    50%{
        transform: translateY(-12px);
    }

    100%{
        transform: translateY(0px);
    }
}
.nav-links a{
    transition: 0.3s;
}

.nav-links a:hover{
    color:#14B8A6;
}
.hero-image img{
    width:120%;
    max-width:700px;
}
.hero-image{
    position: relative;
}

.tanzania-pin{
    position: absolute;

    /* Starting position on Tanzania */
    left: 64%;
    top: 40%;

    width: 24px;
    height: 24px;

    background: #EF4444;
    border-radius: 50% 50% 50% 0;

    transform: rotate(-45deg);

    box-shadow:
        0 0 0 5px rgba(239,68,68,0.15),
        0 0 20px rgba(239,68,68,0.55);

    z-index: 5;
}

/* White center of the pin */
.tanzania-pin span{
    position: absolute;

    width: 8px;
    height: 8px;

    background: white;
    border-radius: 50%;

    top: 8px;
    left: 8px;
}
.tanzania-pin::after{
    content: "";

    position: absolute;
    width: 35px;
    height: 35px;

    border: 2px solid rgba(239,68,68,0.35);
    border-radius: 50%;

    top: -7px;
    left: -7px;

    animation: pinPulse 2s infinite;
}

@keyframes pinPulse{
    0%{
        transform: scale(0.7);
        opacity: 0.8;
    }

    100%{
        transform: scale(1.5);
        opacity: 0;
    }
}
.hero{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:80px;
    padding:100px 80px;
}

.hero-text{
    flex:1.2;
    text-align:left;
    max-width: 750px;
}

    
.subtitle{
   
    color:#14B8A6!important;
    font: size 18px!important;
    font-weight:800;
    letter-spacing:3px;
    text-transform:uppercase;
    margin-bottom:20px;

    border-left: #14B8A6 4px solid;
    padding-left: 15px;

}



.hero h1{
    font-size:48px;
    color:#0f1d2a;
    margin-bottom:35px;
    line-height:1.1;
    font-weight:800;
}

.hero h1 span{
    color:#14B8A6;
}


.description{   
    color:#475569!important;
    font-size:18px;
    line-height:1.8;
    max-width: 650px;
    margin-bottom:45px;
}

.hero-buttons{
    display:flex;
    gap:20px;
    margin-top:45px !important;
    margin-bottom: 50px !important;
}

.btn-primary{
    background: linear-gradient(
        135deg,
        #14B8A6,
        #0F766E
    );
    color: white;
    border: none;
    padding: 16px 32px;
    border-radius: 50px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 8px 25px rgba(20,184,166,0.25);
}
.btn-primary:hover{
    transform: translateY(-3px);
    box-shadow: 0 15px 35px rgba(20,184,166,0.35);
}
.btn-secondary{
    background: white;
    color: #0F4C81;
    border: 2px solid #0F4C81;
    padding: 16px 32px;
    border-radius: 50px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}
.btn-secondary:hover{
    background:#0F4C81;
    color:white;
    transform:translateY(-3px);
}



.hero-image{
    flex:1.3;
    text-align:center;
}

.hero-image img{
    width:100%;
    max-width:650px;
    margin-top: -40px;
}

.role-cards{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    gap:30px;
    max-width:1000px;
    margin:40px auto;
}
.role-selection {
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
  margin-bottom: 100px;
  font-size: 20px;
  
}
.roles-title {
  font-size: 24px;
  margin-bottom: 20px;
    display:inline-block;
    border-bottom:4px solid #14B8A6;
    padding-bottom:10px;
    margin-top: 200px;
    
}

.role-card{
    width:300px;
    background:#fff;
    border-radius:20px;
    overflow:hidden;
    padding:0;
    text-align:center;
    box-shadow:0 8px 25px rgba(0,0,0,0.08);
    border:1px solid #e5e7eb;
    transition:all 0.3s ease;
}

.role-card-image {
    aspect-ratio:4 / 3;
    display:block;
    object-fit:cover;
    width:100%;
}

.role-card-content {
    align-items:center;
    display:flex;
    flex-direction:column;
    min-height:185px;
    padding:1.45rem 1.3rem 1.55rem;
}

.role-card:hover{
    transform:translateY(-8px);
}
.role-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 10px 25px rgba(0,0,0,0.08);
}

.role-icon{
    width:80px;
    height:80px;
    margin:0 auto 20px;
    background:#ecfdf5;
    border-radius:50%;
    display:flex;
    justify-content:center;
    align-items:center;
    color:#14B8A6;
    font-size:35px;
}

.role-icon svg {
    width: 40px;
    height: 40px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.role-icon--facility {
    background: #eff6ff;
    color: #0F4C81;
}

.role-icon--engineer {
    background: #ecfdf5;
    color: #14B8A6;
}

.role-icon--supplier {
    background: #f0fdfa;
    color: #0F766E;
}



.role-card h3 {
  margin-bottom: 10px;
}

.role-card p {
  color: #6b7280;
  font-size: 14px;
  margin-bottom: 15px;
}
.role-card button{
    margin-top:15px;
    background:#14B8A6;
    color:white;
    border:none;
    padding:12px 25px;
    border-radius:30px;
    cursor:pointer;
    font-weight:600;
}

.role-card button:hover{
    background:#0f9f92;
}.how-it-works{
    text-align:center;
    padding:80px 20px;
}
.how-it-works h2{
    font-size:2.5rem;
    margin-bottom:20px;
}
.how-it-works p{
    max-width: 850px;
    margin: 0 auto;
    font-size: 1.1rem;
    line-height: 2;
    color: #666;
}
.why-choose-us{
    max-width:900px;
    margin:100px auto;
    text-align:center;
    padding:0 20px;
    margin-top: 60px;
}

.why-choose-us h2{
    font-size:2.5rem;
    margin-bottom:40px;
}

.benefits-list{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px;
    max-width:800px;
    margin:0 auto;
}

.benefits-list div{
    background: #14B8A6;
    border:1px solid #e5e7eb;
    border-radius:12px;
    padding:20px;
    font-size:1.1rem;
    font-weight:500;
}
.marketplace-preview{
    padding:100px 8%;
    text-align:center;
    background:#f8fafc;
}

.marketplace-preview h2{
    font-size:2.8rem;
    margin-bottom:20px;
}

.marketplace-preview p{
    max-width:700px;
    margin:0 auto 60px;
    color:#64748b;
    line-height:1.8;
}

.marketplace-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:30px;
}

.product-card{
    background:white;
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 10px 30px rgba(0,0,0,0.08);
    transition:0.3s;
}

.product-card:hover{
    transform:translateY(-10px);
}

.product-card img{
    width:100%;
    height:220px;
    object-fit:cover;
}

.product-card h3{
    padding:20px;
}

.product-card a{
    display:block;
    padding-bottom:25px;
    color:#14B8A6;
    font-weight:600;
    text-decoration:none;
}

.market-btn{
    margin-top:50px;
    background:#14B8A6;
    color:white;
    border:none;
    padding:15px 35px;
    border-radius:50px;
    font-size:1rem;
    cursor:pointer;
}
.product-card img{
    width:100%;
    height:220px;
    object-fit:cover;
}
.product-card{
    overflow:hidden;
}

.product-card img{
    transition:0.4s;
}

.product-card:hover img{
    transform:scale(1.05);
}
.footer {
    position: relative;
    margin-top: 100px;
    padding: 0 7% 26px;
    overflow: hidden;
    background:
        radial-gradient(circle at 9% 30%, rgba(20, 184, 166, 0.16), transparent 27%),
        radial-gradient(circle at 90% 80%, rgba(39, 121, 189, 0.18), transparent 30%),
        #082f52;
    color: white;
    text-align: left;
}

.footer::before {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
    background-size: 42px 42px;
    content: "";
    pointer-events: none;
}

.footer > * {
    position: relative;
    z-index: 1;
}

.footer-pulse {
    display: grid;
    grid-template-columns: 1fr minmax(180px, 320px) 1fr;
    align-items: center;
    margin: 0 -8vw;
    color: #2dd4bf;
}

.footer-pulse span {
    height: 1px;
    background: rgba(45, 212, 191, 0.46);
}

.footer-pulse svg {
    width: 100%;
    height: 36px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
}

.footer-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    max-width: 1240px;
    margin: 42px auto 48px;
    padding-bottom: 45px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.footer-kicker {
    color: #5eead4;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.footer-cta h2 {
    max-width: 650px;
    margin-top: 10px;
    color: white;
    font-size: clamp(1.8rem, 3vw, 2.7rem);
    line-height: 1.12;
}

.footer-email-button {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 12px;
    padding: 15px 20px;
    border: 1px solid rgba(94, 234, 212, 0.46);
    border-radius: 12px;
    background: #14b8a6;
    box-shadow: 0 14px 32px rgba(2, 20, 36, 0.24);
    color: #042f2e;
    font-weight: 800;
    text-decoration: none;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.footer-email-button svg {
    width: 21px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
}

.footer-email-button:hover {
    box-shadow: 0 18px 36px rgba(2, 20, 36, 0.34);
    transform: translateY(-2px);
}

.footer-container {
    display: grid;
    grid-template-columns: minmax(260px, 1.55fr) 0.75fr 0.95fr minmax(260px, 1.15fr);
    gap: clamp(30px, 5vw, 70px);
    max-width: 1240px;
    margin: 0 auto;
}

.footer-logo {
    display: inline-flex;
    background: transparent;
}

.footer-logo img {
    width: 168px;
    height: auto;
    filter: brightness(0) invert(1) drop-shadow(0 8px 18px rgba(2, 20, 36, 0.25));
    opacity: 0.96;
}

.footer-brand > p {
    max-width: 390px;
    margin-top: 22px;
    color: #c9ddeb;
    line-height: 1.75;
}

.footer-origin {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-top: 25px;
    color: #9fc1d8;
    font-size: 0.85rem;
}

.footer-origin-mark {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid rgba(94, 234, 212, 0.4);
    border-radius: 50%;
    color: #5eead4;
    font-size: 0.7rem;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.footer-links {
    display: block;
    padding: 0;
    background: transparent;
    box-shadow: none;
}

.footer-links h3,
.footer-contact h3 {
    margin: 7px 0 22px;
    color: white;
    font-size: 0.82rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.footer-links ul {
    display: block;
    padding: 0;
    list-style: none;
}

.footer-links li {
    margin-bottom: 13px;
}

.footer-links a {
    color: #b8d0e1;
    font-weight: 500;
    text-decoration: none;
    transition: color 0.2s ease, padding-left 0.2s ease;
}

.footer-links a:hover {
    padding-left: 4px;
    color: #5eead4;
}

.footer-contact {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.footer-contact-item {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #d9e8f2;
    line-height: 1.35;
    text-decoration: none;
}

.footer-contact-item small {
    display: block;
    margin-bottom: 2px;
    color: #7ea8c4;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.footer-contact-icon {
    display: grid;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid rgba(94, 234, 212, 0.22);
    border-radius: 9px;
    background: rgba(20, 184, 166, 0.09);
    color: #5eead4;
}

.footer-contact-icon svg {
    width: 18px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
}

.footer-contact-item[href]:hover {
    color: #5eead4;
}

.footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    max-width: 1240px;
    margin: 48px auto 0;
    padding-top: 22px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    color: #7ea8c4;
    font-size: 0.82rem;
}

.footer-motto {
    display: flex;
    align-items: center;
    gap: 9px;
}

.footer-motto span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #2dd4bf;
    box-shadow: 0 0 0 5px rgba(45, 212, 191, 0.11);
}

@media (max-width: 1000px) {
    .footer-container {
        grid-template-columns: 1.4fr 1fr 1fr;
    }

    .footer-contact {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
    }

    .footer-contact h3 {
        grid-column: 1 / -1;
    }
}

@media (max-width: 700px) {
    .footer {
        padding-right: 24px;
        padding-left: 24px;
    }

    .footer-cta,
    .footer-bottom {
        align-items: flex-start;
        flex-direction: column;
    }

    .footer-email-button {
        justify-content: space-between;
        width: 100%;
    }

    .footer-container,
    .footer-contact {
        grid-template-columns: 1fr;
    }

    .footer-contact {
        grid-column: auto;
    }

    .footer-contact h3 {
        grid-column: auto;
    }
}
html {
    scroll-behavior: smooth;
}

a.btn-primary {
    display: inline-block;
    text-decoration: none;
}

.role-card .role-button {
    display: inline-block;
    margin-top: 15px;
    padding: 12px 25px;
    border-radius: 30px;
    background: #14B8A6;
    color: white;
    font-weight: 600;
    text-decoration: none;
    transition: 0.3s ease;
}

.role-card .role-button:hover {
    background: #0f9f92;
    transform: translateY(-2px);
}

/* Facility registration */

.registration-body {
    min-height: 100vh;
    margin: 0;
    padding: 40px 20px;
    background:
        radial-gradient(circle at top left, rgba(20, 184, 166, 0.20), transparent 35%),
        #f4f8fb;
    text-align: left;
}

.registration-shell {
    display: grid;
    grid-template-columns: 0.8fr 1.2fr;
    width: 100%;
    max-width: 1050px;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 28px;
    background: white;
    box-shadow: 0 25px 70px rgba(15, 76, 129, 0.14);
}

.registration-welcome {
    padding: 55px 45px;
    color: white;
    background: linear-gradient(145deg, #0F4C81, #0b355c);
}

.registration-logo {
    display:inline-block;
    line-height:0;
}

.registration-logo img {
    background:transparent;
    border-radius:0;
    filter:drop-shadow(0 3px 7px rgba(117,231,217,.2));
    padding:0;
    width:190px;
}

.registration-label {
    display: inline-block;
    margin-top: 60px;
    padding: 8px 14px;
    border-radius: 30px;
    background: rgba(20, 184, 166, 0.22);
    color: #7ff3e6;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
}

.registration-welcome h1 {
    margin: 22px 0 18px;
    color: white;
    font-size: 38px;
    line-height: 1.15;
}

.registration-welcome p,
.registration-welcome li {
    color: #dbeafe;
    line-height: 1.7;
}

.registration-welcome ul {
    margin-top: 28px;
    padding-left: 20px;
}

.registration-panel {
    padding: 55px;
}

.back-home {
    color: #0F4C81;
    font-weight: 600;
    text-decoration: none;
}

.registration-panel h2 {
    margin: 35px 0 8px;
    color: #0F4C81;
    font-size: 30px;
}

.registration-panel > p {
    margin-bottom: 30px;
    color: #64748b;
}

.registration-form p {
    margin-bottom: 20px;
}

.registration-form label {
    display: block;
    margin-bottom: 7px;
    color: #1e293b;
    font-weight: 600;
}

.registration-form input,
.registration-form select,
.registration-form textarea {
    width: 100%;
    padding: 13px 14px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    background: #f8fafc;
    font-size: 15px;
}

.registration-form input:focus,
.registration-form select:focus,
.registration-form textarea:focus {
    border-color: #14B8A6;
    outline: 3px solid rgba(20, 184, 166, 0.14);
}

.registration-form textarea {
    min-height: 90px;
    resize: vertical;
}

.registration-form .helptext {
    display: block;
    margin-top: 6px;
    color: #64748b;
    font-size: 12px;
}

.registration-form .errorlist {
    margin: 6px 0;
    padding-left: 18px;
    color: #dc2626;
}

.registration-form button {
    width: 100%;
    margin-top: 12px;
    padding: 15px;
    border: none;
    border-radius: 12px;
    background: linear-gradient(135deg, #14B8A6, #0F766E);
    color: white;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
}

.registration-form button:hover {
    box-shadow: 0 10px 25px rgba(20, 184, 166, 0.30);
    transform: translateY(-2px);
}

@media (max-width: 800px) {
    .registration-shell {
        grid-template-columns: 1fr;
    }

    .registration-welcome,
    .registration-panel {
        padding: 35px 25px;
    }

    .registration-label {
        margin-top: 35px;
    }
}
/* Facility dashboard */

.dashboard-body {
    min-height: 100vh;
    margin: 0;
    background: #f4f8fb;
    color: #1e293b;
    text-align: left;
}

.dashboard-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 6%;
    background: white;
    box-shadow: 0 4px 20px rgba(15, 76, 129, 0.08);
}

.dashboard-logo {
    display: flex;
    align-items: center;
}

.dashboard-logo img {
    width: 165px;
    height: auto;
}

.dashboard-nav-actions {
    display: flex;
    align-items: center;
    gap: 24px;
}

.dashboard-nav-actions a {
    color: #0F4C81;
    font-weight: 700;
    text-decoration: none;
}

.dashboard-nav-actions a:hover {
    color: #14B8A6;
}

.dashboard-nav-actions form {
    margin: 0;
}

.logout-button {
    padding: 11px 22px;
    border: 1px solid #0F4C81;
    border-radius: 30px;
    background: white;
    color: #0F4C81;
    font-weight: 700;
    cursor: pointer;
    transition: 0.3s ease;
}

.logout-button:hover {
    background: #0F4C81;
    color: white;
}

.dashboard-main {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 45px 25px 80px;
}

.dashboard-welcome {
    position: relative;
    overflow: hidden;
    padding: 45px;
    border-radius: 24px;
    background: linear-gradient(135deg, #0F4C81, #0b355c);
    box-shadow: 0 20px 45px rgba(15, 76, 129, 0.18);
}

.dashboard-welcome::after {
    content: "";
    position: absolute;
    width: 260px;
    height: 260px;
    right: -80px;
    top: -110px;
    border-radius: 50%;
    background: rgba(20, 184, 166, 0.24);
}

.dashboard-welcome h1 {
    position: relative;
    z-index: 1;
    margin: 14px 0 10px;
    color: white;
    font-size: 38px;
}

.dashboard-welcome p {
    position: relative;
    z-index: 1;
    max-width: 650px;
    color: #dbeafe;
    font-size: 17px;
    line-height: 1.7;
}

.dashboard-label {
    position: relative;
    z-index: 1;
    color: #14B8A6;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.dashboard-summary {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    margin: 30px 0;
}

.summary-card {
    padding: 25px;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    background: white;
    box-shadow: 0 10px 30px rgba(15, 76, 129, 0.06);
}

.summary-card span {
    display: block;
    margin-bottom: 12px;
    color: #64748b;
    font-size: 14px;
}

.summary-card strong {
    color: #0F4C81;
    font-size: 20px;
}

.facility-information {
    padding: 35px;
    border: 1px solid #e2e8f0;
    border-radius: 22px;
    background: white;
    box-shadow: 0 12px 35px rgba(15, 76, 129, 0.06);
}

.section-heading {
    margin-bottom: 28px;
}

.section-heading h2 {
    margin-top: 8px;
    color: #0F4C81;
    font-size: 27px;
}

.facility-details {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.facility-details > div {
    padding: 18px;
    border-radius: 14px;
    background: #f8fafc;
}

.facility-details dt {
    margin-bottom: 7px;
    color: #64748b;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
}

.facility-details dd {
    margin: 0;
    color: #1e293b;
    font-size: 16px;
    font-weight: 600;
}

.nearby-engineers-section {
    margin-bottom: 30px;
}

.nearby-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
}

.nearby-heading h2 {
    margin-bottom: 8px;
}

.nearby-heading p {
    max-width: 680px;
    margin: 0;
    color: #64748b;
    line-height: 1.6;
}

.location-filter {
    flex: 0 0 auto;
    padding: 10px 15px;
    border: 1px solid rgba(20, 184, 166, 0.25);
    border-radius: 999px;
    background: rgba(20, 184, 166, 0.09);
    color: #0f766e;
    font-size: 13px;
    font-weight: 800;
}

.engineer-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.engineer-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 24px;
    border: 1px solid #dbe6ee;
    border-radius: 18px;
    background: linear-gradient(145deg, #ffffff, #f8fcfc);
    box-shadow: 0 10px 28px rgba(15, 76, 129, 0.07);
}

.engineer-card-top {
    display: flex;
    align-items: center;
    gap: 14px;
}

.engineer-avatar {
    display: grid;
    flex: 0 0 50px;
    width: 50px;
    height: 50px;
    place-items: center;
    border-radius: 15px;
    background: linear-gradient(135deg, #0F4C81, #14B8A6);
    color: white;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.5px;
    overflow: hidden;
}

.engineer-avatar img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.engineer-avatar > span {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
}

.engineer-avatar--sidebar {
    width: 42px;
    height: 42px;
    flex-basis: 42px;
    border-radius: 13px;
}

.engineer-photo-editor {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    margin: 8px 0 22px;
    padding: 18px;
    border: 1px solid #b9ded5;
    border-radius: 18px;
    background: linear-gradient(135deg, #edf9f6 0%, #f7fbff 100%);
}

.engineer-avatar--photo-editor {
    width: 82px;
    height: 82px;
    flex-basis: 82px;
    border-radius: 22px;
    font-size: 1.15rem;
    box-shadow: 0 10px 22px rgba(15, 118, 110, 0.18);
}

.engineer-photo-editor-copy h2 {
    margin: 4px 0;
    color: #173d5c;
    font-size: 1.15rem;
}

.engineer-photo-editor-copy p {
    margin: 0 0 10px;
    color: #647b73;
    font-size: 0.86rem;
}

.engineer-photo-editor-copy > label {
    display: block;
    margin-bottom: 5px;
    color: #0f766e;
    font-weight: 800;
}

.engineer-photo-editor-copy input[type="file"] {
    width: 100%;
    padding: 9px;
    border: 1px solid #b9d4cd;
    border-radius: 11px;
    background: #fff;
}

.engineer-photo-editor-copy small {
    display: block;
    margin-top: 6px;
    color: #71837c;
}

@media (max-width: 560px) {
    .engineer-photo-editor {
        grid-template-columns: 1fr;
    }
}

.engineer-card h3 {
    margin: 0 0 5px;
    color: #0F4C81;
    font-size: 18px;
}

.engineer-card-top p {
    margin: 0;
    color: #64748b;
    font-size: 14px;
}

.engineer-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 18px 0;
}

.match-badge,
.verified-badge {
    padding: 6px 10px;
    border-radius: 999px;
    background: #e8f1f8;
    color: #0F4C81;
    font-size: 11px;
    font-weight: 800;
}

.match-badge--district,
.verified-badge {
    background: #dff8f3;
    color: #0f766e;
}

.engineer-card-details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 0 0 18px;
}

.engineer-card-details > div {
    padding: 12px;
    border-radius: 12px;
    background: #f1f5f9;
}

.engineer-card-details dt,
.engineer-specializations > span {
    margin-bottom: 5px;
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.4px;
    text-transform: uppercase;
}

.engineer-card-details dd {
    margin: 0;
    color: #1e293b;
    font-size: 14px;
    font-weight: 700;
}

.engineer-specializations {
    margin-bottom: 20px;
}

.engineer-specializations > span {
    display: block;
}

.engineer-specializations > div {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.engineer-specializations small {
    padding: 6px 9px;
    border-radius: 8px;
    background: #eef6fb;
    color: #315a78;
    font-size: 12px;
    font-weight: 650;
}

.engineer-contact-actions {
    display: flex;
    gap: 10px;
    margin-top: auto;
}

.engineer-contact-actions a,
.nearby-empty-state .edit-profile-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 16px;
    border: 1px solid #0F4C81;
    border-radius: 999px;
    background: #0F4C81;
    color: white;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

.engineer-contact-actions .secondary-contact {
    background: white;
    color: #0F4C81;
}

.engineer-contact-actions a:hover,
.nearby-empty-state .edit-profile-button:hover {
    border-color: #14B8A6;
    background: #14B8A6;
    color: white;
}

.nearby-empty-state {
    padding: 30px;
    border: 1px dashed #b8cbd9;
    border-radius: 16px;
    background: #f8fafc;
    text-align: center;
}

.nearby-empty-state h3 {
    margin: 0 0 8px;
    color: #0F4C81;
}

.nearby-empty-state p {
    max-width: 620px;
    margin: 0 auto 18px;
    color: #64748b;
    line-height: 1.6;
}

@media (max-width: 760px) {
    .dashboard-nav {
        padding: 15px 20px;
    }

    .dashboard-logo img {
        width: 135px;
    }

    .dashboard-nav-actions {
        gap: 12px;
    }

    .dashboard-nav-actions > a {
        display: none;
    }

    .dashboard-welcome {
        padding: 32px 24px;
    }

    .dashboard-welcome h1 {
        font-size: 30px;
    }

    .dashboard-summary,
    .facility-details,
    .engineer-card-grid {
        grid-template-columns: 1fr;
    }

    .nearby-heading {
        flex-direction: column;
    }

    .location-filter {
        align-self: flex-start;
    }

    .facility-information {
        padding: 25px 20px;
    }
}

/* Facility equipment inventory */
.equipment-main { padding-bottom: 72px; }
.equipment-hero, .equipment-detail-actions, .dashboard-equipment-actions {
    display: flex; align-items: center; justify-content: space-between; gap: 20px;
}
.equipment-hero { padding: 38px 0 26px; }
.equipment-hero h1, .equipment-form-intro h1, .equipment-detail-heading h1 {
    margin: 8px 0; color: #0f4c81; font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1.08;
}
.equipment-hero p, .equipment-form-intro p { margin: 0; color: #526475; max-width: 680px; }
.equipment-primary-action, .equipment-secondary-action {
    display: inline-flex; align-items: center; justify-content: center; padding: 12px 18px;
    border-radius: 10px; font-weight: 750; text-decoration: none;
}
.equipment-primary-action { background: #0f766e; color: #fff; box-shadow: 0 8px 20px rgba(15,118,110,.2); }
.equipment-secondary-action { border: 1px solid #b9d9d5; color: #0f766e; background: #f7fffd; }
.equipment-messages p { margin: 18px 0 0; padding: 13px 16px; border-radius: 10px; background: #dff7ef; color: #116149; font-weight: 650; }
.equipment-filters {
    display: grid; grid-template-columns: minmax(240px, 2fr) 1fr 1fr auto auto; gap: 14px;
    align-items: end; padding: 18px; margin-bottom: 26px; background: #fff; border: 1px solid #dcebe8; border-radius: 16px;
}
.equipment-filters label { display: grid; gap: 7px; color: #34495e; font-size: 13px; font-weight: 700; }
.equipment-filters input, .equipment-filters select {
    width: 100%; min-height: 44px; border: 1px solid #ccdcd9; border-radius: 9px; padding: 10px 12px; background: #fbfefd;
}
.equipment-filters button { min-height: 44px; border: 0; border-radius: 9px; padding: 0 16px; background: #0f4c81; color: #fff; font-weight: 700; cursor: pointer; }
.equipment-filters > a { min-height: 44px; display: inline-flex; align-items: center; color: #0f766e; font-weight: 700; }
.equipment-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.equipment-card { overflow: hidden; display: grid; grid-template-columns: 180px 1fr; min-height: 250px; background: #fff; border: 1px solid #dcebe8; border-radius: 18px; box-shadow: 0 10px 28px rgba(15,76,129,.06); }
.equipment-card-image { min-height: 100%; background: linear-gradient(145deg,#e8f8f4,#d9eef5); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; color: #0f766e; text-decoration: none; }
.equipment-card-image img { width: 100%; height: 100%; object-fit: cover; }
.equipment-card-image span { font-size: 44px; }
.equipment-card-content { padding: 20px; }
.equipment-card-title { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.equipment-card-title small { color: #0f766e; font-weight: 700; }
.equipment-card-title h2 { margin: 5px 0 15px; color: #173d5c; font-size: 20px; }
.equipment-status { display: inline-flex; width: fit-content; border-radius: 999px; padding: 6px 9px; font-size: 11px; font-weight: 800; white-space: nowrap; background: #e7edf2; color: #43576a; }
.equipment-status--operational { background: #dff7ef; color: #117052; }
.equipment-status--needs_maintenance { background: #fff2cc; color: #8a5d00; }
.equipment-status--under_repair { background: #e2ecff; color: #315ea8; }
.equipment-status--out_of_service { background: #fee4e2; color: #a8342d; }
.equipment-status--retired { background: #e8e8ec; color: #555762; }
.equipment-card dl { margin: 0; display: grid; gap: 8px; }
.equipment-card dl div { display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px solid #edf2f1; padding-bottom: 7px; }
.equipment-card dt { color: #70808e; font-size: 12px; }.equipment-card dd { margin: 0; color: #263f52; font-size: 13px; font-weight: 650; text-align: right; }
.equipment-card-actions { display: flex; gap: 16px; margin-top: 17px; }.equipment-card-actions a { color: #0f766e; font-weight: 750; text-decoration: none; }
.equipment-empty { padding: 60px 20px; text-align: center; background: #fff; border: 1px dashed #b9d9d5; border-radius: 18px; }
.equipment-empty > span { display: inline-grid; place-items: center; width: 60px; height: 60px; border-radius: 18px; background: #e5f7f3; color: #0f766e; font-size: 32px; }
.equipment-empty h2 { color: #0f4c81; }.equipment-empty p { color: #617282; margin-bottom: 22px; }
.equipment-form-shell { display: grid; grid-template-columns: minmax(250px,.7fr) minmax(500px,1.3fr); gap: 40px; padding-top: 40px; align-items: start; }
.equipment-form-intro { position: sticky; top: 30px; }.equipment-back { color: #0f766e; font-weight: 700; text-decoration: none; display: inline-block; margin-bottom: 30px; }
.equipment-form { padding: 28px; background: #fff; border: 1px solid #dcebe8; border-radius: 18px; box-shadow: 0 14px 35px rgba(15,76,129,.07); }
.equipment-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.equipment-field { display: flex; flex-direction: column; gap: 7px; }.equipment-field--wide { grid-column: 1/-1; }
.equipment-field label { color: #29475d; font-size: 13px; font-weight: 750; }
.equipment-field input:not([type=checkbox]), .equipment-field select, .equipment-field textarea { width: 100%; border: 1px solid #cbdeda; border-radius: 9px; padding: 11px 12px; background: #fbfefd; }
.equipment-field input:focus, .equipment-field select:focus, .equipment-field textarea:focus { outline: 0; border-color: #14a895; box-shadow: 0 0 0 3px rgba(20,168,149,.12); }
.equipment-checkbox { flex-direction: row; align-items: center; flex-wrap: wrap; padding-top: 28px; }.equipment-checkbox input { order: -1; width: 18px; height: 18px; }.equipment-checkbox .helptext { flex-basis: 100%; }
.equipment-field .helptext { color: #73828e; font-size: 12px; }.equipment-field .field-error { color: #b42318; font-size: 12px; font-weight: 650; }
.equipment-form-actions { margin-top: 25px; padding-top: 20px; border-top: 1px solid #e5efed; display: flex; gap: 16px; align-items: center; }
.equipment-form-actions button { border: 0; border-radius: 10px; background: #0f766e; color: #fff; font-weight: 750; padding: 13px 22px; cursor: pointer; }.equipment-form-actions a { color: #587080; font-weight: 700; }
.equipment-detail-actions { margin: 35px 0 20px; }.equipment-detail-actions .equipment-back { margin: 0; }
.equipment-detail-action-group { display: flex; align-items: center; gap: 12px; }
.service-request-button {
    display: inline-flex; align-items: center; justify-content: center; padding: 13px 20px;
    border-radius: 10px; background: #0f766e; color: #fff; font-weight: 800;
    text-decoration: none; box-shadow: 0 8px 20px rgba(15,118,110,.22);
}
.service-request-button:hover { background: #0b655f; transform: translateY(-1px); }
.service-request-prompt {
    display: grid; grid-template-columns: auto 1fr auto; gap: 18px; align-items: center;
    margin: 0 0 24px; padding: 20px 22px; border: 1px solid #b9d9d5;
    border-radius: 16px; background: linear-gradient(120deg,#effbf8,#f4faff);
}
.service-request-icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: #0f766e; color: #fff; font-size: 25px; font-weight: 800; }
.service-request-prompt h2 { margin: 4px 0 5px; color: #0f4c81; font-size: 20px; }
.service-request-prompt p { margin: 0; color: #526b7b; font-size: 14px; }
.service-request-next { padding: 8px 11px; border-radius: 999px; background: #fff; color: #0f766e; font-size: 12px; font-weight: 750; white-space: nowrap; text-decoration: none; }
.service-request-history { margin-bottom: 24px; }
.service-request-list { display: grid; gap: 10px; }
.service-request-list-item { display: grid; grid-template-columns: 1fr auto minmax(160px,auto); align-items: center; gap: 15px; padding: 14px 16px; border: 1px solid #dcebe8; border-radius: 11px; color: #40596a; text-decoration: none; }
.service-request-list-item div { display: flex; flex-direction: column; gap: 3px; }.service-request-list-item small { color: #71818d; }.service-request-list-item strong { color: #173d5c; }
.request-urgency { padding: 6px 10px; border-radius: 999px; background: #e8f0f5; font-size: 11px; font-weight: 800; }.request-urgency--urgent { background: #fff2cc; color: #8a5d00; }.request-urgency--emergency { background: #fee4e2; color: #a8342d; }
.request-form-layout { display: grid; grid-template-columns: minmax(270px,.72fr) minmax(500px,1.28fr); gap: 35px; padding-top: 38px; align-items: start; }
.request-equipment-summary { padding: 24px; border: 1px solid #dcebe8; border-radius: 18px; background: #fff; }.request-equipment-summary .equipment-back { margin-bottom: 22px; }.request-equipment-summary > small { display: block; margin-top: 17px; color: #0f766e; font-weight: 750; }.request-equipment-summary h2 { margin: 5px 0 18px; color: #0f4c81; }
.request-equipment-image { height: 180px; display: grid; place-items: center; overflow: hidden; border-radius: 13px; background: linear-gradient(145deg,#e8f8f4,#dceff8); color: #0f766e; font-size: 52px; }.request-equipment-image img { width: 100%; height: 100%; object-fit: cover; }
.calibration-request-catalogue { border: 1px solid #cde5df; border-radius: 15px; background: #f4fbf9; padding: 18px; }
.calibration-request-heading h2 { color: #173d5c; font-size: 1.1rem; margin: 5px 0; }
.calibration-request-heading p { color: #617970; font-size: 0.76rem; line-height: 1.5; margin: 0; }
.calibration-request-grid { display: grid; gap: 10px; grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 14px; }
.calibration-request-card { align-items: center; background: #fff; border: 1px solid #d7e9e4; border-radius: 11px; display: grid; gap: 10px; grid-template-columns: 82px 1fr; min-width: 0; overflow: hidden; padding: 8px; }
.calibration-request-card[hidden] { display: none; }
.calibration-request-card-image { align-items: center; background: #e9f6f3; border-radius: 8px; display: flex; height: 72px; justify-content: center; overflow: hidden; }
.calibration-request-card-image img { height: 100%; object-fit: cover; width: 100%; }
.calibration-request-card-image span { color: #0f766e; font-size: 1.6rem; }
.calibration-request-card h3 { color: #244c61; font-size: 0.8rem; line-height: 1.3; margin: 0 0 5px; }
.calibration-request-card strong { color: #0f766e; display: block; font-size: 0.78rem; }
.calibration-request-card small { color: #71847d; display: block; font-size: 0.62rem; margin-top: 2px; }
.calibration-request-card .calibration-request-price-pending { color: #7a6853; font-size: 0.7rem; }
.calibration-show-more { background: transparent; border: 1px solid #9bcfc3; border-radius: 9px; color: #0f766e; cursor: pointer; font-weight: 800; margin-top: 12px; padding: 9px 13px; width: 100%; }
.calibration-show-more:hover { background: #e3f4ef; }
.calibration-request-empty { color: #677d75; font-size: 0.78rem; margin: 12px 0 0; }
.request-equipment-summary dl { margin: 0; display: grid; gap: 10px; }.request-equipment-summary dl div { display: flex; justify-content: space-between; gap: 15px; padding-bottom: 9px; border-bottom: 1px solid #edf2f1; }.request-equipment-summary dt { color: #71818d; font-size: 12px; }.request-equipment-summary dd { margin: 0; color: #263f52; font-size: 13px; font-weight: 700; text-align: right; }
.request-form-panel > h1 { margin: 7px 0; color: #0f4c81; font-size: clamp(2rem,4vw,3rem); }.request-form-panel > p { margin: 0 0 22px; color: #576d7d; max-width: 680px; }.service-request-form { display: grid; gap: 20px; }.service-request-form .equipment-field { width: 100%; }
.request-confirmation { max-width: 820px; margin: 0 auto 60px; padding: 38px; border: 1px solid #dcebe8; border-radius: 20px; background: #fff; box-shadow: 0 14px 35px rgba(15,76,129,.07); }.request-confirmation-mark { display: grid; place-items: center; width: 60px; height: 60px; margin-bottom: 20px; border-radius: 18px; background: #dff7ef; color: #0f766e; font-size: 30px; font-weight: 900; }.request-confirmation h1 { margin: 7px 0; color: #0f4c81; font-size: 34px; }.request-confirmation > p { color: #536b7b; }
.request-summary-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin: 25px 0; }.request-summary-grid div { display: flex; flex-direction: column; gap: 5px; padding: 15px; border-radius: 11px; background: #f3faf8; }.request-summary-grid small, .request-description small { color: #71818d; }.request-summary-grid strong { color: #173d5c; }
.request-description { padding: 18px; border-left: 4px solid #14a895; background: #f7fbfa; }.request-description p { margin: 7px 0 0; color: #40596a; }.request-problem-photo { display: block; width: min(100%,520px); max-height: 360px; margin-top: 20px; border-radius: 13px; object-fit: cover; }.request-next-step { margin-top: 24px; padding: 18px; border-radius: 13px; background: linear-gradient(120deg,#eaf7f4,#eef6fb); }.request-next-step strong { color: #0f766e; }.request-next-step p { margin: 5px 0 0; color: #526b7b; }
.request-delete-button { display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; border: 1px solid #efb8b3; border-radius: 9px; background: #fff8f7; color: #a8342d; font-weight: 750; text-decoration: none; }.request-delete-button span { font-size: 20px; }
.request-delete-confirmation { max-width: 620px; margin: 60px auto; padding: 36px; border: 1px solid #f0c5c1; border-radius: 20px; background: #fff; box-shadow: 0 14px 35px rgba(100,30,25,.08); }.request-delete-icon { display: grid; place-items: center; width: 58px; height: 58px; margin-bottom: 20px; border-radius: 17px; background: #fee4e2; color: #a8342d; font-size: 28px; }.request-delete-confirmation h1 { margin: 7px 0 12px; color: #7e2d28; }.request-delete-confirmation > p { color: #536b7b; line-height: 1.65; }.request-delete-summary { margin: 22px 0; padding: 16px; border-radius: 11px; background: #f8fafb; }.request-delete-summary small { color: #71818d; }.request-delete-summary p { margin: 6px 0 0; color: #344d5e; }.request-delete-actions { display: flex; align-items: center; gap: 16px; }.request-delete-actions button { border: 0; border-radius: 10px; padding: 13px 18px; background: #b73a32; color: #fff; font-weight: 800; cursor: pointer; }.request-delete-actions a { color: #0f766e; font-weight: 750; }
.engineer-match-hero { display: flex; justify-content: space-between; gap: 30px; align-items: flex-end; margin-bottom: 25px; }.engineer-match-hero h1 { margin: 7px 0; color: #0f4c81; font-size: clamp(2rem,4vw,3rem); }.engineer-match-hero p { max-width: 720px; margin: 0; color: #536b7b; line-height: 1.6; }.engineer-match-request { min-width: 240px; display: flex; flex-direction: column; gap: 4px; padding: 16px; border: 1px solid #b9d9d5; border-radius: 13px; background: #f4fbf9; }.engineer-match-request small { color: #0f766e; font-weight: 750; }.engineer-match-request strong { color: #173d5c; }.engineer-match-request span { color: #71818d; font-size: 12px; }
.engineer-match-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }.engineer-match-card { padding: 22px; border: 1px solid #dcebe8; border-radius: 17px; background: #fff; box-shadow: 0 10px 28px rgba(15,76,129,.06); }.engineer-match-card-top { display: flex; gap: 13px; align-items: center; }.engineer-match-card-top h2 { margin: 0 0 3px; color: #173d5c; font-size: 19px; }.engineer-match-card-top p { margin: 0; color: #607382; font-size: 13px; }.match-badge--other { background: #edf1f4; color: #566977; }
.engineer-match-details { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; margin: 18px 0; }.engineer-match-details div { padding: 11px; border-radius: 9px; background: #f5faf9; }.engineer-match-details dt { color: #71818d; font-size: 11px; }.engineer-match-details dd { margin: 4px 0 0; color: #29475d; font-size: 13px; font-weight: 700; }.choose-engineer-button { width: 100%; margin-top: 18px; padding: 12px 16px; border: 0; border-radius: 10px; background: #0f766e; color: #fff; font-weight: 800; cursor: pointer; }.choose-engineer-button:hover { background: #0b655f; }.engineer-match-empty { margin-bottom: 22px; }
.publish-request-panel { display: flex; justify-content: space-between; align-items: center; gap: 25px; margin: 24px 0 60px; padding: 24px; border: 1px solid #bcd6e7; border-radius: 17px; background: linear-gradient(120deg,#f2fbf9,#edf6fc); }.publish-request-panel h2 { margin: 5px 0; color: #0f4c81; }.publish-request-panel p { margin: 0; color: #536b7b; }.publish-request-panel button { padding: 13px 18px; border: 0; border-radius: 10px; background: #0f4c81; color: #fff; font-weight: 800; white-space: nowrap; cursor: pointer; }
.engineer-requests-section { margin-bottom: 26px; }.engineer-request-group { margin-top: 24px; }.engineer-request-group > h3 { margin: 0 0 12px; color: #29475d; font-size: 16px; }.engineer-request-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }.engineer-request-card { position: relative; display: flex; flex-direction: column; align-items: flex-start; padding: 17px; border: 1px solid #dcebe8; border-radius: 13px; background: #f9fcfb; color: inherit; text-decoration: none; }.engineer-request-card--direct { border-color: #b9d9d5; background: #f1fbf8; }.engineer-request-card--active { border-color: #a8d9c9; background: #ebfaf4; }.engineer-request-card .request-urgency { position: absolute; top: 13px; right: 13px; }.engineer-request-card > small { padding-right: 70px; color: #0f766e; font-weight: 750; }.engineer-request-card h4 { margin: 8px 0 4px; color: #173d5c; font-size: 17px; }.engineer-request-card p { margin: 0 0 15px; color: #607382; font-size: 12px; }.engineer-request-card > strong { margin-top: auto; color: #0f766e; font-size: 12px; }
.engineer-request-detail { max-width: 880px; margin: 0 auto 60px; padding: 32px; border: 1px solid #dcebe8; border-radius: 20px; background: #fff; box-shadow: 0 14px 35px rgba(15,76,129,.07); }.engineer-request-detail-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }.engineer-request-detail-heading h1 { margin: 6px 0; color: #0f4c81; font-size: clamp(2rem,4vw,3rem); }.engineer-request-detail-heading p { margin: 0; color: #536b7b; }.engineer-request-information { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin: 25px 0; }.engineer-request-information > div { display: flex; flex-direction: column; gap: 5px; padding: 14px; border-radius: 10px; background: #f3faf8; }.engineer-request-information small { color: #71818d; }.engineer-request-information strong { color: #29475d; font-size: 13px; }
.engineer-response-actions, .facility-confirm-actions { display: flex; align-items: center; gap: 12px; margin-top: 24px; }.engineer-response-actions button, .facility-confirm-actions button { padding: 12px 18px; border: 0; border-radius: 10px; background: #0f766e; color: #fff; font-weight: 800; cursor: pointer; }.engineer-response-actions .secondary-decision, .facility-confirm-actions .secondary-decision { border: 1px solid #cbdeda; background: #fff; color: #526b7b; }.engineer-response-actions small { color: #71818d; }.engineer-contact-reveal { margin-top: 24px; padding: 20px; border: 1px solid #a8d9c9; border-radius: 14px; background: #effbf6; }.engineer-contact-reveal h2 { margin: 5px 0; color: #0f4c81; }.engineer-contact-reveal p { color: #536b7b; }.engineer-contact-reveal > div, .confirmed-contact-details { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }.engineer-contact-reveal a, .confirmed-contact-details a { padding: 9px 12px; border-radius: 8px; background: #fff; color: #0f766e; font-weight: 750; text-decoration: none; }.confirmed-contact-details { margin-bottom: 5px; }
.service-report-primary { display: inline-flex; margin-top: 18px; padding: 12px 17px; border-radius: 10px; background: #0f4c81; color: #fff; font-weight: 800; text-decoration: none; }
.report-form-layout { display: grid; grid-template-columns: minmax(270px,.68fr) minmax(540px,1.32fr); gap: 35px; padding-top: 40px; align-items: start; }.report-job-summary { position: sticky; top: 25px; padding: 24px; border: 1px solid #dcebe8; border-radius: 18px; background: #fff; }.report-job-summary .equipment-back { margin-bottom: 25px; }.report-job-summary h2 { margin: 7px 0; color: #0f4c81; }.report-job-summary > p { color: #536b7b; }.report-job-summary dl { display: grid; gap: 9px; margin: 20px 0; }.report-job-summary dl div { display: flex; justify-content: space-between; gap: 12px; padding-bottom: 9px; border-bottom: 1px solid #edf2f1; }.report-job-summary dt { color: #71818d; font-size: 12px; }.report-job-summary dd { margin: 0; color: #29475d; font-size: 13px; font-weight: 700; text-align: right; }.report-safety-note { padding: 15px; border-radius: 11px; background: #eef8f5; }.report-safety-note strong { color: #0f766e; }.report-safety-note p { margin: 5px 0 0; color: #536b7b; font-size: 12px; line-height: 1.55; }.report-form-panel > h1 { margin: 7px 0; color: #0f4c81; font-size: clamp(2rem,4vw,3rem); }.report-form-panel > p { margin: 0 0 22px; color: #536b7b; }.service-report-form { padding: 27px; }
.service-report-detail { max-width: 920px; margin: 0 auto 60px; padding: 34px; border: 1px solid #dcebe8; border-radius: 20px; background: #fff; box-shadow: 0 14px 35px rgba(15,76,129,.07); }.service-report-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 25px; padding-bottom: 24px; border-bottom: 1px solid #e3eeec; }.service-report-heading h1 { margin: 6px 0; color: #0f4c81; font-size: 36px; }.service-report-heading p { margin: 0; color: #536b7b; }.report-engineer-signature { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; text-align: right; }.report-engineer-signature small, .report-engineer-signature span { color: #71818d; }.report-engineer-signature strong { color: #29475d; }.service-report-sections { display: grid; gap: 14px; margin: 24px 0; }.service-report-sections > div { padding: 18px; border-radius: 12px; background: #f7fbfa; }.service-report-sections dt { margin-bottom: 7px; color: #0f766e; font-weight: 800; }.service-report-sections dd { margin: 0; color: #40596a; line-height: 1.6; }.report-result-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }.report-result-grid > div { display: flex; flex-direction: column; gap: 5px; padding: 15px; border: 1px solid #dcebe8; border-radius: 11px; }.report-result-grid small { color: #71818d; }.report-result-grid strong { color: #29475d; font-size: 13px; }.report-attachment-link { display: inline-flex; margin-top: 20px; padding: 10px 14px; border: 1px solid #b9d9d5; border-radius: 9px; color: #0f766e; font-weight: 750; text-decoration: none; }
.report-confirm-panel { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin-top: 24px; padding: 20px; border: 1px solid #9ed4c3; border-radius: 13px; background: #effbf6; }.report-confirm-panel strong { color: #0f766e; }.report-confirm-panel p { margin: 5px 0 0; color: #526b7b; font-size: 13px; }.report-confirm-panel button { padding: 12px 17px; border: 0; border-radius: 10px; background: #0f766e; color: #fff; font-weight: 800; white-space: nowrap; cursor: pointer; }.report-confirmed-panel { margin-top: 24px; padding: 18px; border-left: 4px solid #16a47e; background: #edf9f4; }.report-confirmed-panel strong { color: #0f766e; }.report-confirmed-panel p { margin: 5px 0 0; color: #526b7b; }
.service-history-timeline { display: grid; gap: 10px; }.service-history-entry { display: grid; grid-template-columns: auto 1fr auto; gap: 15px; align-items: center; padding: 15px; border: 1px solid #dcebe8; border-radius: 12px; color: inherit; text-decoration: none; }.service-history-marker { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: #dff7ef; color: #0f766e; font-weight: 900; }.service-history-entry small { color: #0f766e; font-weight: 700; }.service-history-entry h3 { margin: 3px 0; color: #29475d; font-size: 16px; }.service-history-entry p { margin: 0; color: #71818d; font-size: 12px; }.service-history-entry > strong { color: #0f766e; font-size: 12px; }
.request-center-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 25px; padding: 38px 0 24px; }.request-center-hero h1 { margin: 7px 0; color: #0f4c81; font-size: clamp(2.2rem,4vw,3.3rem); }.request-center-hero p { margin: 0; color: #536b7b; }.request-center-total { min-width: 135px; display: flex; flex-direction: column; align-items: center; padding: 15px 20px; border: 1px solid #b9d9d5; border-radius: 14px; background: #f1fbf8; }.request-center-total small { color: #607382; }.request-center-total strong { color: #0f766e; font-size: 30px; }
.request-center-search { margin-bottom: 28px; padding: 17px; border: 1px solid #dcebe8; border-radius: 14px; background: #fff; }.request-center-search > label { display: block; margin-bottom: 7px; color: #29475d; font-size: 12px; font-weight: 750; }.request-center-search > div { display: flex; gap: 10px; }.request-center-search input { flex: 1; min-width: 0; padding: 11px 13px; border: 1px solid #cbdeda; border-radius: 9px; }.request-center-search button { border: 0; border-radius: 9px; padding: 0 18px; background: #0f4c81; color: #fff; font-weight: 750; cursor: pointer; }.request-center-search a { display: inline-flex; align-items: center; color: #0f766e; font-weight: 750; }
.request-center-group { scroll-margin-top: 25px; margin-bottom: 30px; padding: 24px; border: 1px solid #dcebe8; border-radius: 18px; background: #fff; }.request-center-group-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; margin-bottom: 17px; }.request-center-group-heading h2 { margin: 0; color: #0f4c81; }.request-center-group-heading p { margin: 5px 0 0; color: #607382; font-size: 13px; }.request-center-group-heading > span { display: grid; place-items: center; min-width: 38px; height: 38px; border-radius: 12px; background: #e6f6f2; color: #0f766e; font-weight: 900; }
.request-center-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; }.request-center-card { display: flex; flex-direction: column; min-width: 0; padding: 17px; border: 1px solid #dcebe8; border-radius: 13px; background: #fbfefd; }.request-center-card--pending_confirmation, .request-center-card--awaiting_engineer, .request-center-card--declined { border-color: #e7c985; background: #fffbef; }.request-center-card--completed { border-color: #aad8ca; background: #f0faf6; }.request-center-card-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; }.request-center-card-top > small { color: #71818d; }.request-center-type { margin-top: 14px; color: #0f766e; font-size: 11px; font-weight: 800; }.request-center-card h3 { margin: 5px 0; color: #173d5c; font-size: 18px; }.request-center-asset { margin: 0; color: #71818d; font-size: 12px; }.request-center-status { display: flex; flex-direction: column; gap: 3px; margin: 16px 0 8px; padding: 10px; border-radius: 9px; background: rgba(234,244,242,.75); }.request-center-status small { color: #71818d; }.request-center-status strong { color: #29475d; font-size: 12px; }.request-center-person { margin: 5px 0 14px; color: #536b7b; font-size: 12px; }.request-center-actions { margin-top: auto; padding-top: 12px; }.request-center-actions a { display: inline-flex; width: 100%; justify-content: center; padding: 10px 12px; border-radius: 9px; background: #0f766e; color: #fff; font-size: 12px; font-weight: 800; text-decoration: none; }.request-center-empty { padding: 22px; border-radius: 11px; background: #f7faf9; color: #71818d; text-align: center; }.request-center-empty p { margin: 0; }
.dashboard-request-center { margin-bottom: 26px; }.dashboard-request-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin-top: 20px; }.dashboard-request-stats a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px; border: 1px solid #dcebe8; border-radius: 11px; color: #536b7b; text-decoration: none; }.dashboard-request-stats strong { color: #0f766e; font-size: 24px; }
.equipment-qr-panel { display: grid; grid-template-columns: 190px 1fr; gap: 25px; align-items: center; margin: 24px 0; padding: 22px; border: 1px solid #b9d9d5; border-radius: 18px; background: linear-gradient(120deg,#f1fbf8,#f4f9fd); }.equipment-qr-image { display: grid; place-items: center; padding: 10px; border-radius: 13px; background: #fff; box-shadow: 0 7px 20px rgba(15,76,129,.09); }.equipment-qr-image img { display: block; width: 100%; height: auto; image-rendering: pixelated; }.equipment-qr-copy h2 { margin: 5px 0 8px; color: #0f4c81; }.equipment-qr-copy > p { margin: 0 0 14px; color: #536b7b; line-height: 1.55; }.equipment-qr-copy .equipment-qr-warning { padding: 10px 12px; border-left: 3px solid #d79a21; background: #fff9e8; color: #73510d; font-size: 12px; }.equipment-qr-copy .equipment-secondary-action { width: fit-content; }
.equipment-qr-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.label-page-body { min-height: 100vh; margin: 0; padding: 40px 20px; background: #edf5f4; color: #203b4d; font-family: Arial, Helvetica, sans-serif; }.label-page-shell { max-width: 760px; margin: 0 auto; }.label-page-controls { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 24px; }.label-page-controls > a { color: #0f766e; font-weight: 750; text-decoration: none; }.label-page-controls > div { display: flex; align-items: center; gap: 12px; }.label-page-controls span { color: #607382; font-size: 12px; }.label-page-controls button { padding: 11px 16px; border: 0; border-radius: 9px; background: #0f766e; color: #fff; font-weight: 800; cursor: pointer; }
.print-equipment-label { box-sizing: border-box; width: 100mm; height: 70mm; margin: 0 auto; overflow: hidden; display: flex; flex-direction: column; border: .7mm solid #0f766e; border-radius: 3mm; background: #fff; box-shadow: 0 14px 35px rgba(15,76,129,.14); }.print-label-header { height: 13mm; display: flex; align-items: center; justify-content: space-between; gap: 5mm; padding: 1.5mm 4mm; border-bottom: .4mm solid #cbe3df; background: linear-gradient(90deg,#ebfaf6,#eef6fb); }.print-label-header img { width: auto; height: 10mm; object-fit: contain; }.print-label-header span { color: #0f4c81; font-size: 3.2mm; font-weight: 800; text-transform: uppercase; letter-spacing: .25mm; }
.print-label-content { flex: 1; min-height: 0; display: grid; grid-template-columns: 1fr 29mm; gap: 3mm; padding: 3mm 4mm 2mm; }.print-label-information { min-width: 0; }.print-label-information > small { display: block; overflow: hidden; color: #0f766e; font-size: 2.7mm; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }.print-label-information h1 { max-height: 14mm; overflow: hidden; margin: 1mm 0 .8mm; color: #173d5c; font-size: 5.1mm; line-height: 1.12; }.print-label-information > p { overflow: hidden; margin: 0; color: #536b7b; font-size: 2.9mm; text-overflow: ellipsis; white-space: nowrap; }.print-label-asset { display: flex; flex-direction: column; gap: .5mm; margin-top: 3mm; padding: 2mm 2.5mm; border-left: 1.2mm solid #14a895; background: #f0faf7; }.print-label-asset span { color: #607382; font-size: 2.3mm; font-weight: 700; letter-spacing: .25mm; }.print-label-asset strong { overflow: hidden; color: #0f4c81; font-size: 4.5mm; letter-spacing: .2mm; text-overflow: ellipsis; white-space: nowrap; }.print-label-information .print-label-serial { margin-top: 1.7mm; font-size: 2.5mm; }
.print-label-qr { display: flex; flex-direction: column; align-items: center; justify-content: center; }.print-label-qr img { box-sizing: border-box; width: 26mm; height: 26mm; padding: 1mm; border: .3mm solid #dcebe8; background: #fff; image-rendering: pixelated; }.print-label-qr strong { margin-top: 1mm; color: #0f4c81; font-size: 2.4mm; letter-spacing: .15mm; }.print-label-qr small { color: #607382; font-size: 2.1mm; }.print-equipment-label footer { padding: 1.6mm 4mm; background: #0f766e; color: #fff; font-size: 2.5mm; font-weight: 700; text-align: center; letter-spacing: .1mm; }.label-print-help { max-width: 100mm; margin: 20px auto 0; color: #607382; font-size: 13px; line-height: 1.55; text-align: center; }
.equipment-detail { display: grid; grid-template-columns: minmax(280px,.8fr) minmax(340px,1.2fr); background: #fff; border: 1px solid #dcebe8; border-radius: 20px; overflow: hidden; }
.equipment-detail-visual { height: 350px; background: linear-gradient(145deg,#e8f8f4,#dceff8); }.equipment-detail-visual img { width: 100%; height: 100%; object-fit: cover; }.equipment-detail-visual > div { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #0f766e; }.equipment-detail-visual span { font-size: 64px; }
.equipment-detail-heading { padding: 45px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }.equipment-detail-heading > small { color: #0f766e; font-weight: 750; margin-top: 18px; }.equipment-detail-heading p { color: #607381; }
.equipment-detail-section { margin-top: 24px; padding: 30px; background: #fff; border: 1px solid #dcebe8; border-radius: 18px; }.equipment-detail-section h2 { margin: 5px 0 22px; color: #0f4c81; }
.equipment-detail-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin: 0; }.equipment-detail-grid div { padding: 15px; border-radius: 11px; background: #f5faf9; }.equipment-detail-grid dt { color: #71818d; font-size: 12px; }.equipment-detail-grid dd { margin: 5px 0 0; color: #263f52; font-weight: 700; }
.equipment-notes { margin-top: 20px; padding: 18px; border-left: 4px solid #14a895; background: #f7fbfa; }.equipment-notes h3 { margin: 0 0 8px; color: #0f4c81; }.equipment-notes p { margin: 0; color: #536b7b; }
.dashboard-equipment-section { margin-bottom: 26px; }.dashboard-equipment-actions { justify-content: flex-end; }.dashboard-equipment-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-top: 22px; }.dashboard-equipment-card { display: grid; grid-template-columns: 72px 1fr; gap: 14px; align-items: center; padding: 12px; border: 1px solid #dcebe8; border-radius: 13px; color: inherit; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }.dashboard-equipment-card:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(15,76,129,.08); }.dashboard-equipment-thumbnail { width: 72px; height: 64px; display: grid; place-items: center; overflow: hidden; border-radius: 9px; background: #e5f7f3; color: #0f766e; font-size: 25px; }.dashboard-equipment-thumbnail img { width: 100%; height: 100%; object-fit: cover; }.dashboard-equipment-card small { color: #0f766e; font-weight: 700; }.dashboard-equipment-card h3 { margin: 3px 0; color: #173d5c; font-size: 16px; }.dashboard-equipment-card p { margin: 0; color: #687986; font-size: 12px; }

@media (max-width: 900px) {
    .equipment-filters { grid-template-columns: 1fr 1fr; }.equipment-filters label:first-child { grid-column: 1/-1; }
    .equipment-grid { grid-template-columns: 1fr; }.equipment-form-shell { grid-template-columns: 1fr; }.equipment-form-intro { position: static; }.equipment-detail-grid { grid-template-columns: repeat(2,1fr); }
    .request-form-layout { grid-template-columns: 1fr; }
    .engineer-match-grid { grid-template-columns: 1fr; }
    .engineer-request-grid { grid-template-columns: repeat(2,1fr); }
    .report-form-layout { grid-template-columns: 1fr; }.report-job-summary { position: static; }
    .request-center-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 620px) {
    .equipment-hero, .equipment-detail-actions, .dashboard-equipment-actions { align-items: stretch; flex-direction: column; }
    .equipment-filters, .equipment-form-grid, .equipment-detail, .equipment-detail-grid, .dashboard-equipment-grid { grid-template-columns: 1fr; }
    .equipment-card { grid-template-columns: 1fr; }.equipment-card-image { height: 180px; }.equipment-detail-heading { padding: 28px; }.equipment-detail-visual { height: 250px; }
    .equipment-detail-action-group { flex-direction: column; align-items: stretch; }
    .service-request-prompt { grid-template-columns: auto 1fr; }.service-request-next { grid-column: 1/-1; text-align: center; }
    .service-request-list-item, .request-summary-grid { grid-template-columns: 1fr; }.service-request-list-item { align-items: start; }
    .request-confirmation { padding: 25px; }
    .request-delete-confirmation { padding: 25px; }.request-delete-actions { align-items: stretch; flex-direction: column; }.request-delete-actions a { text-align: center; }
    .engineer-match-hero, .publish-request-panel { align-items: stretch; flex-direction: column; }.engineer-match-request { min-width: 0; }.publish-request-panel button { width: 100%; }
    .engineer-request-grid, .engineer-request-information { grid-template-columns: 1fr; }.engineer-request-detail { padding: 24px; }.engineer-response-actions, .facility-confirm-actions { align-items: stretch; flex-direction: column; }.engineer-response-actions button, .facility-confirm-actions button { width: 100%; }
    .service-report-heading { flex-direction: column; }.report-engineer-signature { align-items: flex-start; text-align: left; }.report-result-grid { grid-template-columns: 1fr; }.service-report-detail { padding: 24px; }
    .report-confirm-panel { align-items: stretch; flex-direction: column; }.report-confirm-panel button { width: 100%; }.service-history-entry { grid-template-columns: auto 1fr; }.service-history-entry > strong { grid-column: 1/-1; }
    .request-center-hero { align-items: stretch; flex-direction: column; }.request-center-total { align-items: flex-start; }.request-center-grid, .dashboard-request-stats { grid-template-columns: 1fr; }.request-center-search > div { flex-direction: column; }.request-center-search button { min-height: 42px; }.request-center-search a { justify-content: center; }
    .equipment-qr-panel { grid-template-columns: 1fr; }.equipment-qr-image { width: min(100%,220px); margin: 0 auto; }
    .equipment-qr-actions { align-items: stretch; flex-direction: column; }.equipment-qr-copy .equipment-secondary-action, .equipment-qr-actions .service-request-button { width: auto; }
    .calibration-request-grid { grid-template-columns: 1fr; }
    .label-page-controls { align-items: stretch; flex-direction: column; }.label-page-controls > div { align-items: stretch; flex-direction: column; }.print-equipment-label { max-width: 100%; transform-origin: top center; }
}

@media print {
    @page { size: 100mm 70mm; margin: 0; }
    html, body.label-page-body { width: 100mm; height: 70mm; margin: 0; padding: 0; background: #fff; }
    .label-page-shell { width: 100mm; height: 70mm; margin: 0; }
    .label-page-controls, .label-print-help { display: none !important; }
    .print-equipment-label { width: 100mm; height: 70mm; margin: 0; border-radius: 0; box-shadow: none; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
}

/* Engineer equipment specialization selector */
.registration-form .specialization-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 10px;
}

.registration-form .specialization-grid > div {
    min-width: 0;
}

.registration-form .specialization-grid label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    height: 100%;
    margin: 0;
    padding: 13px 14px;
    border: 1px solid #dbe6ee;
    border-radius: 12px;
    background: #f8fafc;
    color: #1e293b;
    line-height: 1.4;
    cursor: pointer;
    transition: border-color 0.2s ease, background 0.2s ease,
        box-shadow 0.2s ease;
}

.registration-form .specialization-grid label:hover {
    border-color: #14B8A6;
    background: #f0fdfa;
    box-shadow: 0 5px 16px rgba(15, 76, 129, 0.08);
}

.registration-form .specialization-grid input[type="checkbox"] {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin: 2px 0 0;
    padding: 0;
    border: none;
    border-radius: 4px;
    accent-color: #14B8A6;
}

@media (max-width: 620px) {
    .registration-form .specialization-grid {
        grid-template-columns: 1fr;
    }
}
.profile-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.edit-profile-button {
    display: inline-block;
    padding: 11px 20px;
    border-radius: 30px;
    background: #14B8A6;
    color: white;
    text-decoration: none;
    font-weight: 700;
}

.edit-profile-button:hover {
    background: #0F766E;
}

.profile-edit-card {
    max-width: 820px;
    margin: 0 auto;
}

.profile-edit-form {
    margin-top: 30px;
}

.locked-profile-identity {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 24px;
    padding: 18px;
    border: 1px solid #dbe6ee;
    border-radius: 14px;
    background: #f8fafc;
}

.locked-profile-identity > div {
    min-width: 0;
}

.locked-profile-identity span {
    display: block;
    margin-bottom: 5px;
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.4px;
    text-transform: uppercase;
}

.locked-profile-identity strong {
    overflow-wrap: anywhere;
    color: #0F4C81;
}

.locked-profile-identity p {
    grid-column: 1 / -1;
    margin: 3px 0 0;
    color: #64748b;
    font-size: 13px;
    line-height: 1.5;
}

.profile-edit-actions {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 25px;
}

.profile-edit-actions button {
    width: auto;
    min-width: 180px;
}

.cancel-button {
    display: inline-block;
    padding: 14px 24px;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    color: #475569;
    text-decoration: none;
    font-weight: 700;
}

.dashboard-messages {
    margin: 24px 0 0;
}

.dashboard-message {
    margin: 0 0 10px;
    padding: 14px 18px;
    border: 1px solid #99e4d8;
    border-radius: 12px;
    background: #e8faf6;
    color: #0f766e;
    font-weight: 700;
}

.dashboard-message--warning,
.dashboard-message--error {
    border-color: #fed7aa;
    background: #fff7ed;
    color: #9a3412;
}

.availability-form {
    margin: 0;
}

.availability-form label {
    display: block;
    margin-bottom: 8px;
    color: #64748b;
    font-size: 12px;
    font-weight: 700;
}

.availability-form > div {
    display: flex;
    gap: 8px;
}

.availability-form select {
    min-width: 0;
    flex: 1;
    padding: 9px 10px;
    border: 1px solid #cbd5e1;
    border-radius: 9px;
    background: white;
    color: #0F4C81;
    font-weight: 700;
}

.availability-form button {
    padding: 9px 13px;
    border: 0;
    border-radius: 9px;
    background: #14B8A6;
    color: white;
    font-weight: 800;
    cursor: pointer;
}

.availability-form button:hover {
    background: #0F766E;
}

/* Shared authentication pages: light homepage-inspired theme */
.registration-body {
    background:
        radial-gradient(circle at 10% 12%, rgba(20, 184, 166, 0.22), transparent 30%),
        radial-gradient(circle at 88% 82%, rgba(15, 118, 110, 0.16), transparent 32%),
        #f2fbfa;
}

.registration-shell {
    max-width: 1180px;
    border-radius: 18px;
    border: 1px solid rgba(15, 76, 129, 0.12);
    box-shadow: 0 24px 70px rgba(15, 76, 129, 0.13);
}

.registration-welcome {
    position: relative;
    overflow: hidden;
    background: linear-gradient(145deg, #d5f5ef 0%, #e4f1f8 100%);
    color: #334155;
}

.registration-welcome::before,
.registration-welcome::after {
    position: absolute;
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.registration-welcome::before {
    width: 240px;
    height: 240px;
    top: -100px;
    right: -90px;
    background: rgba(20, 184, 166, 0.18);
}

.registration-welcome::after {
    width: 330px;
    height: 330px;
    right: -115px;
    bottom: -30px;
    left: auto;
    border: 0;
    border-radius: 0;
    background: url("assets/africa-map.f776121c8555.png") center / contain no-repeat;
    opacity: 0.13;
}

.registration-welcome > * {
    position: relative;
    z-index: 1;
}

.registration-welcome .registration-label {
    background: rgba(20, 184, 166, 0.22);
    color: #0F766E;
}

.registration-welcome h1 {
    color: #0F4C81;
}

.registration-welcome p,
.registration-welcome li {
    color: #475569;
}

.registration-welcome li::marker {
    color: #14B8A6;
}

.auth-signature {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-top: 28px;
    padding: 8px 12px 8px 9px;
    border: 1px solid rgba(15, 118, 110, 0.17);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.48);
    color: #0F4C81;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.auth-signature-mark {
    display: inline-grid;
    width: 26px;
    height: 26px;
    place-items: center;
    border-radius: 6px;
    background: #14B8A6;
    color: #ffffff;
    font-size: 10px;
    letter-spacing: 0.04em;
}

.registration-panel {
    background: rgba(250, 255, 254, 0.98);
}

.registration-panel h2 {
    color: #0F4C81;
}

.registration-panel .registration-form input:focus,
.registration-panel .registration-form select:focus,
.registration-panel .registration-form textarea:focus {
    background: #ffffff;
    box-shadow: 0 0 0 4px rgba(20, 184, 166, 0.10);
}

@media (max-width: 760px) {
    .profile-heading,
    .profile-edit-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .locked-profile-identity {
        grid-template-columns: 1fr;
    }

    .profile-edit-actions button,
    .cancel-button {
        width: 100%;
        text-align: center;
    }

    .availability-form > div {
        flex-direction: column;
    }
}
/* In-app notifications */
.notification-bell {
    align-items: center;
    background: linear-gradient(145deg, #0f766e, #14b8a6);
    border: 1px solid rgba(15, 118, 110, 0.22);
    border-radius: 14px;
    box-shadow: 0 7px 18px rgba(20, 184, 166, 0.22);
    color: white !important;
    display: inline-flex;
    justify-content: center;
    height: 43px;
    min-width: 43px;
    padding: 0 !important;
    position: relative;
    transition: box-shadow 0.2s ease, transform 0.2s ease !important;
}

.dashboard-nav-actions .notification-bell:hover {
    box-shadow: 0 10px 22px rgba(15, 118, 110, 0.3);
    color: white;
    transform: translateY(-2px);
}

.notification-bell-icon {
    fill: none;
    height: 21px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.9;
    width: 21px;
}

.notification-bell strong {
    align-items: center;
    background: #f29d38;
    border: 2px solid white;
    border-radius: 999px;
    color: #55320b;
    display: flex;
    font-size: 0.68rem;
    height: 21px;
    justify-content: center;
    min-width: 21px;
    padding: 0 4px;
    position: absolute;
    right: -8px;
    top: -8px;
}

.notifications-main {
    max-width: 940px;
}

.notifications-heading {
    align-items: center;
    display: flex;
    justify-content: space-between;
    gap: 1.5rem;
}

.notification-filters {
    display: flex;
    gap: 0.55rem;
    margin: 1.5rem 0 0.8rem;
}

.notification-filters a {
    background: #e7f2ed;
    border-radius: 999px;
    color: #27634f;
    font-weight: 700;
    padding: 0.55rem 1rem;
    text-decoration: none;
}

.notification-filters a.active {
    background: #176b52;
    color: white;
}

.notification-list {
    background: white;
    border: 1px solid #d8e8e1;
    border-radius: 22px;
    box-shadow: 0 14px 34px rgba(29, 78, 62, 0.08);
    overflow: hidden;
}

.notification-item {
    align-items: center;
    border-bottom: 1px solid #e5eee9;
    color: #17382f;
    display: grid;
    gap: 1rem;
    grid-template-columns: 46px 1fr 12px;
    padding: 1.1rem 1.25rem;
    text-decoration: none;
    transition: background 0.18s ease;
}

.notification-item:last-child { border-bottom: 0; }
.notification-item:hover { background: #f3faf7; }
.notification-item--unread { background: #edf8f3; }

.notification-kind {
    align-items: center;
    background: #dbeee6;
    border-radius: 14px;
    color: #176b52;
    display: flex;
    font-size: 1.1rem;
    font-weight: 800;
    height: 46px;
    justify-content: center;
    width: 46px;
}

.notification-kind--report { background: #dff3e6; color: #247343; }
.notification-kind--assignment { background: #fff0d9; color: #9b5c0d; }

.notification-copy { display: grid; gap: 0.3rem; }
.notification-copy > span { color: #557269; line-height: 1.45; }
.notification-copy small { color: #769087; }

.notification-unread-dot {
    background: #f29d38;
    border-radius: 50%;
    height: 10px;
    width: 10px;
}

.notification-empty { margin-top: 1rem; }

.required-marker {
    background: #dff3ec;
    border-radius: 999px;
    color: #0f766e;
    display: inline-block;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    margin-left: 0.4rem;
    padding: 0.2rem 0.48rem;
    text-transform: uppercase;
    vertical-align: middle;
}

.equipment-field--conditionally-required label {
    color: #0f766e;
}

.bin-icon {
    fill: none;
    height: 18px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
    width: 18px;
}

.equipment-delete-link,
.equipment-delete-button {
    align-items: center;
    color: #b44242 !important;
    display: inline-flex;
    gap: 0.38rem;
}

.equipment-delete-button {
    background: #fff5f3;
    border: 1px solid #f0c8c3;
    border-radius: 999px;
    font-weight: 800;
    padding: 0.72rem 1rem;
    text-decoration: none;
}

.equipment-delete-button:hover,
.equipment-delete-link:hover {
    color: #8f2f2f !important;
}

.equipment-delete-shell {
    background: white;
    border: 1px solid #efd9d5;
    border-radius: 24px;
    box-shadow: 0 18px 45px rgba(90, 45, 40, 0.1);
    margin: 3rem auto;
    max-width: 680px;
    padding: 2.4rem;
    text-align: center;
}

.equipment-delete-icon {
    align-items: center;
    background: #fff0ed;
    border-radius: 18px;
    color: #b44242;
    display: flex;
    height: 58px;
    justify-content: center;
    margin: 0 auto 1rem;
    width: 58px;
}

.equipment-delete-icon .bin-icon { height: 27px; width: 27px; }
.equipment-delete-shell h1 { color: #173d5c; margin: 0.55rem 0; }
.equipment-delete-shell > p { color: #607482; line-height: 1.6; }

.equipment-delete-warning {
    background: #fff7ed;
    border: 1px solid #f3d5ac;
    border-radius: 14px;
    color: #795022;
    line-height: 1.55;
    margin: 1.5rem 0;
    padding: 1rem;
}

.equipment-delete-actions {
    align-items: center;
    display: flex;
    gap: 1rem;
    justify-content: center;
}

.equipment-delete-actions button {
    background: #b44242;
    border: 0;
    border-radius: 999px;
    color: white;
    cursor: pointer;
    font-weight: 800;
    padding: 0.85rem 1.2rem;
}

.equipment-delete-actions a {
    color: #0f766e;
    font-weight: 800;
    text-decoration: none;
}

.maintenance-schedule-section { margin-bottom: 26px; }

.maintenance-schedule-summary {
    display: grid;
    gap: 0.8rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 1.4rem 0;
}

.maintenance-summary {
    align-items: center;
    background: #f3f8f6;
    border: 1px solid #dcebe5;
    border-radius: 14px;
    display: flex;
    justify-content: space-between;
    padding: 0.85rem 1rem;
}

.maintenance-summary span { color: #60786e; font-size: 0.82rem; font-weight: 700; }
.maintenance-summary strong { color: #173d5c; font-size: 1.35rem; }
.maintenance-summary--overdue { background: #fff2ef; border-color: #f0cfca; }
.maintenance-summary--overdue strong { color: #b44242; }
.maintenance-summary--soon { background: #fff8e9; border-color: #f1ddad; }
.maintenance-summary--soon strong { color: #996119; }
.maintenance-summary--scheduled { background: #edf8f4; border-color: #cee8dd; }
.maintenance-summary--scheduled strong { color: #0f766e; }

.maintenance-schedule-list {
    border: 1px solid #dcebe5;
    border-radius: 18px;
    overflow: hidden;
}

.maintenance-schedule-item {
    align-items: center;
    background: white;
    border-bottom: 1px solid #e6efeb;
    color: inherit;
    display: grid;
    gap: 1rem;
    grid-template-columns: 58px minmax(0, 1fr) auto auto;
    padding: 0.9rem 1rem;
    text-decoration: none;
    transition: background 0.18s ease;
}

.maintenance-schedule-item:last-child { border-bottom: 0; }
.maintenance-schedule-item:hover { background: #f6fbf9; }

.maintenance-date {
    align-items: center;
    background: #e6f5ef;
    border-radius: 12px;
    color: #0f766e;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 58px;
}

.maintenance-date span { font-size: 0.68rem; font-weight: 800; text-transform: uppercase; }
.maintenance-date strong { font-size: 1.25rem; line-height: 1.1; }
.maintenance-schedule-copy small { color: #0f766e; font-weight: 800; }
.maintenance-schedule-copy h3 { color: #173d5c; font-size: 1rem; margin: 0.16rem 0; }
.maintenance-schedule-copy p { color: #71837c; font-size: 0.78rem; margin: 0; }

.maintenance-timing {
    background: #e8f5f0;
    border-radius: 999px;
    color: #0f766e;
    font-size: 0.76rem;
    font-weight: 800;
    padding: 0.45rem 0.7rem;
}

.maintenance-schedule-item--overdue .maintenance-date,
.maintenance-schedule-item--overdue .maintenance-timing {
    background: #fff0ed;
    color: #b44242;
}

.maintenance-schedule-item--today .maintenance-date,
.maintenance-schedule-item--today .maintenance-timing,
.maintenance-schedule-item--soon .maintenance-date,
.maintenance-schedule-item--soon .maintenance-timing {
    background: #fff5df;
    color: #996119;
}

.maintenance-open { color: #0f766e; font-size: 0.82rem; }

@media (max-width: 700px) {
    .maintenance-schedule-summary { grid-template-columns: 1fr; }
    .maintenance-schedule-item { grid-template-columns: 52px 1fr; }
    .maintenance-timing, .maintenance-open { grid-column: 2; justify-self: start; }
}

/* Option B: facility workspace with persistent navigation */
.facility-workspace-body { overflow-x: hidden; }

.facility-workspace {
    display: grid;
    grid-template-columns: 272px minmax(0, 1fr);
    min-height: 100vh;
}

.facility-sidebar {
    background: linear-gradient(180deg, #0b4f74 0%, #0f766e 100%);
    color: white;
    display: flex;
    flex-direction: column;
    height: 100vh;
    left: 0;
    overflow-y: auto;
    padding: 1.25rem 1rem;
    position: sticky;
    top: 0;
    z-index: 60;
}

.facility-sidebar-brand {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 1.25rem;
}

.facility-sidebar-brand a {
    background: transparent;
    display: inline-flex;
    padding: 0.2rem;
}

.facility-sidebar-brand img {
    display: block;
    filter: brightness(0) invert(1);
    height: auto;
    width: 158px;
}
.facility-sidebar-close { display: none; }

.facility-sidebar-account {
    align-items: center;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 14px;
    display: flex;
    gap: 0.7rem;
    margin-bottom: 1rem;
    padding: 0.75rem;
}

.facility-sidebar-account > span {
    align-items: center;
    background: #dff7f0;
    border-radius: 10px;
    color: #0b655f;
    display: flex;
    flex: 0 0 38px;
    font-weight: 900;
    height: 38px;
    justify-content: center;
    text-transform: uppercase;
}

.facility-sidebar-account div { display: grid; gap: 0.12rem; min-width: 0; }
.facility-sidebar-account strong { font-size: 0.82rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.facility-sidebar-account small { color: #cce7e1; font-size: 0.68rem; }

.facility-sidebar-nav {
    align-items: stretch;
    background: transparent;
    box-shadow: none;
    display: grid;
    gap: 0.3rem;
    padding: 0;
}

.facility-sidebar-nav a {
    align-items: center;
    border-radius: 10px;
    color: #e5f4f0;
    display: flex;
    font-size: 0.82rem;
    font-weight: 750;
    gap: 0.7rem;
    padding: 0.68rem 0.75rem;
    text-decoration: none;
    transition: background 0.18s ease, color 0.18s ease;
}

.facility-sidebar-nav a > span { font-size: 1rem; text-align: center; width: 21px; }
.facility-sidebar-nav a:hover { background: rgba(255, 255, 255, 0.1); color: white; }
.facility-sidebar-nav a.active { background: white; color: #0f6e6b; box-shadow: 0 8px 22px rgba(2, 40, 51, 0.18); }

.facility-quick-actions {
    border-top: 1px solid rgba(255, 255, 255, 0.16);
    display: grid;
    gap: 0.4rem;
    margin-top: auto;
    padding-top: 0.85rem;
}

.facility-quick-actions > span {
    color: #bfe1da;
    font-size: 0.65rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    margin: 0 0 0.2rem 0.4rem;
    text-transform: uppercase;
}

.facility-quick-action {
    align-items: center;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 9px;
    color: white;
    display: flex;
    font-size: 0.75rem;
    font-weight: 800;
    gap: 0.55rem;
    padding: 0.58rem 0.68rem;
    text-decoration: none;
}

.facility-quick-action strong { font-size: 1rem; }
.facility-quick-action:hover { background: rgba(255, 255, 255, 0.1); }
.facility-quick-action--primary {
    background: #dff7f0;
    border-color: #dff7f0;
    color: #0b655f;
}
.facility-quick-action--primary:hover { background: white; color: #0b655f; }

.facility-sidebar-home {
    color: #cce7e1;
    font-size: 0.68rem;
    margin-top: 0.75rem;
    padding: 0.35rem;
    text-align: center;
    text-decoration: none;
}

.facility-sidebar-overlay { display: none; }
.facility-workspace-content { min-width: 0; }

.facility-workspace-topbar {
    align-items: center;
    background: rgba(255, 255, 255, 0.95);
    border-bottom: 1px solid #dce8e4;
    display: flex;
    justify-content: space-between;
    min-height: 70px;
    padding: 0.7rem 2rem;
    position: sticky;
    top: 0;
    z-index: 40;
}

.facility-workspace-topbar > div:first-of-type { display: grid; gap: 0.12rem; }
.facility-workspace-topbar small { color: #779087; font-size: 0.65rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.facility-workspace-topbar strong { color: #173d5c; }
.facility-topbar-actions { align-items: center; display: flex; gap: 0.85rem; }
.facility-topbar-actions form { margin: 0; }
.facility-menu-button { display: none; }

.facility-overview-main,
.facility-engineers-main { max-width: 1320px; padding-top: 1.8rem; }
.facility-overview-main .dashboard-welcome { padding: 2rem 2.3rem; }
.facility-overview-main .dashboard-welcome h1 { font-size: 2rem; }
.facility-overview-main .dashboard-summary { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.9rem; margin: 1.25rem 0; }
.facility-overview-main .summary-card { padding: 1.15rem; }
.facility-overview-main .facility-information { padding: 1.5rem; }
.facility-overview-main .section-heading { margin-bottom: 1.1rem; }
.facility-overview-main .section-heading h2 { font-size: 1.35rem; }
.facility-overview-main .dashboard-equipment-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.facility-overview-main .engineer-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.9rem; }
.facility-overview-main .engineer-card { padding: 1rem; }
.facility-overview-main .engineer-card-details { margin-bottom: 0.8rem; }
.facility-overview-main .engineer-specializations { margin-bottom: 0.7rem; }
.facility-profile-dashboard-section { display: none; }

/* Professional facility dashboard: compact, visual, and theme-consistent */
.facility-pro-dashboard { background: #f2f7f6; }
.facility-pro-dashboard .facility-overview-main { padding-top: 1.25rem; }

.facility-command-hero {
    align-items: center;
    background:
        radial-gradient(circle at 88% 18%, rgba(93, 211, 192, 0.22), transparent 26%),
        linear-gradient(120deg, #0a4668 0%, #0d6666 62%, #0f766e 100%);
    border-radius: 20px;
    box-shadow: 0 15px 34px rgba(11, 73, 91, 0.16);
    color: white;
    display: flex;
    gap: 2rem;
    justify-content: space-between;
    min-height: 132px;
    overflow: hidden;
    padding: 1.55rem 1.7rem;
    position: relative;
}
.facility-command-hero::after {
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 50%;
    content: "";
    height: 190px;
    position: absolute;
    right: 16%;
    top: -118px;
    width: 190px;
}
.facility-command-copy { min-width: 0; position: relative; z-index: 1; }
.facility-command-copy .dashboard-label { color: #8ce2d3; font-size: 0.68rem; }
.facility-command-copy h1 {
    color: white;
    font-size: clamp(1.55rem, 3vw, 2.25rem);
    line-height: 1.12;
    margin: 0.42rem 0 0.72rem;
}
.facility-command-meta { display: flex; flex-wrap: wrap; gap: 0.65rem 1.1rem; }
.facility-command-meta span { align-items: center; color: #d7eeeb; display: inline-flex; font-size: 0.72rem; gap: 0.38rem; }
.facility-status-dot { background: #67e8b7; border-radius: 50%; box-shadow: 0 0 0 4px rgba(103, 232, 183, 0.14); display: inline-block; height: 7px; width: 7px; }
.facility-command-status {
    align-items: center;
    background: rgba(255, 255, 255, 0.11);
    border: 1px solid rgba(255, 255, 255, 0.17);
    border-radius: 15px;
    display: grid;
    flex: 0 0 auto;
    gap: 0.7rem;
    grid-template-columns: 42px minmax(105px, 1fr) 30px;
    padding: 0.8rem;
    position: relative;
    z-index: 1;
}
.facility-command-status-icon { align-items: center; background: rgba(255,255,255,.14); border-radius: 11px; display: flex; height: 42px; justify-content: center; width: 42px; }
.facility-command-status-icon svg { fill: none; height: 23px; stroke: #9ff3df; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; width: 23px; }
.facility-command-status div:nth-child(2) { display: grid; gap: 0.12rem; }
.facility-command-status small { color: #cde7e4; font-size: 0.6rem; }
.facility-command-status strong { color: white; font-size: 0.9rem; }
.facility-command-status > a { align-items: center; border-radius: 8px; color: #b9f3e7; display: flex; font-size: 1.1rem; height: 30px; justify-content: center; text-decoration: none; width: 30px; }
.facility-command-status > a:hover { background: rgba(255,255,255,.12); }

.facility-pro-dashboard .dashboard-summary { gap: 0.75rem; margin: 0.9rem 0; }
.facility-pro-dashboard .dashboard-summary .summary-card {
    align-items: center;
    box-shadow: 0 7px 20px rgba(26, 73, 87, 0.05);
    display: grid;
    gap: 0.75rem;
    grid-template-columns: 44px minmax(0, 1fr);
    min-height: 82px;
    padding: 0.85rem;
}
.facility-pro-dashboard .summary-card-icon {
    align-items: center;
    background: #e4f4f0;
    border-radius: 12px;
    color: #0f766e;
    display: flex;
    height: 44px;
    justify-content: center;
    margin: 0;
    width: 44px;
}
.facility-pro-dashboard .summary-card-icon svg { fill: none; height: 22px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; width: 22px; }
.facility-pro-dashboard .summary-card > div { display: grid; gap: 0.08rem; min-width: 0; }
.facility-pro-dashboard .summary-card > div > span { color: #688078; font-size: 0.64rem; font-weight: 800; margin: 0; }
.facility-pro-dashboard .summary-card > div > strong { color: #173d5c; font-size: 1.35rem; line-height: 1.05; }
.facility-pro-dashboard .summary-card > div > small { color: #879890; font-size: 0.58rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.facility-pro-dashboard .summary-card--requests .summary-card-icon { background: #e8f1f7; color: #0f5d83; }
.facility-pro-dashboard .summary-card--attention .summary-card-icon { background: #fff0ec; color: #b24e43; }
.facility-pro-dashboard .summary-card--engineers .summary-card-icon { background: #e8f5ee; color: #26744b; }

.facility-screen-actions { display: grid; gap: 0.75rem; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 0.9rem; }
.facility-screen-actions > a {
    align-items: center;
    background: white;
    border: 1px solid #dbe8e4;
    border-radius: 14px;
    color: inherit;
    display: grid;
    gap: 0.65rem;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    padding: 0.75rem;
    text-decoration: none;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.facility-screen-actions > a:hover { border-color: #8fc9bc; box-shadow: 0 9px 22px rgba(16, 91, 87, .08); transform: translateY(-2px); }
.facility-screen-actions > a > span { align-items: center; background: #e5f5f0; border-radius: 9px; color: #0f766e; display: flex; font-size: 1rem; font-weight: 900; height: 34px; justify-content: center; width: 34px; }
.facility-screen-actions > a > div { display: grid; gap: .1rem; min-width: 0; }
.facility-screen-actions strong { color: #23485d; font-size: .7rem; }
.facility-screen-actions small { color: #80918a; font-size: .56rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.facility-screen-actions b { color: #77a49a; font-size: .85rem; }

.facility-dashboard-focus-grid { align-items: stretch; display: grid; gap: 0.9rem; grid-template-columns: minmax(0, 1.55fr) minmax(280px, .65fr); margin-bottom: 0.9rem; }
.facility-dashboard-focus-grid .facility-information { height: 100%; margin-bottom: 0; }
.facility-pro-dashboard .facility-information { border-color: #dce8e4; border-radius: 16px; box-shadow: 0 7px 22px rgba(26, 73, 87, 0.045); }
.facility-pro-dashboard .section-heading { align-items: center; }
.facility-pro-dashboard .section-heading .dashboard-label { color: #0f766e; font-size: .59rem; }
.facility-pro-dashboard .section-heading h2 { color: #173d5c; font-size: 1.05rem; margin-top: .25rem; }
.facility-dashboard-focus-grid .maintenance-schedule-summary { margin: .9rem 0; }
.facility-dashboard-focus-grid .maintenance-summary { border-radius: 10px; padding: .62rem .7rem; }
.facility-dashboard-focus-grid .maintenance-summary span { font-size: .62rem; }
.facility-dashboard-focus-grid .maintenance-summary strong { font-size: 1rem; }
.facility-dashboard-focus-grid .maintenance-schedule-list { border-radius: 12px; }
.facility-dashboard-focus-grid .maintenance-schedule-item { gap: .7rem; grid-template-columns: 46px minmax(0, 1fr) auto; padding: .65rem .72rem; }
.facility-dashboard-focus-grid .maintenance-date { border-radius: 9px; min-height: 46px; }
.facility-dashboard-focus-grid .maintenance-date strong { font-size: 1rem; }
.facility-dashboard-focus-grid .maintenance-schedule-copy small { font-size: .56rem; }
.facility-dashboard-focus-grid .maintenance-schedule-copy h3 { font-size: .76rem; }
.facility-dashboard-focus-grid .maintenance-schedule-copy p { font-size: .6rem; }
.facility-dashboard-focus-grid .maintenance-open { display: none; }
.facility-dashboard-focus-grid .maintenance-timing { font-size: .58rem; padding: .38rem .5rem; }
.facility-dashboard-focus-grid .dashboard-request-stats { grid-template-columns: 1fr; margin-top: .9rem; }
.facility-dashboard-focus-grid .dashboard-request-stats a { background: #f7faf9; border: 0; border-radius: 10px; padding: .72rem .78rem; }
.facility-dashboard-focus-grid .dashboard-request-stats span { font-size: .68rem; }
.facility-dashboard-focus-grid .dashboard-request-stats strong { font-size: 1.15rem; }

.facility-pro-dashboard .dashboard-equipment-section,
.facility-pro-dashboard .nearby-engineers-section { margin-bottom: .9rem; }
.facility-pro-dashboard .dashboard-equipment-grid { margin-top: .8rem; }
.facility-pro-dashboard .dashboard-equipment-card { background: #f9fcfb; border-color: #e2ece9; }
.facility-pro-dashboard .engineer-card-grid { margin-top: .8rem; }

@media (max-width: 1100px) {
    .facility-screen-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .facility-dashboard-focus-grid { grid-template-columns: minmax(0, 1.25fr) minmax(250px, .75fr); }
}

@media (max-width: 900px) {
    .facility-command-hero { align-items: flex-start; }
    .facility-dashboard-focus-grid { grid-template-columns: 1fr; }
    .facility-dashboard-focus-grid .dashboard-request-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
    .facility-pro-dashboard .facility-overview-main { padding: 1rem .8rem 4rem; }
    .facility-command-hero { align-items: stretch; flex-direction: column; gap: 1rem; padding: 1.2rem; }
    .facility-command-status { grid-template-columns: 38px minmax(0, 1fr) 30px; }
    .facility-command-status-icon { height: 38px; width: 38px; }
    .facility-pro-dashboard .dashboard-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .facility-pro-dashboard .dashboard-summary .summary-card { grid-template-columns: 36px minmax(0, 1fr); min-height: 72px; padding: .7rem; }
    .facility-pro-dashboard .summary-card-icon { border-radius: 10px; height: 36px; width: 36px; }
    .facility-pro-dashboard .summary-card-icon svg { height: 18px; width: 18px; }
    .facility-screen-actions { grid-template-columns: 1fr 1fr; }
    .facility-screen-actions > a { grid-template-columns: 32px minmax(0, 1fr); }
    .facility-screen-actions b { display: none; }
    .facility-dashboard-focus-grid .dashboard-request-stats { grid-template-columns: 1fr; }
    .facility-dashboard-focus-grid .maintenance-schedule-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .facility-dashboard-focus-grid .maintenance-summary { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 410px) {
    .facility-pro-dashboard .dashboard-summary,
    .facility-screen-actions { grid-template-columns: 1fr; }
}

.nearby-heading-actions { align-items: flex-end; display: flex; flex-direction: column; gap: 0.6rem; }
.engineer-directory-note { color: #60786e; font-size: 0.74rem; line-height: 1.45; margin: auto 0 0; }
.match-badge--national { background: #fff4df; color: #8b5c16; }

.facility-page-heading { align-items: center; display: flex; justify-content: space-between; }
.engineer-scope-tabs { display: flex; gap: 0.55rem; margin: 1.25rem 0; }
.engineer-scope-tabs a { background: #e7f2ed; border-radius: 999px; color: #27634f; font-weight: 800; padding: 0.65rem 1rem; text-decoration: none; }
.engineer-scope-tabs a.active { background: #0f766e; color: white; }
.facility-engineer-directory { grid-template-columns: repeat(3, minmax(0, 1fr)); }

@media (max-width: 1100px) {
    .facility-overview-main .dashboard-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .facility-overview-main .dashboard-equipment-grid,
    .facility-overview-main .engineer-card-grid,
    .facility-engineer-directory { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
    .facility-workspace { display: block; }
    .facility-sidebar {
        position: fixed;
        transform: translateX(-105%);
        transition: transform 0.22s ease;
        width: min(84vw, 290px);
    }
    .facility-sidebar-open .facility-sidebar { transform: translateX(0); }
    .facility-sidebar-open .facility-sidebar-overlay { background: rgba(9, 35, 45, 0.5); display: block; inset: 0; position: fixed; z-index: 50; }
    .facility-sidebar-close { background: transparent; border: 0; color: white; display: block; font-size: 1.6rem; }
    .facility-menu-button { background: #e5f5f0; border: 0; border-radius: 10px; color: #0f766e; display: block; font-size: 1.2rem; height: 42px; width: 42px; }
    .facility-workspace-topbar { padding: 0.65rem 1rem; }
    .facility-workspace-topbar > div:first-of-type { margin-right: auto; margin-left: 0.75rem; }
}

@media (max-width: 640px) {
    .facility-overview-main .dashboard-summary,
    .facility-overview-main .dashboard-equipment-grid,
    .facility-overview-main .engineer-card-grid,
    .facility-engineer-directory { grid-template-columns: 1fr; }
    .facility-workspace-topbar .logout-button { padding: 0.65rem 0.8rem; }
    .nearby-heading-actions { align-items: flex-start; }
    .notifications-heading { align-items: flex-start; flex-direction: column; }
    .notification-item { grid-template-columns: 40px 1fr 10px; padding: 1rem; }
    .notification-kind { height: 40px; width: 40px; }
}

/* Engineer workspace */
.engineer-workspace-body { background: #f3f8f7; overflow-x: hidden; }
.engineer-workspace { display: grid; grid-template-columns: 270px minmax(0, 1fr); min-height: 100vh; }
.engineer-workspace-content { min-width: 0; }

.engineer-sidebar {
    background: linear-gradient(180deg, #0a4668 0%, #0d6c68 58%, #0b5f5b 100%);
    color: white;
    display: flex;
    flex-direction: column;
    height: 100vh;
    overflow-y: auto;
    padding: 1.25rem 1rem;
    position: sticky;
    top: 0;
    z-index: 60;
}
.engineer-sidebar-brand { align-items: center; display: flex; justify-content: space-between; margin-bottom: 1.25rem; }
.engineer-sidebar-brand a { background: transparent; display: inline-flex; padding: 0.2rem; }
.engineer-sidebar-brand img { display: block; filter: brightness(0) invert(1); height: auto; width: 158px; }
.engineer-sidebar-close { display: none; }
.engineer-sidebar-account {
    align-items: center;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 14px;
    display: flex;
    gap: 0.7rem;
    margin-bottom: 1rem;
    padding: 0.75rem;
}
.engineer-sidebar-account > span {
    align-items: center;
    background: #dff7f0;
    border-radius: 10px;
    color: #0b655f;
    display: flex;
    flex: 0 0 40px;
    font-size: 0.8rem;
    font-weight: 900;
    height: 40px;
    justify-content: center;
    text-transform: uppercase;
}
.engineer-sidebar-account div { display: grid; gap: 0.12rem; min-width: 0; }
.engineer-sidebar-account strong { font-size: 0.82rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.engineer-sidebar-account small { color: #cce7e1; font-size: 0.68rem; }
.engineer-sidebar-nav { background: transparent; box-shadow: none; display: grid; gap: 0.3rem; padding: 0; }
.engineer-sidebar-nav a {
    align-items: center;
    border-radius: 10px;
    color: #e5f4f0;
    display: flex;
    font-size: 0.82rem;
    font-weight: 750;
    gap: 0.7rem;
    padding: 0.68rem 0.75rem;
    text-decoration: none;
    transition: background 0.18s ease, color 0.18s ease;
}
.engineer-sidebar-nav a > span { font-size: 1rem; text-align: center; width: 21px; }
.engineer-sidebar-nav a:hover { background: rgba(255, 255, 255, 0.1); color: white; }
.engineer-sidebar-nav a.active { background: white; box-shadow: 0 8px 22px rgba(2, 40, 51, 0.18); color: #0f6e6b; }
.engineer-quick-actions { border-top: 1px solid rgba(255, 255, 255, 0.16); display: grid; gap: 0.4rem; margin-top: auto; padding-top: 0.85rem; }
.engineer-quick-actions > span { color: #bfe1da; font-size: 0.65rem; font-weight: 900; letter-spacing: 0.1em; margin: 0 0 0.2rem 0.4rem; text-transform: uppercase; }
.engineer-quick-action {
    align-items: center;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 9px;
    color: white;
    display: flex;
    font-size: 0.75rem;
    font-weight: 800;
    gap: 0.55rem;
    padding: 0.58rem 0.68rem;
    text-decoration: none;
}
.engineer-quick-action strong { font-size: 1rem; }
.engineer-quick-action:hover { background: rgba(255, 255, 255, 0.1); }
.engineer-quick-action--primary { background: #dff7f0; border-color: #dff7f0; color: #0b655f; }
.engineer-quick-action--primary:hover { background: white; color: #0b655f; }
.engineer-sidebar-home { color: #cce7e1; font-size: 0.68rem; margin-top: 0.75rem; padding: 0.35rem; text-align: center; text-decoration: none; }
.engineer-sidebar-overlay { display: none; }

.engineer-workspace-topbar {
    align-items: center;
    background: rgba(255, 255, 255, 0.96);
    border-bottom: 1px solid #dce8e4;
    display: flex;
    justify-content: space-between;
    min-height: 70px;
    padding: 0.7rem 2rem;
    position: sticky;
    top: 0;
    z-index: 40;
}
.engineer-topbar-title { display: grid; gap: 0.12rem; }
.engineer-topbar-title small { color: #779087; font-size: 0.65rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.engineer-topbar-title strong { color: #173d5c; }
.engineer-topbar-actions { align-items: center; display: flex; gap: 0.85rem; }
.engineer-topbar-actions form { margin: 0; }
.engineer-menu-button { display: none; }

.engineer-overview-main { max-width: 1440px; padding: 1.8rem 2rem 4rem; }
.engineer-hero {
    align-items: center;
    background: linear-gradient(118deg, #0b4f74 0%, #0f766e 76%);
    border-radius: 20px;
    box-shadow: 0 16px 38px rgba(13, 81, 91, 0.14);
    color: white;
    display: flex;
    gap: 2rem;
    justify-content: space-between;
    overflow: hidden;
    padding: 1.8rem 2rem;
    position: relative;
}
.engineer-hero::after { border: 35px solid rgba(255, 255, 255, 0.06); border-radius: 50%; content: ""; height: 180px; position: absolute; right: 24%; top: -90px; width: 180px; }
.engineer-hero > div { position: relative; z-index: 1; }
.engineer-hero .dashboard-label { color: #bfeee5; }
.engineer-hero h1 { color: white; font-size: clamp(1.7rem, 3vw, 2.2rem); margin: 0.3rem 0 0.45rem; }
.engineer-hero p { color: #d8eeea; line-height: 1.5; margin: 0; max-width: 650px; }
.engineer-status-control { background: rgba(255, 255, 255, 0.12); border: 1px solid rgba(255, 255, 255, 0.22); border-radius: 14px; min-width: 260px; padding: 0.8rem; position: relative; z-index: 1; }
.engineer-status-control label { align-items: center; color: #e7f7f4; display: flex; font-size: 0.7rem; font-weight: 800; gap: 0.4rem; margin-bottom: 0.5rem; }
.engineer-status-control label span { background: #6de0b5; border: 3px solid rgba(255, 255, 255, 0.25); border-radius: 50%; height: 10px; width: 10px; }
.engineer-status-control > div { display: flex; gap: 0.45rem; }
.engineer-status-control select { background: white; border: 0; border-radius: 8px; color: #29475d; flex: 1; font: inherit; font-size: 0.78rem; font-weight: 700; padding: 0.65rem; }
.engineer-status-control button { background: #dff7f0; border: 0; border-radius: 8px; color: #0b655f; cursor: pointer; font-weight: 850; padding: 0.65rem 0.85rem; }

.engineer-stat-grid { display: grid; gap: 0.9rem; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 1.15rem 0; }
.engineer-stat-card {
    align-items: center;
    background: white;
    border: 1px solid #dce9e5;
    border-radius: 15px;
    color: inherit;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: 45px minmax(0, 1fr) auto;
    padding: 1rem;
    text-decoration: none;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.engineer-stat-card:hover { box-shadow: 0 12px 28px rgba(21, 79, 88, 0.09); transform: translateY(-2px); }
.engineer-stat-icon { align-items: center; background: #e4f4ef; border-radius: 12px; color: #0f766e; display: flex; font-size: 1.25rem; height: 45px; justify-content: center; width: 45px; }
.engineer-stat-card small { color: #647b73; display: block; font-size: 0.68rem; font-weight: 800; }
.engineer-stat-card div > strong { color: #173d5c; display: block; font-size: 1.55rem; line-height: 1.1; margin-top: 0.15rem; }
.engineer-stat-card p { color: #87968f; font-size: 0.66rem; margin: 0.2rem 0 0; }
.engineer-stat-card > b { color: #0f766e; font-size: 0.68rem; }
.engineer-stat-card--assigned .engineer-stat-icon { background: #e7f0f8; color: #0b5f8f; }
.engineer-stat-card--review .engineer-stat-icon { background: #eeeafa; color: #6650a8; }
.engineer-stat-card--completed .engineer-stat-icon { background: #e2f5ea; color: #26744b; }

.engineer-dashboard-grid { align-items: start; display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr) 310px; }
.engineer-dashboard-primary, .engineer-dashboard-secondary { display: grid; gap: 1rem; min-width: 0; }
.engineer-dashboard-secondary { position: sticky; top: 86px; }
.engineer-panel, .engineer-profile-card, .engineer-side-card { background: white; border: 1px solid #dce9e5; border-radius: 17px; box-shadow: 0 8px 24px rgba(17, 77, 84, 0.045); padding: 1.35rem; scroll-margin-top: 90px; }
.engineer-panel-heading { align-items: flex-start; display: flex; gap: 1rem; justify-content: space-between; margin-bottom: 1rem; }
.engineer-panel-heading h2 { color: #173d5c; font-size: 1.2rem; margin: 0.22rem 0 0; }
.engineer-panel-heading p { color: #71837c; font-size: 0.75rem; margin: 0.4rem 0 0; }
.engineer-panel-count { background: #e6f5ef; border-radius: 999px; color: #0f766e; flex: 0 0 auto; font-size: 0.68rem; font-weight: 850; padding: 0.42rem 0.65rem; }

.engineer-work-list { border: 1px solid #e3ece9; border-radius: 13px; overflow: hidden; }
.engineer-work-item {
    align-items: center;
    background: white;
    border-bottom: 1px solid #e8efed;
    color: inherit;
    display: grid;
    gap: 0.85rem;
    grid-template-columns: 42px minmax(0, 1fr) auto auto;
    padding: 0.9rem;
    text-decoration: none;
}
.engineer-work-item:last-child { border-bottom: 0; }
.engineer-work-item:hover { background: #f7fbfa; }
.engineer-work-item--direct { background: #f5fbfa; }
.engineer-work-item--active { background: #fbfdfc; }
.engineer-work-symbol { align-items: center; background: #e6f5ef; border-radius: 11px; color: #0f766e; display: flex; font-weight: 900; height: 42px; justify-content: center; width: 42px; }
.engineer-work-item--direct .engineer-work-symbol { background: #e2f0f8; color: #0b5f8f; }
.engineer-work-item small { color: #0f766e; font-size: 0.67rem; font-weight: 800; }
.engineer-work-item h3 { color: #173d5c; font-size: 0.92rem; margin: 0.15rem 0; }
.engineer-work-item p { color: #71837c; font-size: 0.7rem; margin: 0; }
.engineer-work-item > strong { color: #0f766e; font-size: 0.72rem; }
.engineer-work-status { background: #e6f5ef; border-radius: 999px; color: #0f766e; font-size: 0.65rem; font-weight: 850; padding: 0.4rem 0.6rem; }
.engineer-work-status--new { background: #e3f0f8; color: #0b5f8f; }
.engineer-work-status--waiting { background: #eeeafa; color: #6650a8; }
.engineer-work-actions { display: flex; gap: 0.45rem; }
.engineer-work-actions a { border: 1px solid #cfe1dc; border-radius: 8px; color: #536d63; font-size: 0.68rem; font-weight: 800; padding: 0.5rem 0.6rem; text-decoration: none; }
.engineer-work-actions a.primary { background: #0f766e; border-color: #0f766e; color: white; }

.engineer-opportunity-grid { display: grid; gap: 0.8rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.engineer-opportunity-card { border: 1px solid #dce9e5; border-radius: 13px; color: inherit; display: flex; flex-direction: column; min-height: 215px; padding: 1rem; text-decoration: none; transition: border 0.18s ease, transform 0.18s ease; }
.engineer-opportunity-card:hover { border-color: #8fc9ba; transform: translateY(-2px); }
.engineer-opportunity-top { align-items: center; display: flex; justify-content: space-between; }
.engineer-opportunity-top > span { color: #0f766e; font-size: 0.68rem; font-weight: 850; text-transform: uppercase; }
.engineer-opportunity-card > small { color: #84948e; font-size: 0.65rem; margin-top: 0.75rem; }
.engineer-opportunity-card h3 { color: #173d5c; font-size: 1rem; margin: 0.15rem 0 0.4rem; }
.engineer-opportunity-card > p { color: #647870; font-size: 0.75rem; line-height: 1.5; margin: 0; }
.engineer-opportunity-card footer { align-items: flex-end; border-top: 1px solid #e7efec; display: flex; gap: 0.5rem; justify-content: space-between; margin-top: auto; padding-top: 0.75rem; }
.engineer-opportunity-card footer span { color: #6f837b; font-size: 0.67rem; }
.engineer-opportunity-card footer strong { color: #0f766e; font-size: 0.69rem; }

.engineer-empty-state { align-items: center; background: #f6faf9; border: 1px dashed #c9dcd7; border-radius: 13px; display: flex; flex-direction: column; padding: 1.8rem; text-align: center; }
.engineer-empty-state > span { align-items: center; background: #e4f4ef; border-radius: 50%; color: #0f766e; display: flex; font-size: 1.2rem; height: 46px; justify-content: center; width: 46px; }
.engineer-empty-state h3 { color: #29475d; font-size: 1rem; margin: 0.7rem 0 0.2rem; }
.engineer-empty-state p { color: #71837c; font-size: 0.75rem; margin: 0 0 0.8rem; }
.engineer-empty-state a { background: #0f766e; border-radius: 8px; color: white; font-size: 0.72rem; font-weight: 800; padding: 0.6rem 0.8rem; text-decoration: none; }
.engineer-compact-empty { background: #f6faf9; border-radius: 10px; color: #71837c; font-size: 0.75rem; padding: 1rem; text-align: center; }

.engineer-report-list { border: 1px solid #e3ece9; border-radius: 12px; overflow: hidden; }
.engineer-report-list > a { align-items: center; border-bottom: 1px solid #e8efed; color: inherit; display: grid; gap: 0.75rem; grid-template-columns: 38px minmax(0, 1fr) auto auto; padding: 0.8rem; text-decoration: none; }
.engineer-report-list > a:last-child { border-bottom: 0; }
.engineer-report-list > a:hover { background: #f7fbfa; }
.engineer-report-check { align-items: center; background: #eeeafa; border-radius: 9px; color: #6650a8; display: flex; height: 38px; justify-content: center; width: 38px; }
.engineer-report-list--completed .engineer-report-check { background: #e2f5ea; color: #26744b; }
.engineer-report-list small { color: #71837c; font-size: 0.65rem; }
.engineer-report-list h3 { color: #173d5c; font-size: 0.86rem; margin: 0.1rem 0; }
.engineer-report-list p { color: #87968f; font-size: 0.66rem; margin: 0; }
.engineer-report-list > a > strong { background: #eeeafa; border-radius: 999px; color: #6650a8; font-size: 0.63rem; padding: 0.38rem 0.55rem; }
.engineer-report-list--completed > a > strong { background: #e2f5ea; color: #26744b; }
.engineer-report-list > a > b { color: #0f766e; font-size: 0.68rem; }

.engineer-profile-card { background: linear-gradient(145deg, #0b4f74 0%, #0f766e 100%); border: 0; color: white; }
.engineer-profile-card-top { align-items: center; display: flex; gap: 0.7rem; }
.engineer-avatar--profile-card { background: rgba(255, 255, 255, 0.14); border: 1px solid rgba(255, 255, 255, 0.22); border-radius: 12px; flex: 0 0 46px; font-size: 0.8rem; height: 46px; width: 46px; }
.engineer-profile-card-top small { color: #bfe1da; font-size: 0.65rem; }
.engineer-profile-card-top h2 { font-size: 0.95rem; margin: 0.12rem 0 0; }
.engineer-verification-status { align-items: center; background: rgba(255, 255, 255, 0.1); border-radius: 10px; display: flex; gap: 0.6rem; margin: 1rem 0; padding: 0.7rem; }
.engineer-verification-status > span { align-items: center; background: rgba(255, 255, 255, 0.12); border-radius: 50%; display: flex; height: 28px; justify-content: center; width: 28px; }
.engineer-verification-status.is-verified > span { background: #dff7f0; color: #0b655f; }
.engineer-verification-status div { display: grid; gap: 0.1rem; }
.engineer-verification-status strong { font-size: 0.72rem; }
.engineer-verification-status small { color: #c8e5df; font-size: 0.6rem; }
.engineer-profile-card dl { display: grid; gap: 0; margin: 0 0 0.9rem; }
.engineer-profile-card dl > div { border-bottom: 1px solid rgba(255, 255, 255, 0.13); display: flex; justify-content: space-between; padding: 0.55rem 0; }
.engineer-profile-card dt { color: #c8e5df; font-size: 0.66rem; }
.engineer-profile-card dd { font-size: 0.68rem; font-weight: 800; margin: 0; text-align: right; }
.engineer-profile-edit { background: #dff7f0; border-radius: 9px; color: #0b655f; display: block; font-size: 0.72rem; font-weight: 850; padding: 0.65rem; text-align: center; text-decoration: none; }

.engineer-side-card-heading { align-items: center; display: flex; gap: 0.6rem; margin-bottom: 0.8rem; }
.engineer-side-card-heading > span { align-items: center; background: #e4f4ef; border-radius: 9px; color: #0f766e; display: flex; height: 36px; justify-content: center; width: 36px; }
.engineer-side-card-heading small { color: #71837c; font-size: 0.61rem; font-weight: 800; text-transform: uppercase; }
.engineer-side-card-heading h2 { color: #173d5c; font-size: 0.95rem; margin: 0.08rem 0 0; }
.engineer-side-card > p { color: #71837c; font-size: 0.72rem; margin: 0; }
.engineer-specialization-tags { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.engineer-specialization-tags span { background: #e8f5f1; border-radius: 999px; color: #27634f; font-size: 0.63rem; font-weight: 750; padding: 0.4rem 0.55rem; }
.engineer-document-list { display: grid; gap: 0.45rem; }
.engineer-document-list > a { align-items: center; border: 1px solid #e0ebe7; border-radius: 9px; color: inherit; display: grid; gap: 0.55rem; grid-template-columns: 34px minmax(0, 1fr) auto; padding: 0.55rem; text-decoration: none; }
.engineer-document-list > a > span { align-items: center; background: #e7f2f7; border-radius: 7px; color: #0b5f8f; display: flex; font-size: 0.52rem; font-weight: 900; height: 34px; justify-content: center; width: 34px; }
.engineer-document-list div { display: grid; min-width: 0; }
.engineer-document-list strong { color: #29475d; font-size: 0.69rem; }
.engineer-document-list small { color: #71837c; font-size: 0.6rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.engineer-document-list b { color: #0f766e; font-size: 0.75rem; }

@media (max-width: 1180px) {
    .engineer-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .engineer-dashboard-grid { grid-template-columns: minmax(0, 1fr) 280px; }
}

@media (max-width: 960px) {
    .engineer-dashboard-grid { grid-template-columns: 1fr; }
    .engineer-dashboard-secondary { grid-template-columns: repeat(3, minmax(0, 1fr)); position: static; }
}

@media (max-width: 1020px) {
    .engineer-workspace { display: block; }
    .engineer-sidebar { position: fixed; transform: translateX(-105%); transition: transform 0.22s ease; width: min(84vw, 290px); }
    .engineer-sidebar-open .engineer-sidebar { transform: translateX(0); }
    .engineer-sidebar-open .engineer-sidebar-overlay { background: rgba(9, 35, 45, 0.5); display: block; inset: 0; position: fixed; z-index: 50; }
    .engineer-sidebar-close { background: transparent; border: 0; color: white; display: block; font-size: 1.6rem; }
    .engineer-menu-button { background: #e5f5f0; border: 0; border-radius: 10px; color: #0f766e; display: block; font-size: 1.2rem; height: 42px; width: 42px; }
    .engineer-workspace-topbar { padding: 0.65rem 1rem; }
    .engineer-topbar-title { margin-left: 0.75rem; margin-right: auto; }
    .engineer-overview-main { padding: 1.2rem 1rem 3rem; }
    .engineer-hero { align-items: stretch; flex-direction: column; }
    .engineer-status-control { min-width: 0; }
    .engineer-dashboard-secondary { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
    .engineer-stat-grid, .engineer-opportunity-grid { grid-template-columns: 1fr; }
    .engineer-hero { padding: 1.4rem; }
    .engineer-hero h1 { font-size: 1.55rem; }
    .engineer-work-item { align-items: start; grid-template-columns: 38px minmax(0, 1fr); }
    .engineer-work-symbol { height: 38px; width: 38px; }
    .engineer-work-status, .engineer-work-item > strong, .engineer-work-actions { grid-column: 2; justify-self: start; }
    .engineer-report-list > a { grid-template-columns: 36px minmax(0, 1fr); }
    .engineer-report-list > a > strong, .engineer-report-list > a > b { grid-column: 2; justify-self: start; }
    .engineer-panel-heading { flex-direction: column; }
    .engineer-workspace-topbar .logout-button { padding: 0.65rem 0.8rem; }
}

/* Supplier workspace */
.supplier-hero { background: linear-gradient(118deg, #0b4f74 0%, #0d7169 68%, #168379 100%); }
.supplier-hero-action {
    background: #dff7f0;
    border-radius: 10px;
    color: #0b655f;
    flex: 0 0 auto;
    font-size: 0.76rem;
    font-weight: 850;
    padding: 0.8rem 1rem;
    position: relative;
    text-decoration: none;
    z-index: 1;
}
.supplier-stat-word { font-size: 1rem !important; margin-top: 0.35rem !important; text-transform: capitalize; }
.supplier-readiness-list { border: 1px solid #e1ebe8; border-radius: 13px; overflow: hidden; }
.supplier-readiness-list > div {
    align-items: center;
    border-bottom: 1px solid #e7efec;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: 38px minmax(0, 1fr);
    padding: 0.85rem;
}
.supplier-readiness-list > div:last-child { border-bottom: 0; }
.supplier-readiness-list > div > span {
    align-items: center;
    background: #edf3f1;
    border-radius: 10px;
    color: #71837c;
    display: flex;
    font-size: 0.75rem;
    font-weight: 900;
    height: 38px;
    justify-content: center;
    width: 38px;
}
.supplier-readiness-list > div.is-complete > span { background: #e1f5ea; color: #26744b; }
.supplier-readiness-list > div > div { display: grid; gap: 0.15rem; }
.supplier-readiness-list strong { color: #29475d; font-size: 0.8rem; }
.supplier-readiness-list small { color: #71837c; font-size: 0.68rem; }
.supplier-details { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.supplier-details .supplier-address-detail { grid-column: 1 / -1; }
.supplier-profile-card { background: linear-gradient(145deg, #0b4f74 0%, #0d7169 100%); }

@media (max-width: 1020px) {
    .supplier-hero { align-items: stretch; }
    .supplier-hero-action { align-self: flex-start; }
}

@media (max-width: 640px) {
    .supplier-details { grid-template-columns: 1fr; }
    .supplier-details .supplier-address-detail { grid-column: auto; }
}

/* Supplier product catalogue */
.supplier-readiness-action { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: 1rem; }
.supplier-side-action { background: #e5f5f0; border-radius: 8px; color: #0f766e; display: inline-block; font-size: 0.7rem; font-weight: 850; margin-top: 0.8rem; padding: 0.58rem 0.75rem; text-decoration: none; }
.supplier-catalogue-main { max-width: 1440px; }
.supplier-catalogue-heading { align-items: flex-end; background: linear-gradient(118deg, #0b4f74 0%, #0d7169 100%); border-radius: 19px; color: white; display: flex; gap: 2rem; justify-content: space-between; padding: 1.6rem 1.8rem; }
.supplier-catalogue-heading .dashboard-label { color: #bfeee5; }
.supplier-catalogue-heading h1 { color: white; font-size: 1.8rem; margin: 0.25rem 0 0.35rem; }
.supplier-catalogue-heading p { color: #d8eeea; margin: 0; }
.supplier-catalogue-heading .edit-profile-button { flex: 0 0 auto; }
.supplier-catalogue-panel { margin-top: 1rem; }
.supplier-catalogue-filters { align-items: flex-end; display: flex; flex-wrap: wrap; gap: 0.65rem; margin-bottom: 1.1rem; }
.supplier-catalogue-filters label { display: grid; flex: 1 1 230px; gap: 0.3rem; }
.supplier-catalogue-filters label span { color: #536d63; font-size: 0.68rem; font-weight: 800; }
.supplier-catalogue-filters input, .supplier-catalogue-filters select { background: white; border: 1px solid #cfdeda; border-radius: 9px; color: #29475d; font: inherit; font-size: 0.76rem; min-height: 42px; padding: 0.65rem 0.75rem; }
.supplier-catalogue-filters button { background: #0f766e; border: 0; border-radius: 9px; color: white; cursor: pointer; font-weight: 800; min-height: 42px; padding: 0.65rem 1rem; }
.supplier-catalogue-filters > a { color: #60786e; font-size: 0.72rem; font-weight: 800; padding: 0.7rem; }

.supplier-product-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.supplier-product-grid--dashboard { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.supplier-product-card { background: white; border: 1px solid #dce9e5; border-radius: 14px; color: inherit; min-width: 0; overflow: hidden; transition: box-shadow 0.18s ease, transform 0.18s ease; }
.supplier-product-card:hover { box-shadow: 0 12px 28px rgba(21, 79, 88, 0.09); transform: translateY(-2px); }
.supplier-product-card.is-hidden { opacity: 0.7; }
.supplier-product-image { background: #e8f1ef; display: block; height: 180px; overflow: hidden; position: relative; }
.supplier-product-image img { height: 100%; object-fit: cover; transition: transform 0.25s ease; width: 100%; }
.supplier-product-card:hover .supplier-product-image img { transform: scale(1.025); }
.supplier-product-image > span { background: #29475d; border-radius: 999px; color: white; font-size: 0.62rem; font-weight: 850; left: 0.7rem; padding: 0.35rem 0.55rem; position: absolute; top: 0.7rem; }
.supplier-product-copy { padding: 0.9rem; }
.supplier-product-badges { align-items: center; display: flex; gap: 0.45rem; justify-content: space-between; }
.supplier-product-badges > span { color: #0f766e; font-size: 0.62rem; font-weight: 850; text-transform: uppercase; }
.stock-badge { background: #e5f5ee; border-radius: 999px; color: #26744b; font-size: 0.58rem; padding: 0.32rem 0.48rem; }
.stock-badge--limited { background: #eeeafa; color: #6650a8; }
.stock-badge--out_of_stock { background: #f9e7e7; color: #a64040; }
.supplier-product-copy h2 { font-size: 0.98rem; margin: 0.55rem 0 0.25rem; }
.supplier-product-copy h2 a { color: #173d5c; text-decoration: none; }
.supplier-product-copy > p { color: #71837c; font-size: 0.68rem; margin: 0; }
.supplier-product-price { border-top: 1px solid #e6eeeb; color: #0f766e; margin-top: 0.75rem; padding-top: 0.7rem; }
.supplier-product-price strong { font-size: 0.8rem; }
.supplier-product-actions { display: flex; gap: 0.45rem; margin-top: 0.7rem; }
.supplier-product-actions a { border: 1px solid #cfe1dc; border-radius: 7px; color: #0f766e; flex: 1; font-size: 0.67rem; font-weight: 800; padding: 0.48rem; text-align: center; text-decoration: none; }
.supplier-product-actions a:last-child { background: #e7f4f0; border-color: #e7f4f0; }
.supplier-product-empty { margin-top: 0.5rem; }
.marketplace-form-shell { max-width: 980px; }
.marketplace-form-shell .equipment-form-intro .dashboard-label { display: block; margin-top: 0.9rem; }

.supplier-product-detail { background: white; border: 1px solid #dce9e5; border-radius: 18px; display: grid; gap: 2rem; grid-template-columns: minmax(280px, 0.8fr) minmax(0, 1.2fr); overflow: hidden; padding: 1.4rem; }
.supplier-product-detail-image { background: #e8f1ef; border-radius: 14px; min-height: 420px; overflow: hidden; }
.supplier-product-detail-image img { height: 100%; object-fit: cover; width: 100%; }
.supplier-product-detail-copy { padding: 0.7rem 0.7rem 0.7rem 0; }
.supplier-product-detail-copy h1 { color: #173d5c; font-size: clamp(1.8rem, 4vw, 2.6rem); margin: 0.8rem 0; }
.supplier-product-description { color: #536b62; line-height: 1.65; }
.supplier-product-detail-price { background: #eaf6f2; border-radius: 11px; color: #0f766e; display: grid; gap: 0.15rem; margin: 1rem 0; padding: 0.9rem; }
.supplier-product-detail-price small { color: #60786e; font-size: 0.65rem; }
.supplier-product-detail-price strong { font-size: 1.15rem; }
.supplier-product-metadata { display: grid; gap: 0.6rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.supplier-product-metadata > div { background: #f6faf9; border-radius: 9px; padding: 0.75rem; }
.supplier-product-metadata dt { color: #71837c; font-size: 0.64rem; }
.supplier-product-metadata dd { color: #29475d; font-size: 0.74rem; font-weight: 800; margin: 0.2rem 0 0; }

@media (max-width: 1180px) {
    .supplier-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
    .supplier-catalogue-heading { align-items: stretch; flex-direction: column; }
    .supplier-catalogue-heading .edit-profile-button { align-self: flex-start; }
    .supplier-product-grid, .supplier-product-grid--dashboard { grid-template-columns: 1fr; }
    .supplier-product-detail { grid-template-columns: 1fr; }
    .supplier-product-detail-image { min-height: 300px; }
    .supplier-product-detail-copy { padding: 0.3rem; }
}

@media (max-width: 520px) {
    .supplier-product-metadata { grid-template-columns: 1fr; }
    .supplier-catalogue-filters button { width: 100%; }
}

/* Facility marketplace and quotation workflow */
.marketplace-main, .quotations-main, .quote-form-main { max-width: 1440px; }
.marketplace-hero, .quotation-heading { align-items: center; background: linear-gradient(120deg, #0b4f74, #0d7169 72%, #18877d); border-radius: 20px; color: white; display: flex; gap: 2rem; justify-content: space-between; overflow: hidden; padding: 1.8rem 2rem; position: relative; }
.marketplace-hero::after, .quotation-heading::after { border: 1px solid rgba(255,255,255,.13); border-radius: 50%; content: ""; height: 220px; position: absolute; right: -80px; top: -115px; width: 220px; }
.marketplace-hero > div, .quotation-heading > div, .marketplace-hero > a, .quotation-heading > a { position: relative; z-index: 1; }
.marketplace-hero .dashboard-label, .quotation-heading .dashboard-label { color: #bfeee5; }
.marketplace-hero h1, .quotation-heading h1 { color: white; font-size: clamp(1.65rem, 3vw, 2.25rem); margin: .25rem 0 .4rem; }
.marketplace-hero p, .quotation-heading p { color: #d8eeea; line-height: 1.55; margin: 0; max-width: 700px; }
.marketplace-hero > a, .quotation-heading > a { background: #dff7f0; border-radius: 10px; color: #0b655f; flex: 0 0 auto; font-size: .76rem; font-weight: 850; padding: .82rem 1rem; text-decoration: none; }
.marketplace-filters { align-items: end; background: white; border: 1px solid #dce9e5; border-radius: 15px; display: flex; flex-wrap: wrap; gap: .65rem; margin: 1rem 0; padding: 1rem; }
.marketplace-filters label { display: grid; flex: 1 1 170px; gap: .3rem; }.marketplace-filters .marketplace-search { flex: 2 1 300px; }
.marketplace-filters label span { color: #536d63; font-size: .67rem; font-weight: 850; }
.marketplace-filters input, .marketplace-filters select { background: #f9fbfa; border: 1px solid #cfdfda; border-radius: 9px; color: #29475d; font: inherit; font-size: .75rem; min-height: 43px; padding: .65rem .75rem; }
.marketplace-filters button { background: #0f766e; border: 0; border-radius: 9px; color: white; cursor: pointer; font-weight: 850; min-height: 43px; padding: .65rem 1rem; }.marketplace-filters > a { color: #60786e; font-size: .7rem; font-weight: 800; padding: .72rem .3rem; }
.marketplace-product-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0,1fr)); }
.marketplace-product-card { background: white; border: 1px solid #dce9e5; border-radius: 15px; overflow: hidden; transition: box-shadow .18s ease, transform .18s ease; }.marketplace-product-card:hover { box-shadow: 0 14px 30px rgba(21,79,88,.1); transform: translateY(-3px); }
.marketplace-product-image { background: #e8f1ef; display: block; height: 210px; overflow: hidden; position: relative; }.marketplace-product-image img { height: 100%; object-fit: cover; transition: transform .25s ease; width: 100%; }.marketplace-product-card:hover img { transform: scale(1.025); }
.marketplace-product-image span { background: rgba(11,79,116,.93); border-radius: 999px; color: white; font-size: .6rem; font-weight: 850; padding: .38rem .58rem; position: absolute; right: .7rem; top: .7rem; }
.marketplace-product-copy { padding: 1rem; }.marketplace-product-copy > small { color: #0f766e; font-size: .6rem; font-weight: 900; text-transform: uppercase; }.marketplace-product-copy h2 { font-size: 1rem; margin: .4rem 0 .2rem; }.marketplace-product-copy h2 a { color: #173d5c; text-decoration: none; }.marketplace-product-copy > p { color: #71837c; font-size: .68rem; margin: 0; }
.marketplace-supplier-line { border-top: 1px solid #e7eeec; display: grid; gap: .12rem; margin-top: .75rem; padding-top: .7rem; }.marketplace-supplier-line span { color: #29475d; font-size: .7rem; font-weight: 800; }.marketplace-supplier-line small { color: #7d9189; font-size: .62rem; }
.marketplace-product-copy footer { align-items: center; display: flex; gap: .6rem; justify-content: space-between; margin-top: .8rem; }.marketplace-product-copy footer strong { color: #0f766e; font-size: .8rem; }.marketplace-product-copy footer a, .marketplace-empty a { background: #e5f5f0; border-radius: 8px; color: #0f766e; font-size: .67rem; font-weight: 850; padding: .55rem .65rem; text-decoration: none; }
.marketplace-empty { align-items: center; background: white; border: 1px dashed #bfd5cf; border-radius: 16px; display: flex; flex-direction: column; margin-top: 1rem; padding: 3rem 1rem; text-align: center; }.marketplace-empty > span { align-items: center; background: #e5f5f0; border-radius: 50%; color: #0f766e; display: flex; font-size: 1.3rem; height: 52px; justify-content: center; width: 52px; }.marketplace-empty h2 { color: #173d5c; margin: .8rem 0 .2rem; }.marketplace-empty p { color: #71837c; margin: 0 0 .9rem; }
.marketplace-back { color: #0f766e; display: inline-block; font-size: .72rem; font-weight: 850; margin-bottom: .8rem; text-decoration: none; }
.marketplace-detail { background: white; border: 1px solid #dce9e5; border-radius: 18px; display: grid; gap: 2rem; grid-template-columns: minmax(300px,.9fr) minmax(0,1.1fr); padding: 1.4rem; }.marketplace-detail-image { background: #e8f1ef; border-radius: 14px; min-height: 460px; overflow: hidden; }.marketplace-detail-image img { height: 100%; object-fit: cover; width: 100%; }.marketplace-detail-copy { padding: .7rem .7rem .7rem 0; }.marketplace-detail-copy h1 { color: #173d5c; font-size: clamp(1.8rem,4vw,2.7rem); margin: .7rem 0 .3rem; }.marketplace-manufacturer { color: #71837c; font-size: .78rem; }.marketplace-description { color: #536b62; line-height: 1.65; }
.marketplace-price { background: linear-gradient(135deg,#e7f6f1,#f3faf8); border: 1px solid #d6ebe5; border-radius: 12px; display: grid; gap: .2rem; margin: 1rem 0; padding: 1rem; }.marketplace-price small, .marketplace-price span { color: #668078; font-size: .65rem; }.marketplace-price strong { color: #0f766e; font-size: 1.2rem; }.marketplace-primary-action { background: #0f766e; border-radius: 10px; color: white; display: inline-block; font-size: .78rem; font-weight: 850; margin-top: 1rem; padding: .8rem 1rem; text-decoration: none; }
.quote-form-layout { align-items: start; display: grid; gap: 1.2rem; grid-template-columns: minmax(0,1.35fr) minmax(280px,.65fr); }.quote-form-card, .quote-product-summary, .quote-request-summary { background: white; border: 1px solid #dce9e5; border-radius: 17px; padding: 1.4rem; }.quote-form-card h1 { color: #173d5c; font-size: 1.55rem; margin: .3rem 0; }.quote-form-card > p { color: #71837c; font-size: .75rem; margin: 0 0 1rem; }
.marketplace-quote-form { display: grid; gap: .85rem; grid-template-columns: repeat(2,minmax(0,1fr)); }.marketplace-quote-form label { display: grid; gap: .3rem; }.marketplace-quote-form label:has(textarea), .quote-delivery-note, .marketplace-quote-form > button, .form-errors { grid-column: 1 / -1; }.marketplace-quote-form label > span { color: #3e5d53; font-size: .7rem; font-weight: 850; }.marketplace-quote-form label b { background: #e7f4f0; border-radius: 999px; color: #0f766e; font-size: .53rem; margin-left: .35rem; padding: .22rem .38rem; text-transform: uppercase; }
.marketplace-quote-form input, .marketplace-quote-form select, .marketplace-quote-form textarea { background: #fbfdfc; border: 1px solid #cfdfda; border-radius: 9px; box-sizing: border-box; color: #29475d; font: inherit; font-size: .75rem; padding: .7rem .75rem; width: 100%; }.marketplace-quote-form small { color: #81928c; font-size: .62rem; }.marketplace-quote-form em, .form-errors { color: #a64040; font-size: .65rem; font-style: normal; }.marketplace-quote-form > button { background: #0f766e; border: 0; border-radius: 10px; color: white; cursor: pointer; font-weight: 850; padding: .8rem; }
.quote-delivery-note { background: #eef8f5; border-radius: 10px; padding: .8rem; }.quote-delivery-note strong { color: #0f766e; font-size: .7rem; }.quote-delivery-note p { color: #29475d; font-size: .72rem; margin: .2rem 0; }.quote-product-summary, .quote-request-summary { position: sticky; top: 88px; }.quote-product-summary > img { border-radius: 11px; height: 190px; object-fit: cover; width: 100%; }.quote-product-summary > small { color: #0f766e; display: block; font-size: .6rem; font-weight: 850; margin-top: .8rem; text-transform: uppercase; }.quote-product-summary h2, .quote-request-summary h2 { color: #173d5c; font-size: 1.08rem; margin: .35rem 0; }.quote-product-summary > p, .quote-request-summary > p { color: #71837c; font-size: .7rem; }
.quote-product-summary dl, .quote-request-summary dl { display: grid; margin: 1rem 0 0; }.quote-product-summary dl div, .quote-request-summary dl div { border-top: 1px solid #e7eeec; display: flex; gap: .8rem; justify-content: space-between; padding: .65rem 0; }.quote-product-summary dt, .quote-request-summary dt { color: #71837c; font-size: .65rem; }.quote-product-summary dd, .quote-request-summary dd { color: #29475d; font-size: .67rem; font-weight: 800; margin: 0; text-align: right; }.quote-request-summary blockquote { background: #f2f7f5; border-left: 3px solid #0f766e; color: #526d64; font-size: .7rem; line-height: 1.55; margin: .8rem 0; padding: .7rem; }.quote-request-summary > small { color: #7c9189; font-size: .62rem; }
.quotation-list, .supplier-quote-list { display: grid; gap: .85rem; margin-top: 1rem; }.quotation-card { align-items: start; background: white; border: 1px solid #dce9e5; border-left: 4px solid #6e9e95; border-radius: 14px; display: grid; gap: 1rem; grid-template-columns: 100px minmax(0,1fr); padding: 1rem; }.quotation-card--quoted { border-left-color: #0f766e; }.quotation-card--accepted { border-left-color: #26744b; }.quotation-card--rejected { border-left-color: #a64040; }.quotation-product-thumb { background: #e8f1ef; border-radius: 10px; height: 100px; overflow: hidden; width: 100px; }.quotation-product-thumb img { height: 100%; object-fit: cover; width: 100%; }
.quotation-card-top { align-items: center; display: flex; gap: .6rem; justify-content: space-between; }.quotation-status { background: #e7f4f0; border-radius: 999px; color: #0f766e; display: inline-block; font-size: .6rem; font-weight: 850; padding: .36rem .55rem; }.quotation-card-top time { color: #83958f; font-size: .62rem; }.quotation-card-main h2 { color: #173d5c; font-size: 1rem; margin: .45rem 0 .18rem; }.quotation-card-main > p { color: #71837c; font-size: .69rem; margin: 0; }.quotation-card-main blockquote { background: #f5f9f8; border-left: 3px solid #b9d6ce; color: #5b746b; font-size: .68rem; margin: .7rem 0; padding: .6rem .7rem; }
.quotation-breakdown { background: #f7faf9; border-radius: 10px; display: grid; gap: .45rem; margin-top: .8rem; padding: .75rem; }.quotation-breakdown > div { display: flex; gap: 1rem; justify-content: space-between; }.quotation-breakdown span { color: #71837c; font-size: .65rem; }.quotation-breakdown strong { color: #29475d; font-size: .68rem; }.quotation-breakdown .quotation-total { border-top: 1px solid #dce8e4; margin-top: .2rem; padding-top: .55rem; }.quotation-breakdown .quotation-total strong { color: #0f766e; font-size: .8rem; }.quotation-terms { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: .65rem; }.quotation-terms span, .quotation-note { color: #687f76; font-size: .65rem; }
.quotation-decisions { display: flex; gap: .55rem; margin-top: .8rem; }.quotation-decisions button { border: 0; border-radius: 8px; cursor: pointer; font-size: .68rem; font-weight: 850; padding: .62rem .75rem; }.quotation-decisions .accept { background: #0f766e; color: white; }.quotation-decisions .reject { background: #f5eaea; color: #993f3f; }.quotation-waiting { background: #edf5f7; border-radius: 8px; color: #3f6877 !important; margin-top: .8rem !important; padding: .65rem; }
.quotation-contact { align-items: center; background: #e8f6f0; border: 1px solid #cce8dd; border-radius: 9px; display: flex; flex-wrap: wrap; gap: .55rem; margin-top: .8rem; padding: .7rem; }.quotation-contact strong { color: #176c57; font-size: .66rem; }.quotation-contact span, .quotation-contact a { color: #365e52; font-size: .65rem; }.quotation-contact--compact { margin-top: .55rem; padding: .5rem; }
.supplier-quote-card { align-items: center; background: white; border: 1px solid #dce9e5; border-radius: 14px; display: grid; gap: 1rem; grid-template-columns: 48px minmax(0,1fr) auto; padding: 1rem; }.supplier-quote-icon { align-items: center; background: #e4f4ef; border-radius: 11px; color: #0f766e; display: flex; font-size: .75rem; font-weight: 900; height: 48px; justify-content: center; }.supplier-quote-card h2 { color: #173d5c; font-size: .92rem; margin: .35rem 0 .15rem; }.supplier-quote-card p { color: #71837c; font-size: .68rem; margin: 0; }.supplier-quote-card > div > small { color: #81928c; display: block; font-size: .63rem; margin-top: .35rem; }.supplier-quote-action { align-items: flex-end; display: grid; gap: .45rem; justify-items: end; }.supplier-quote-action > strong { color: #0f766e; font-size: .73rem; }.supplier-quote-action a { background: #0f766e; border-radius: 8px; color: white; font-size: .67rem; font-weight: 850; padding: .58rem .7rem; text-decoration: none; }.supplier-quote-action span { color: #6b8179; font-size: .65rem; font-weight: 800; }
@media (max-width: 1100px) { .marketplace-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 780px) { .marketplace-hero, .quotation-heading { align-items: flex-start; flex-direction: column; }.marketplace-detail, .quote-form-layout { grid-template-columns: 1fr; }.marketplace-detail-image { min-height: 300px; }.quote-product-summary, .quote-request-summary { position: static; } }
@media (max-width: 620px) { .marketplace-product-grid, .marketplace-quote-form { grid-template-columns: 1fr; }.marketplace-quote-form label:has(textarea), .quote-delivery-note, .marketplace-quote-form > button, .form-errors { grid-column: auto; }.quotation-card { grid-template-columns: 70px minmax(0,1fr); }.quotation-product-thumb { height: 70px; width: 70px; }.supplier-quote-card { align-items: start; grid-template-columns: 42px minmax(0,1fr); }.supplier-quote-action { grid-column: 2; justify-items: start; }.quotation-decisions { flex-wrap: wrap; } }

/* Purchase orders */
.orders-main, .order-detail-main { max-width: 1440px; }
.order-stats { display: grid; gap: .85rem; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 1rem 0; }.order-stats article { background: white; border: 1px solid #dce9e5; border-radius: 13px; display: grid; gap: .15rem; padding: 1rem; }.order-stats span { color: #647b72; font-size: .66rem; font-weight: 800; }.order-stats strong { color: #173d5c; font-size: 1.4rem; }.order-stats small { color: #879790; font-size: .62rem; }
.order-list { display: grid; gap: .75rem; margin-top: 1rem; }.order-list-card { align-items: center; background: white; border: 1px solid #dce9e5; border-radius: 14px; color: inherit; display: grid; gap: .9rem; grid-template-columns: 48px minmax(0,1fr) auto; padding: 1rem; text-decoration: none; transition: border .18s ease, transform .18s ease; }.order-list-card:hover { border-color: #93c8bb; transform: translateY(-2px); }.order-list-icon { align-items: center; background: #e5f5f0; border-radius: 11px; color: #0f766e; display: flex; font-weight: 900; height: 48px; justify-content: center; }.order-list-card small { color: #0f766e; font-size: .62rem; font-weight: 800; }.order-list-card h2 { color: #173d5c; font-size: .92rem; margin: .25rem 0 .15rem; }.order-list-card p { color: #71837c; font-size: .67rem; margin: 0; }.order-list-value { align-items: flex-end; display: grid; gap: .4rem; justify-items: end; }.order-list-value > strong { color: #173d5c; font-size: .75rem; }.order-list-value > b { color: #0f766e; font-size: .65rem; }
.order-status { background: #e8f1f5; border-radius: 999px; color: #32627a; display: inline-block; font-size: .6rem; font-weight: 850; padding: .38rem .58rem; }.order-status--processing { background: #eeeafa; color: #6650a8; }.order-status--dispatched { background: #e5f5f0; color: #0f766e; }.order-status--completed { background: #e2f5ea; color: #26744b; }.order-status--cancelled { background: #f7e8e8; color: #9b4141; }
.order-detail-hero { align-items: center; background: linear-gradient(118deg,#0b4f74,#0d7169); border-radius: 18px; color: white; display: flex; gap: 1.5rem; justify-content: space-between; margin-bottom: 1rem; padding: 1.5rem 1.7rem; }.order-detail-hero h1 { color: white; font-size: 1.6rem; margin: .55rem 0 .2rem; }.order-detail-hero p { color: #d6ebe7; font-size: .74rem; margin: 0; }.order-detail-hero > strong { font-size: 1.2rem; }
.order-detail-grid { align-items: start; display: grid; gap: 1rem; grid-template-columns: minmax(0,1.3fr) minmax(300px,.7fr); }.order-panel { background: white; border: 1px solid #dce9e5; border-radius: 16px; padding: 1.3rem; }.order-panel h2 { color: #173d5c; font-size: 1rem; margin: 0 0 1rem; }
.order-timeline { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin-bottom: 1.2rem; }.order-timeline > div { display: grid; gap: .25rem; padding-right: .5rem; position: relative; }.order-timeline > div::after { background: #d9e5e1; content: ""; height: 2px; left: 34px; position: absolute; right: 0; top: 16px; }.order-timeline > div:last-child::after { display: none; }.order-timeline span { align-items: center; background: #edf2f1; border-radius: 50%; color: #81928c; display: flex; font-size: .64rem; font-weight: 900; height: 32px; justify-content: center; position: relative; width: 32px; z-index: 1; }.order-timeline .is-done span { background: #0f766e; color: white; }.order-timeline .is-done::after { background: #8fc9ba; }.order-timeline strong { color: #29475d; font-size: .68rem; }.order-timeline small { color: #81928c; font-size: .58rem; }
.order-action-form button { background: #0f766e; border: 0; border-radius: 9px; color: white; cursor: pointer; font-weight: 850; padding: .72rem .9rem; }.order-dispatch-form { background: #f6faf9; border-radius: 11px; padding: .9rem; }.order-awaiting, .order-complete { background: #edf5f7; border-radius: 9px; color: #3f6877; font-size: .7rem; padding: .75rem; }.order-complete { background: #e5f5ed; color: #26744b; }
.order-summary dl { display: grid; margin: 0; }.order-summary dl > div { border-bottom: 1px solid #e7eeec; display: flex; gap: .8rem; justify-content: space-between; padding: .62rem 0; }.order-summary dt { color: #71837c; font-size: .63rem; }.order-summary dd { color: #29475d; font-size: .66rem; font-weight: 800; margin: 0; max-width: 65%; text-align: right; }.order-summary a { color: #0f766e; }.order-price-lines { background: #f5f9f8; border-radius: 10px; margin-top: .8rem; padding: .7rem; }.order-price-lines p { display: flex; gap: .8rem; justify-content: space-between; margin: 0; padding: .35rem 0; }.order-price-lines span { color: #71837c; font-size: .63rem; }.order-price-lines strong { color: #29475d; font-size: .66rem; }.order-price-lines p:last-child { border-top: 1px solid #d8e5e1; margin-top: .25rem; padding-top: .6rem; }.order-price-lines p:last-child strong { color: #0f766e; font-size: .76rem; }.order-delivery-box { background: #e7f5f1; border: 1px solid #cde7df; border-radius: 9px; display: grid; gap: .2rem; margin: .8rem 0; padding: .75rem; }.order-delivery-box strong { color: #176c57; font-size: .7rem; }.order-delivery-box span, .order-delivery-box p { color: #526f65; font-size: .64rem; margin: 0; }
@media (max-width: 800px) { .order-detail-grid { grid-template-columns: 1fr; }.order-detail-hero { align-items: flex-start; flex-direction: column; } }
@media (max-width: 640px) { .order-stats { grid-template-columns: 1fr; }.order-list-card { align-items: start; grid-template-columns: 42px minmax(0,1fr); }.order-list-icon { height: 42px; }.order-list-value { grid-column: 2; justify-items: start; }.order-timeline { gap: .7rem; grid-template-columns: 1fr; }.order-timeline > div { grid-template-columns: 34px minmax(0,1fr); }.order-timeline > div::after { bottom: -8px; height: auto; left: 15px; right: auto; top: 32px; width: 2px; }.order-timeline strong, .order-timeline small { grid-column: 2; }.order-timeline small { margin-top: -.2rem; } }

/* Engineer view-only marketplace */
.engineer-marketplace-hero { background: linear-gradient(118deg,#0b4f74,#0f766e 76%,#238b80); }.view-only-badge { background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.22); border-radius: 999px; color: white; flex: 0 0 auto; font-size: .67rem; font-weight: 850; padding: .58rem .75rem; position: relative; z-index: 1; }.engineer-marketplace-notice { align-items: center; background: #eaf5f8; border: 1px solid #d3e8ee; border-radius: 11px; display: flex; gap: .65rem; margin-top: 1rem; padding: .75rem .9rem; }.engineer-marketplace-notice strong { color: #175f78; flex: 0 0 auto; font-size: .7rem; }.engineer-marketplace-notice p { color: #557581; font-size: .67rem; margin: 0; }.engineer-purchase-boundary { background: #eaf5f8; border: 1px solid #d3e8ee; border-radius: 10px; margin-top: 1rem; padding: .8rem; }.engineer-purchase-boundary strong { color: #175f78; font-size: .72rem; }.engineer-purchase-boundary p { color: #557581; font-size: .68rem; line-height: 1.5; margin: .25rem 0 0; }
@media (max-width: 650px) { .engineer-marketplace-notice { align-items: flex-start; flex-direction: column; }.view-only-badge { align-self: flex-start; } }

/* Facility dashboard visual refinement */
.facility-pro-dashboard .facility-workspace-content {
    background:
        radial-gradient(circle at 86% 7%, rgba(39, 174, 154, .10), transparent 20%),
        linear-gradient(145deg, #f4f8f7 0%, #edf4f3 100%);
}
.facility-pro-dashboard .facility-workspace-topbar {
    backdrop-filter: blur(14px);
    background: rgba(250, 253, 252, .88);
    box-shadow: 0 5px 22px rgba(22, 72, 80, .04);
}
.facility-pro-dashboard .facility-overview-main { max-width: 1380px; }
.facility-pro-dashboard .facility-command-hero {
    background:
        linear-gradient(90deg, rgba(8, 56, 83, .98), rgba(10, 96, 94, .94)),
        repeating-linear-gradient(90deg, transparent 0 38px, rgba(255,255,255,.03) 39px 40px);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 24px;
    box-shadow: 0 22px 50px rgba(10, 69, 85, .22);
    min-height: 170px;
    padding: 1.85rem 2rem;
}
.facility-pro-dashboard .facility-command-hero::before {
    background: linear-gradient(90deg, #61dcc4, #77c9ef);
    border-radius: 999px;
    bottom: 0;
    content: "";
    height: 4px;
    left: 2rem;
    position: absolute;
    width: 82px;
}
.facility-pro-dashboard .facility-command-hero::after {
    border: 26px solid rgba(255,255,255,.035);
    height: 260px;
    right: 30%;
    top: -164px;
    width: 260px;
}
.facility-pro-dashboard .facility-command-copy h1 { font-size: clamp(1.8rem, 3.4vw, 2.75rem); letter-spacing: -.035em; }
.facility-pro-dashboard .facility-command-meta span { color: #d5eeeb; font-weight: 650; }
.facility-health-panel {
    align-items: center;
    backdrop-filter: blur(8px);
    background: linear-gradient(145deg, rgba(255,255,255,.15), rgba(255,255,255,.07));
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 19px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.13);
    display: grid;
    flex: 0 0 auto;
    gap: .85rem;
    grid-template-columns: 62px minmax(135px,1fr) 32px;
    padding: .9rem 1rem;
    position: relative;
    z-index: 2;
}
.facility-health-ring {
    align-items: center;
    background: conic-gradient(#70e1c4 0 72%, rgba(255,255,255,.17) 72% 100%);
    border-radius: 50%;
    display: flex;
    height: 62px;
    justify-content: center;
    position: relative;
    width: 62px;
}
.facility-health-ring::after { background: #176a70; border-radius: 50%; content: ""; inset: 7px; position: absolute; }
.facility-health-ring span { color: white; font-size: 1.15rem; font-weight: 900; position: relative; z-index: 1; }
.facility-health-copy { display: grid; gap: .16rem; }
.facility-health-copy > small { color: #b9deda; font-size: .6rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.facility-health-copy > strong { color: white; font-size: .9rem; }
.facility-health-legend { display: flex; gap: .65rem; margin-top: .25rem; }
.facility-health-legend span { align-items: center; color: #cfe8e4; display: flex; font-size: .53rem; gap: .25rem; }
.facility-health-legend i { background: #70e1c4; border-radius: 50%; height: 5px; width: 5px; }
.facility-health-legend span:last-child i { background: #ffb17e; }
.facility-health-panel > a { align-items: center; background: rgba(255,255,255,.12); border-radius: 9px; color: white; display: flex; height: 32px; justify-content: center; text-decoration: none; width: 32px; }

.facility-pro-dashboard .dashboard-summary { margin: 1rem 0; }
.facility-pro-dashboard .dashboard-summary .summary-card {
    border: 0;
    border-radius: 17px;
    box-shadow: 0 10px 28px rgba(22, 71, 81, .08);
    overflow: hidden;
    position: relative;
}
.facility-pro-dashboard .dashboard-summary .summary-card::after { background: #1b9c8c; bottom: 0; content: ""; height: 3px; left: 0; position: absolute; right: 0; }
.facility-pro-dashboard .dashboard-summary .summary-card--requests::after { background: #2784b3; }
.facility-pro-dashboard .dashboard-summary .summary-card--attention::after { background: #df745f; }
.facility-pro-dashboard .dashboard-summary .summary-card--engineers::after { background: #4ca86a; }
.facility-pro-dashboard .summary-card-icon { box-shadow: 0 7px 16px rgba(15,118,110,.12); }

.facility-pro-dashboard .facility-screen-actions { gap: .85rem; margin-bottom: 1rem; }
.facility-pro-dashboard .facility-screen-actions > a {
    border: 0;
    border-radius: 17px;
    box-shadow: 0 10px 24px rgba(17, 64, 79, .10);
    min-height: 78px;
    overflow: hidden;
    padding: .9rem;
    position: relative;
}
.facility-pro-dashboard .facility-screen-actions > a::after { background: rgba(255,255,255,.08); border-radius: 50%; content: ""; height: 95px; position: absolute; right: -44px; top: -45px; width: 95px; }
.facility-pro-dashboard .facility-screen-actions > a > span { background: rgba(255,255,255,.16); color: white; height: 40px; position: relative; width: 40px; z-index: 1; }
.facility-pro-dashboard .facility-screen-actions svg { fill: none; height: 21px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; width: 21px; }
.facility-pro-dashboard .facility-screen-actions strong { color: white; font-size: .75rem; }
.facility-pro-dashboard .facility-screen-actions small { color: rgba(255,255,255,.72); font-size: .53rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.facility-pro-dashboard .facility-screen-actions b { color: rgba(255,255,255,.75); position: relative; z-index: 1; }
.facility-pro-dashboard .facility-action--equipment { background: linear-gradient(135deg, #0e726b, #159c89); }
.facility-pro-dashboard .facility-action--service { background: linear-gradient(135deg, #0b5478, #147ea0); }
.facility-pro-dashboard .facility-action--engineer { background: linear-gradient(135deg, #185e69, #338d89); }
.facility-pro-dashboard .facility-action--market { background: linear-gradient(135deg, #17445f, #286a7c); }

.facility-pro-dashboard .facility-information {
    background: rgba(255,255,255,.94);
    border: 1px solid rgba(207,224,219,.9);
    box-shadow: 0 14px 34px rgba(20, 66, 78, .07);
}
.facility-pro-dashboard .facility-dashboard-focus-grid .facility-information:first-child { border-top: 4px solid #0f766e; }
.facility-pro-dashboard .facility-dashboard-focus-grid .facility-information:last-child { border-top: 4px solid #267b9e; }
.facility-pro-dashboard .section-heading .dashboard-label { letter-spacing: .16em; }
.facility-pro-dashboard .maintenance-summary { border: 0; box-shadow: inset 0 0 0 1px rgba(80,120,110,.08); }
.facility-pro-dashboard .dashboard-request-stats a { transition: background .18s ease, transform .18s ease; }
.facility-pro-dashboard .dashboard-request-stats a:hover { background: #ebf6f3; transform: translateX(3px); }
.facility-pro-dashboard .dashboard-equipment-card { border: 0; box-shadow: inset 0 0 0 1px #e0ebe8; }
.facility-pro-dashboard .engineer-card { border: 0; box-shadow: inset 0 0 0 1px #e0ebe8, 0 8px 22px rgba(20,66,78,.04); }

@media (max-width: 640px) {
    .facility-pro-dashboard .facility-command-hero { min-height: auto; padding: 1.35rem; }
    .facility-health-panel { grid-template-columns: 54px minmax(0,1fr) 30px; width: 100%; }
    .facility-health-ring { height: 54px; width: 54px; }
    .facility-pro-dashboard .facility-screen-actions > a { min-height: 70px; }
}

/* Facility dashboard colour system */
.facility-pro-dashboard .dashboard-summary .summary-card {
    border: 1px solid rgba(255,255,255,.8);
    box-shadow: 0 12px 28px rgba(20, 67, 79, .09), inset 0 1px 0 rgba(255,255,255,.8);
}
.facility-pro-dashboard .dashboard-summary .summary-card--equipment {
    background: linear-gradient(135deg, #dff6ef 0%, #f0fbf7 62%, #cceee4 100%);
}
.facility-pro-dashboard .dashboard-summary .summary-card--requests {
    background: linear-gradient(135deg, #e2f1f9 0%, #f1f8fc 62%, #cfe8f4 100%);
}
.facility-pro-dashboard .dashboard-summary .summary-card--attention {
    background: linear-gradient(135deg, #fff0ea 0%, #fff8f5 62%, #f9ded5 100%);
}
.facility-pro-dashboard .dashboard-summary .summary-card--engineers {
    background: linear-gradient(135deg, #e3f5e9 0%, #f3faf5 62%, #d2eddc 100%);
}
.facility-pro-dashboard .summary-card--equipment .summary-card-icon { background: #0f8b7d; color: white; }
.facility-pro-dashboard .summary-card--requests .summary-card-icon { background: #247da5; color: white; }
.facility-pro-dashboard .summary-card--attention .summary-card-icon { background: #d76b57; color: white; }
.facility-pro-dashboard .summary-card--engineers .summary-card-icon { background: #3e9560; color: white; }

.facility-pro-dashboard .facility-information {
    overflow: hidden;
    position: relative;
}
.facility-pro-dashboard .facility-information > * { position: relative; z-index: 1; }
.facility-pro-dashboard .facility-information::after {
    border: 22px solid rgba(35, 139, 124, .045);
    border-radius: 50%;
    content: "";
    height: 150px;
    pointer-events: none;
    position: absolute;
    right: -88px;
    top: -100px;
    width: 150px;
}
.facility-pro-dashboard .maintenance-schedule-section {
    background: linear-gradient(145deg, #effaf6 0%, #ffffff 58%, #e6f5f1 100%);
    border-color: #c9e6dd;
}
.facility-pro-dashboard .dashboard-request-center {
    background: linear-gradient(145deg, #edf7fb 0%, #ffffff 58%, #deeff6 100%);
    border-color: #c9dfeb;
}
.facility-pro-dashboard .dashboard-request-center::after { border-color: rgba(38, 123, 158, .055); }
.facility-pro-dashboard .dashboard-equipment-section {
    background: linear-gradient(145deg, #f1f9f8 0%, #ffffff 54%, #e5f1f4 100%);
    border-left: 4px solid #298d88;
}
.facility-pro-dashboard .nearby-engineers-section {
    background: linear-gradient(145deg, #edf8f1 0%, #ffffff 56%, #e1f2e8 100%);
    border-left: 4px solid #4a9d68;
}
.facility-pro-dashboard .nearby-engineers-section::after { border-color: rgba(74, 157, 104, .055); }

.facility-pro-dashboard .maintenance-schedule-list {
    background: rgba(255,255,255,.56);
    border-color: #cfe6df;
    box-shadow: 0 7px 18px rgba(24, 91, 82, .05);
}
.facility-pro-dashboard .maintenance-schedule-item { background: rgba(255,255,255,.72); }
.facility-pro-dashboard .maintenance-schedule-item:hover { background: #e3f5ef; }
.facility-pro-dashboard .dashboard-request-stats a:nth-child(1) { background: linear-gradient(90deg, #fff0ec, #fff8f5); color: #8f4c43; }
.facility-pro-dashboard .dashboard-request-stats a:nth-child(2) { background: linear-gradient(90deg, #e5f2f8, #f2f8fb); color: #386d86; }
.facility-pro-dashboard .dashboard-request-stats a:nth-child(3) { background: linear-gradient(90deg, #e5f6ed, #f1faf5); color: #3e7653; }
.facility-pro-dashboard .dashboard-request-stats a:nth-child(1) strong { color: #c75c4d; }
.facility-pro-dashboard .dashboard-request-stats a:nth-child(2) strong { color: #247da5; }
.facility-pro-dashboard .dashboard-request-stats a:nth-child(3) strong { color: #3e9560; }

.facility-pro-dashboard .dashboard-equipment-card:nth-child(3n + 1) { background: linear-gradient(135deg, #e6f6f1, #f7fbfa); }
.facility-pro-dashboard .dashboard-equipment-card:nth-child(3n + 2) { background: linear-gradient(135deg, #e8f3f8, #f7fbfc); }
.facility-pro-dashboard .dashboard-equipment-card:nth-child(3n) { background: linear-gradient(135deg, #edf5ec, #fafcf9); }
.facility-pro-dashboard .dashboard-equipment-thumbnail { background: linear-gradient(145deg, #bde7db, #e5f6f1); box-shadow: inset 0 0 0 1px rgba(15,118,110,.08); }
.facility-pro-dashboard .engineer-card:nth-child(3n + 1) { background: linear-gradient(145deg, #e9f7f2, #fbfdfc); }
.facility-pro-dashboard .engineer-card:nth-child(3n + 2) { background: linear-gradient(145deg, #eaf4f8, #fbfdfd); }
.facility-pro-dashboard .engineer-card:nth-child(3n) { background: linear-gradient(145deg, #edf7ee, #fcfdfc); }
.facility-pro-dashboard .engineer-avatar { background: linear-gradient(145deg, #0f766e, #36a993); color: white; box-shadow: 0 7px 16px rgba(15,118,110,.18); }

.facility-pro-dashboard .section-heading .equipment-secondary-action {
    background: rgba(255,255,255,.64);
    border-color: rgba(76, 139, 125, .24);
    box-shadow: 0 5px 14px rgba(25, 82, 78, .05);
}

/* Professional engineer dashboard */
.engineer-pro-dashboard .engineer-workspace-content {
    background:
        radial-gradient(circle at 88% 8%, rgba(54, 169, 147, .12), transparent 20%),
        radial-gradient(circle at 64% 35%, rgba(36, 125, 165, .07), transparent 22%),
        linear-gradient(145deg, #f2f8f6 0%, #eaf2f2 100%);
}
.engineer-pro-dashboard .engineer-workspace-topbar {
    backdrop-filter: blur(14px);
    background: rgba(250,253,252,.88);
    box-shadow: 0 5px 22px rgba(22,72,80,.04);
}
.engineer-pro-dashboard .engineer-overview-main { max-width: 1380px; padding-top: 1.25rem; }
.engineer-pro-dashboard .engineer-hero {
    background:
        linear-gradient(100deg, rgba(8,54,82,.98), rgba(12,111,103,.94)),
        repeating-linear-gradient(90deg, transparent 0 38px, rgba(255,255,255,.04) 39px 40px);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 24px;
    box-shadow: 0 22px 48px rgba(10,69,85,.21);
    min-height: 138px;
    padding: 1.55rem 1.8rem;
}
.engineer-pro-dashboard .engineer-hero::before {
    background: linear-gradient(90deg,#68dfc5,#71c5ea);
    border-radius: 999px;
    bottom: 0;
    content: "";
    height: 4px;
    left: 1.8rem;
    position: absolute;
    width: 76px;
}
.engineer-pro-dashboard .engineer-hero::after { border-width: 24px; height: 245px; right: 29%; top: -155px; width: 245px; }
.engineer-pro-dashboard .engineer-hero h1 { font-size: clamp(2rem,3.8vw,2.75rem); letter-spacing: -.035em; margin-top: .38rem; }
.engineer-pro-dashboard .engineer-status-control {
    backdrop-filter: blur(8px);
    background: linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.08));
    border-color: rgba(255,255,255,.24);
    border-radius: 17px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
}

.engineer-pro-dashboard .engineer-stat-grid { gap: .78rem; margin: .95rem 0; }
.engineer-pro-dashboard .engineer-stat-card {
    border: 1px solid rgba(255,255,255,.8);
    border-radius: 17px;
    box-shadow: 0 11px 26px rgba(20,67,79,.09), inset 0 1px 0 rgba(255,255,255,.8);
    min-height: 80px;
    overflow: hidden;
    padding: .82rem;
    position: relative;
}
.engineer-pro-dashboard .engineer-stat-card::after { bottom: 0; content: ""; height: 3px; left: 0; position: absolute; right: 0; }
.engineer-pro-dashboard .engineer-stat-card--opportunities { background: linear-gradient(135deg,#dff6ef,#f0fbf7 62%,#cceee4); }
.engineer-pro-dashboard .engineer-stat-card--assigned { background: linear-gradient(135deg,#e2f1f9,#f1f8fc 62%,#cfe8f4); }
.engineer-pro-dashboard .engineer-stat-card--review { background: linear-gradient(135deg,#efeafb,#faf8fd 62%,#e2d9f5); }
.engineer-pro-dashboard .engineer-stat-card--completed { background: linear-gradient(135deg,#e3f5e9,#f3faf5 62%,#d2eddc); }
.engineer-pro-dashboard .engineer-stat-card--opportunities::after { background:#169786; }
.engineer-pro-dashboard .engineer-stat-card--assigned::after { background:#247da5; }
.engineer-pro-dashboard .engineer-stat-card--review::after { background:#7560b0; }
.engineer-pro-dashboard .engineer-stat-card--completed::after { background:#40975f; }
.engineer-pro-dashboard .engineer-stat-card .engineer-stat-icon { color:white; height:42px; width:42px; }
.engineer-pro-dashboard .engineer-stat-card--opportunities .engineer-stat-icon { background:#0f8b7d; }
.engineer-pro-dashboard .engineer-stat-card--assigned .engineer-stat-icon { background:#247da5; }
.engineer-pro-dashboard .engineer-stat-card--review .engineer-stat-icon { background:#7560b0; }
.engineer-pro-dashboard .engineer-stat-card--completed .engineer-stat-icon { background:#40975f; }
.engineer-pro-dashboard .engineer-stat-card div > strong { font-size:1.35rem; }
.engineer-pro-dashboard .engineer-stat-card > b { align-items:center; background:rgba(255,255,255,.52); border-radius:8px; display:flex; height:28px; justify-content:center; width:28px; }

.engineer-pro-dashboard .engineer-dashboard-grid { gap:.9rem; }
.engineer-pro-dashboard .engineer-dashboard-primary,
.engineer-pro-dashboard .engineer-dashboard-secondary { gap:.9rem; }
.engineer-pro-dashboard .engineer-panel,
.engineer-pro-dashboard .engineer-side-card {
    border:1px solid rgba(204,225,219,.92);
    box-shadow:0 14px 34px rgba(20,66,78,.075);
    overflow:hidden;
    position:relative;
}
.engineer-pro-dashboard .engineer-panel > *,
.engineer-pro-dashboard .engineer-side-card > * { position:relative; z-index:1; }
.engineer-pro-dashboard .engineer-panel::after,
.engineer-pro-dashboard .engineer-side-card::after {
    border:22px solid rgba(35,139,124,.045);
    border-radius:50%;
    content:"";
    height:150px;
    pointer-events:none;
    position:absolute;
    right:-90px;
    top:-105px;
    width:150px;
}
.engineer-pro-dashboard #assigned-jobs { background:linear-gradient(145deg,#eef9f6 0%,#fff 58%,#e4f3ef 100%); border-top:4px solid #0f8b7d; }
.engineer-pro-dashboard #opportunities { background:linear-gradient(145deg,#edf6fa 0%,#fff 58%,#dfeef5 100%); border-top:4px solid #247da5; }
.engineer-pro-dashboard #opportunities::after { border-color:rgba(36,125,165,.05); }
.engineer-pro-dashboard #service-reports { background:linear-gradient(145deg,#f4f0fb 0%,#fff 60%,#e9e2f6 100%); border-left:4px solid #7560b0; }
.engineer-pro-dashboard #service-reports::after { border-color:rgba(117,96,176,.05); }
.engineer-pro-dashboard #completed-work { background:linear-gradient(145deg,#edf8f1 0%,#fff 60%,#e1f2e8 100%); border-left:4px solid #40975f; }
.engineer-pro-dashboard .engineer-panel-heading { align-items:center; margin-bottom:.8rem; }
.engineer-pro-dashboard .engineer-panel-heading h2 { font-size:1.05rem; }
.engineer-pro-dashboard .engineer-panel-heading .dashboard-label { font-size:.58rem; letter-spacing:.16em; }

.engineer-pro-dashboard .engineer-work-list,
.engineer-pro-dashboard .engineer-report-list { background:rgba(255,255,255,.5); border-color:rgba(199,221,215,.9); box-shadow:0 7px 18px rgba(24,91,82,.04); }
.engineer-pro-dashboard .engineer-work-item { background:rgba(255,255,255,.7); }
.engineer-pro-dashboard .engineer-work-item--direct { background:linear-gradient(90deg,#e7f3f8,#f8fcfd); }
.engineer-pro-dashboard .engineer-work-item--active { background:linear-gradient(90deg,#e8f7f1,#fafdfc); }
.engineer-pro-dashboard .engineer-opportunity-card { border:0; box-shadow:inset 0 0 0 1px rgba(191,216,220,.8),0 8px 20px rgba(24,73,88,.05); min-height:175px; }
.engineer-pro-dashboard .engineer-opportunity-card:nth-child(4n+1) { background:linear-gradient(145deg,#e6f5f1,#fbfdfc); }
.engineer-pro-dashboard .engineer-opportunity-card:nth-child(4n+2) { background:linear-gradient(145deg,#e8f3f8,#fbfdfe); }
.engineer-pro-dashboard .engineer-opportunity-card:nth-child(4n+3) { background:linear-gradient(145deg,#f1ecf8,#fcfbfd); }
.engineer-pro-dashboard .engineer-opportunity-card:nth-child(4n) { background:linear-gradient(145deg,#e9f6ed,#fcfdfc); }
.engineer-pro-dashboard .engineer-opportunity-card > p { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.engineer-pro-dashboard .engineer-compact-empty,
.engineer-pro-dashboard .engineer-empty-state { background:rgba(255,255,255,.55); }

.engineer-pro-dashboard .engineer-profile-card { border-radius:19px; box-shadow:0 18px 36px rgba(10,73,84,.18); overflow:hidden; position:relative; }
.engineer-pro-dashboard .engineer-profile-card::after { border:20px solid rgba(255,255,255,.05); border-radius:50%; content:""; height:145px; position:absolute; right:-85px; top:-90px; width:145px; }
.engineer-pro-dashboard .engineer-profile-card > * { position:relative; z-index:1; }
.engineer-pro-dashboard .engineer-side-card:nth-child(2) { background:linear-gradient(145deg,#e8f6f1,#fbfdfc); border-left:4px solid #0f8b7d; }
.engineer-pro-dashboard .engineer-side-card:nth-child(3) { background:linear-gradient(145deg,#e9f3f8,#fbfdfe); border-left:4px solid #247da5; }
.engineer-pro-dashboard .engineer-specialization-tags span { background:linear-gradient(135deg,#cfece3,#e7f6f1); box-shadow:inset 0 0 0 1px rgba(15,118,110,.07); }
.engineer-pro-dashboard .engineer-document-list > a { background:rgba(255,255,255,.62); border-color:#d3e5e1; }

@media (max-width:640px) {
    .engineer-pro-dashboard .engineer-overview-main { padding:.9rem .8rem 3rem; }
    .engineer-pro-dashboard .engineer-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .engineer-pro-dashboard .engineer-stat-card { grid-template-columns:38px minmax(0,1fr); }
    .engineer-pro-dashboard .engineer-stat-card .engineer-stat-icon { height:38px; width:38px; }
    .engineer-pro-dashboard .engineer-stat-card > b { display:none; }
}

@media (max-width:410px) {
    .engineer-pro-dashboard .engineer-stat-grid { grid-template-columns:1fr; }
}

/* Legal pages and registration agreement */
.registration-form p:has(.legal-checkbox) {
    align-items: flex-start;
    background: linear-gradient(135deg,#eaf7f3,#f6fbf9);
    border: 1px solid #cce5de;
    border-radius: 12px;
    display: grid;
    gap: .7rem;
    grid-template-columns: 22px minmax(0,1fr);
    padding: .9rem;
}
.registration-form p:has(.legal-checkbox) label { grid-column: 2; margin: 0; }
.registration-form input.legal-checkbox { grid-column: 1; grid-row: 1; height: 18px; margin: .12rem 0 0; padding: 0; width: 18px; }
.registration-form p:has(.legal-checkbox) .errorlist { grid-column: 1 / -1; }
.registration-form p:has(.legal-checkbox) a { color:#0f766e; font-weight:850; }
.footer-legal-links { display:flex; flex-wrap:wrap; gap:1rem; }
.footer-legal-links a { color:#9fc1d8; font-weight:700; text-decoration:none; }
.footer-legal-links a:hover { color:#5eead4; }

.legal-body { background:#eef5f4; color:#29475d; font-family:Arial,Helvetica,sans-serif; margin:0; min-height:100vh; }
.legal-header {
    align-items:center;
    backdrop-filter:blur(14px);
    background:rgba(255,255,255,.92);
    border-bottom:1px solid #d8e7e3;
    display:flex;
    justify-content:space-between;
    min-height:72px;
    padding:.7rem max(1rem,calc((100vw - 1180px)/2));
    position:sticky;
    top:0;
    z-index:20;
}
.legal-logo { display:inline-flex; }
.legal-logo img { display:block; height:auto; width:154px; }
.legal-header nav { background:transparent; box-shadow:none; display:flex; gap:.35rem; padding:0; }
.legal-header nav a { border-radius:9px; color:#5b7169; font-size:.76rem; font-weight:800; padding:.62rem .78rem; text-decoration:none; }
.legal-header nav a:hover,.legal-header nav a.active { background:#e5f5f0; color:#0f766e; }
.legal-main { margin:0 auto; max-width:1180px; padding:1.5rem 1rem 4rem; }
.legal-hero {
    background:linear-gradient(118deg,#0a4668 0%,#0f766e 72%,#209084);
    border-radius:22px;
    box-shadow:0 20px 44px rgba(10,73,84,.18);
    color:white;
    overflow:hidden;
    padding:2.4rem 2.6rem;
    position:relative;
}
.legal-hero::after { border:30px solid rgba(255,255,255,.055); border-radius:50%; content:""; height:210px; position:absolute; right:8%; top:-135px; width:210px; }
.legal-hero--privacy { background:linear-gradient(118deg,#174a69,#247da5 58%,#278d88); }
.legal-hero > span { color:#86e4d3; font-size:.65rem; font-weight:900; letter-spacing:.18em; text-transform:uppercase; }
.legal-hero h1 { color:white; font-size:clamp(2rem,5vw,3.3rem); letter-spacing:-.04em; margin:.55rem 0 .35rem; position:relative; z-index:1; }
.legal-hero p { color:#d7eeea; margin:0 0 1rem; }
.legal-hero time { background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.16); border-radius:999px; color:#e5f4f1; display:inline-block; font-size:.65rem; font-weight:750; padding:.45rem .65rem; }
.legal-layout { align-items:start; display:grid; gap:1rem; grid-template-columns:225px minmax(0,1fr); margin-top:1rem; }
.legal-index { background:#123f59; border-radius:16px; display:grid; gap:.2rem; padding:1rem; position:sticky; text-align:left; top:88px; }
.legal-index strong { color:white; font-size:.72rem; margin:.3rem .45rem .65rem; }
.legal-index a { border-radius:8px; color:#bfdbd6; font-size:.67rem; padding:.52rem .55rem; text-decoration:none; }
.legal-index a:hover { background:rgba(255,255,255,.09); color:white; }
.legal-document { background:white; border:1px solid #d8e7e3; border-radius:18px; box-shadow:0 12px 34px rgba(20,66,78,.07); overflow:hidden; padding:1.8rem 2rem; text-align:left; }
.legal-document section { border-bottom:1px solid #e5eeeb; padding:1.1rem 0; scroll-margin-top:95px; }
.legal-document section:first-child { padding-top:0; }
.legal-document section:last-of-type { border-bottom:0; }
.legal-document h2 { color:#173d5c; font-size:1.08rem; margin:0 0 .65rem; }
.legal-document h3 { color:#0f766e; font-size:.78rem; margin:1rem 0 .3rem; }
.legal-document p,.legal-document li { color:#566f66; font-size:.76rem; line-height:1.72; }
.legal-document p { margin:.4rem 0; }
.legal-document ul { margin:.45rem 0; padding-left:1.25rem; }
.legal-document a { color:#0f766e; font-weight:800; }
.legal-review-note { background:linear-gradient(135deg,#fff5e8,#fffaf3); border:1px solid #eed7b0; border-radius:12px; margin-top:1rem; padding:1rem; }
.legal-review-note strong { color:#885b1c; font-size:.75rem; }
.legal-review-note p { color:#755e3d; margin:.3rem 0 0; }
.legal-footer { align-items:center; background:#0c3f59; color:#a9c7d3; display:flex; font-size:.7rem; gap:1rem; justify-content:space-between; padding:1rem max(1rem,calc((100vw - 1180px)/2)); }
.legal-footer a { color:#6ee0cc; text-decoration:none; }

@media(max-width:760px) {
    .legal-header { align-items:flex-start; flex-direction:column; gap:.6rem; }
    .legal-header nav { overflow-x:auto; width:100%; }
    .legal-layout { grid-template-columns:1fr; }
    .legal-index { display:none; }
    .legal-hero { padding:1.7rem 1.4rem; }
    .legal-document { padding:1.35rem 1.15rem; }
    .footer-legal-links { justify-content:center; }
}

/* Essential-cookie notice */
.cookie-notice[hidden] { display:none !important; }
.cookie-notice {
    align-items:center;
    animation:cookieNoticeIn .28s ease-out;
    backdrop-filter:blur(16px);
    background:linear-gradient(125deg,rgba(9,58,82,.98),rgba(13,111,103,.97));
    border:1px solid rgba(255,255,255,.16);
    border-radius:16px;
    bottom:1rem;
    box-shadow:0 18px 45px rgba(5,45,57,.28);
    color:white;
    display:grid;
    gap:.75rem;
    grid-template-columns:42px minmax(0,1fr) auto;
    left:50%;
    max-width:620px;
    padding:.8rem .9rem;
    position:fixed;
    text-align:left;
    transform:translateX(-50%);
    width:calc(100% - 2rem);
    z-index:9999;
}
.cookie-notice-icon { align-items:center; background:rgba(255,255,255,.13); border-radius:11px; display:flex; height:42px; justify-content:center; width:42px; }
.cookie-notice-icon svg { fill:none; height:23px; stroke:#7ae2cf; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.7; width:23px; }
.cookie-notice-copy { display:grid; gap:.12rem; min-width:0; }
.cookie-notice-copy strong { color:white; font-size:.75rem; }
.cookie-notice-copy p { color:#d2e9e5; font-size:.64rem; line-height:1.35; margin:0; }
.cookie-notice-copy a { color:#83ead7; font-size:.61rem; font-weight:800; text-decoration:underline; text-underline-offset:2px; }
.cookie-notice > button { background:#dff7f0; border:0; border-radius:9px; color:#0b655f; cursor:pointer; font-size:.68rem; font-weight:900; padding:.65rem .8rem; white-space:nowrap; }
.cookie-notice > button:hover { background:white; }
@keyframes cookieNoticeIn { from { opacity:0; transform:translate(-50%,14px); } to { opacity:1; transform:translate(-50%,0); } }

@media(max-width:520px) {
    .cookie-notice { grid-template-columns:36px minmax(0,1fr); }
    .cookie-notice-icon { height:36px; width:36px; }
    .cookie-notice > button { grid-column:2; justify-self:start; }
}

/* Homepage equipment-care journey */
.equipment-care-home {
    background:#fff;
    color:#123a45;
    overflow:hidden;
    padding:5.5rem max(1.5rem,calc((100vw - 1180px)/2));
    position:relative;
    text-align:left;
}
.equipment-care-home::after { display:none; }
.equipment-care-heading { display:flex; justify-content:center; margin-bottom:2.4rem; position:relative; text-align:center; z-index:1; }
.equipment-care-heading > div > span { color:#0f8f83; font-size:.68rem; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.equipment-care-heading h2 { color:#123a45; font-size:clamp(2rem,4vw,3rem); letter-spacing:-.04em; margin:.5rem 0 0; }
.equipment-care-heading > p { color:#537078; font-size:.82rem; line-height:1.55; margin:0; max-width:360px; }
.equipment-care-cycle { display:grid; gap:1rem; grid-template-columns:repeat(4,minmax(0,1fr)); position:relative; z-index:1; }
.equipment-care-cycle::before { background:linear-gradient(90deg,#4bd2bd,#55a8cb,#8d79ba,#58ba7a); content:""; height:2px; left:10%; opacity:.62; position:absolute; right:10%; top:48px; }
.equipment-care-cycle article {
    align-items:center;
    backdrop-filter:blur(10px);
    background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(244,251,249,.9));
    border:1px solid rgba(15,118,110,.12);
    border-radius:18px;
    box-shadow:0 14px 35px rgba(24,83,82,.09);
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:170px;
    overflow:hidden;
    padding:1.15rem;
    position:relative;
    transition:transform .2s ease,background .2s ease;
}
.equipment-care-cycle article:hover { background:white; box-shadow:0 18px 42px rgba(24,83,82,.14); transform:translateY(-5px); }
.care-step { color:#799496; font-size:.58rem; font-weight:900; letter-spacing:.12em; position:absolute; right:1rem; top:1rem; }
.care-icon { align-items:center; background:#4bd2bd; border:5px solid rgba(11,76,82,.9); border-radius:15px; box-shadow:0 0 0 4px rgba(75,210,189,.16); color:#083e50; display:flex; height:58px; justify-content:center; margin-bottom:1.15rem; position:relative; width:58px; z-index:2; }
.care-icon--schedule { background:#67bee2; box-shadow:0 0 0 4px rgba(103,190,226,.14); }
.care-icon--connect { background:#a99add; box-shadow:0 0 0 4px rgba(169,154,221,.14); }
.care-icon--report { background:#75ce91; box-shadow:0 0 0 4px rgba(117,206,145,.14); }
.care-icon svg { fill:none; height:27px; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.7; width:27px; }
.equipment-care-cycle h3 { color:#123a45; font-size:1.05rem; margin:0; }
.equipment-care-cycle p { color:#5a7479; font-size:.72rem; line-height:1.58; margin:0; }
.equipment-care-proof { display:flex; flex-wrap:wrap; gap:.7rem; justify-content:center; margin-top:1.4rem; position:relative; z-index:1; }
.equipment-care-proof span { align-items:center; background:rgba(255,255,255,.78); border:1px solid rgba(15,118,110,.12); border-radius:999px; color:#496970; display:flex; font-size:.64rem; font-weight:750; gap:.42rem; padding:.42rem .7rem; }
.equipment-care-proof b { align-items:center; background:rgba(20,184,166,.12); border-radius:50%; color:#0f8f83; display:flex; font-size:.57rem; height:25px; justify-content:center; width:25px; }

@media(max-width:940px) {
    .equipment-care-cycle { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .equipment-care-cycle::before { display:none; }
}
@media(max-width:620px) {
    .equipment-care-home { padding:4rem 1.2rem; }
    .equipment-care-heading { align-items:flex-start; flex-direction:column; gap:.8rem; }
    .equipment-care-cycle { grid-template-columns:1fr; }
    .equipment-care-cycle article { min-height:0; }
}

/* Keep the homepage hero contained on phones. */
@media(max-width:760px) {
    nav {
        gap:1rem;
        padding:14px 18px;
    }
    nav ul { display:none; }
    .logo img { width:135px; }
    .hero {
        flex-direction:column;
        gap:2.25rem;
        height:auto;
        min-height:0;
        overflow:hidden;
        padding:4rem 1.25rem 3rem;
    }
    .hero-text {
        flex:none;
        max-width:100%;
        width:100%;
    }
    .hero h1 { font-size:clamp(2.1rem,11vw,3rem); }
    .hero-image {
        flex:none;
        max-width:430px;
        padding:0;
        width:100%;
    }
    .hero-image img {
        margin-top:0;
        max-width:100%;
        width:100%;
    }
}

/* Site-wide mobile foundation */
img,
video,
canvas {
    height:auto;
    max-width:100%;
}

@media(max-width:640px) {
    body {
        overflow-wrap:anywhere;
    }

    input:not([type="checkbox"]):not([type="radio"]),
    select,
    textarea {
        font-size:16px !important;
        max-width:100%;
        min-width:0;
        width:100%;
    }

    button,
    input[type="button"],
    input[type="submit"],
    .btn-primary,
    .btn-secondary,
    .role-button,
    .login-btn,
    .logout-button,
    .edit-profile-button,
    .cancel-button,
    .equipment-primary-action,
    .equipment-secondary-action,
    .dashboard-back-link,
    .notification-bell,
    .facility-menu-button,
    .engineer-menu-button {
        min-height:44px !important;
    }

    .engineer-scope-tabs a,
    .request-center-actions a,
    .marketplace-hero > a,
    .quotation-heading > a,
    .marketplace-product-copy footer a,
    .marketplace-empty a,
    .supplier-product-actions a,
    .engineer-work-actions a,
    .engineer-profile-edit,
    .supplier-hero-action,
    .supplier-side-action {
        align-items:center;
        display:inline-flex;
        justify-content:center;
        min-height:44px;
    }

    .dashboard-main,
    .legal-main {
        padding-left:.85rem;
        padding-right:.85rem;
    }

    .facility-workspace-topbar,
    .engineer-workspace-topbar,
    .dashboard-nav {
        background:rgba(255,255,255,.97);
        position:sticky;
        top:0;
        z-index:45;
    }

    .facility-workspace-topbar > div:first-of-type,
    .engineer-topbar-title {
        min-width:0;
    }

    .facility-workspace-topbar > div:first-of-type strong,
    .engineer-topbar-title strong {
        display:block;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
    }

    .facility-topbar-actions,
    .engineer-topbar-actions,
    .dashboard-nav-actions {
        flex:0 0 auto;
        gap:.45rem;
    }

    .registration-body {
        align-items:stretch;
        padding:0;
    }

    .registration-shell,
    .supplier-registration-shell {
        border-radius:0;
        min-height:100vh;
    }

    .registration-welcome {
        padding:1.5rem 1.25rem;
    }

    .registration-panel {
        padding:1.8rem 1.25rem 2.5rem;
    }

    .registration-logo img {
        width:160px;
    }

    .registration-label {
        margin-top:1rem;
    }

    .registration-welcome h1 {
        font-size:1.7rem;
        margin:.9rem 0 0;
    }

    .registration-welcome > p,
    .registration-welcome > ul,
    .registration-welcome .auth-signature {
        display:none;
    }

    .registration-panel h2 {
        font-size:1.55rem;
    }

    .facility-information,
    .engineer-panel,
    .engineer-side-card,
    .request-center-group,
    .equipment-detail-section,
    .service-report-detail,
    .request-delete-confirmation {
        padding:1rem;
    }

    .equipment-hero,
    .request-center-hero,
    .supplier-catalogue-heading,
    .marketplace-hero,
    .quotation-heading,
    .facility-page-heading,
    .notifications-heading {
        align-items:stretch;
        flex-direction:column;
        gap:1rem;
    }

    .supplier-catalogue-heading,
    .marketplace-hero,
    .quotation-heading {
        padding:1.3rem;
    }

    .engineer-scope-tabs,
    .quotation-decisions,
    .equipment-detail-actions,
    .dashboard-equipment-actions,
    .engineer-contact-actions,
    .label-page-controls,
    .label-page-controls > div {
        flex-wrap:wrap;
    }

    .print-equipment-label {
        aspect-ratio:10 / 7;
        height:auto;
        max-width:100%;
        width:100%;
    }

    .label-page-body {
        padding:1rem .75rem;
    }

    .label-page-controls {
        align-items:stretch;
        flex-direction:column;
    }

    .role-card {
        max-width:100%;
    }
}

@media(max-width:420px) {
    .facility-workspace-topbar,
    .engineer-workspace-topbar {
        padding:.55rem .65rem;
    }

    .facility-workspace-topbar small,
    .engineer-topbar-title small {
        display:none;
    }

    .facility-workspace-topbar .logout-button,
    .engineer-workspace-topbar .logout-button {
        font-size:.7rem;
        padding:.55rem .65rem;
    }

    .equipment-detail-action-group,
    .engineer-response-actions,
    .facility-confirm-actions,
    .request-delete-actions {
        align-items:stretch;
        flex-direction:column;
    }

    .equipment-detail-action-group > *,
    .engineer-response-actions > *,
    .facility-confirm-actions > *,
    .request-delete-actions > * {
        justify-content:center;
        text-align:center;
        width:100%;
    }
}
/* Facility team management */
.facility-team-main {
    display: grid;
    gap: 24px;
}

.facility-team-hero {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    overflow: hidden;
    padding: 34px;
    border: 1px solid rgba(16, 112, 91, 0.16);
    border-radius: 28px;
    color: #fff;
    background: linear-gradient(125deg, #073f3b 0%, #0b695b 55%, #159071 100%);
    box-shadow: 0 22px 55px rgba(6, 62, 56, 0.18);
}

.facility-team-hero::after {
    content: "";
    position: absolute;
    right: -55px;
    bottom: -90px;
    width: 260px;
    height: 260px;
    border: 44px solid rgba(255, 255, 255, 0.08);
    border-radius: 50%;
}

.facility-team-hero .dashboard-label { color: #a9ecd6; }
.facility-team-hero h1 { margin: 8px 0 7px; color: #fff; font-size: clamp(1.8rem, 3vw, 2.7rem); }
.facility-team-hero p { margin: 0; color: rgba(255, 255, 255, 0.78); }
.facility-team-count { position: relative; z-index: 1; display: grid; min-width: 145px; padding: 18px 22px; border: 1px solid rgba(255,255,255,.2); border-radius: 20px; background: rgba(255,255,255,.1); backdrop-filter: blur(8px); }
.facility-team-count strong { font-size: 2.2rem; line-height: 1; }
.facility-team-count span { margin-top: 7px; color: #c6f4e5; font-size: .85rem; }

.facility-team-layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr); gap: 22px; }
.facility-team-panel { padding: 26px; border: 1px solid #d9ebe5; border-radius: 24px; background: linear-gradient(145deg, #fff 0%, #f5fbf8 100%); box-shadow: 0 14px 35px rgba(13, 80, 67, .08); }
.team-panel-intro { margin: -5px 0 22px; color: #62766f; }
.facility-invite-form { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.facility-invite-form p { margin: 0; }
.facility-invite-form p:nth-last-child(2), .facility-invite-form button { grid-column: 1 / -1; }
.facility-invite-form input, .facility-invite-form select { width: 100%; }
.facility-invite-form .errorlist { margin: 6px 0 0; padding: 0; list-style: none; color: #a93636; font-size: .82rem; }

.team-role-list { display: grid; gap: 11px; }
.team-role-list article { display: grid; grid-template-columns: 38px 1fr; gap: 13px; align-items: start; padding: 14px; border-radius: 16px; background: #eef8f4; }
.team-role-list article > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 11px; color: #08705d; background: #d7f0e7; font-size: .75rem; font-weight: 800; }
.team-role-list strong { color: #123f38; }
.team-role-list p { margin: 4px 0 0; color: #667a74; font-size: .86rem; line-height: 1.45; }

.facility-member-list, .facility-pending-list { display: grid; gap: 12px; }
.facility-member-card { display: grid; grid-template-columns: auto minmax(180px, 1fr) auto auto; gap: 15px; align-items: center; padding: 16px; border: 1px solid #dcebe6; border-radius: 18px; background: #fff; }
.facility-member-avatar { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 15px; color: #fff; background: linear-gradient(145deg, #0b725f, #29a47e); font-weight: 800; }
.facility-member-identity { display: grid; gap: 2px; min-width: 0; }
.facility-member-identity strong, .facility-member-identity a { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.facility-member-identity strong { color: #173e37; }
.facility-member-identity a { color: #16745f; font-size: .88rem; }
.facility-member-identity small { color: #7a8d87; }
.facility-owner-badge { padding: 8px 12px; border-radius: 999px; color: #126451; background: #dff5ec; font-size: .8rem; font-weight: 800; }
.facility-member-role-form { display: flex; gap: 8px; }
.facility-member-role-form select { min-width: 180px; min-height: 44px; padding: 0 10px; border: 1px solid #cbded8; border-radius: 11px; background: #fff; }
.facility-member-role-form button, .facility-member-remove, .facility-pending-list button { min-height: 44px; padding: 0 15px; border: 0; border-radius: 11px; cursor: pointer; font-weight: 800; }
.facility-member-role-form button { color: #fff; background: #0b745f; }
.facility-member-remove, .facility-pending-list button { color: #9b3434; background: #fff0f0; }
.facility-pending-list article { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 16px; border: 1px dashed #c8ddd6; border-radius: 16px; background: #fbfefd; }
.facility-pending-list article > div { display: grid; gap: 3px; }
.facility-pending-list span, .facility-pending-list small { color: #6b7f78; }

@media (max-width: 900px) {
    .facility-team-layout { grid-template-columns: 1fr; }
    .facility-member-card { grid-template-columns: auto 1fr; }
    .facility-member-role-form, .facility-member-card > form:last-child, .facility-owner-badge { grid-column: 2; }
}

@media (max-width: 600px) {
    .facility-team-hero { align-items: flex-start; padding: 25px 20px; }
    .facility-team-count { min-width: 100px; padding: 14px; }
    .facility-team-panel { padding: 20px 16px; border-radius: 20px; }
    .facility-invite-form { grid-template-columns: 1fr; }
    .facility-invite-form p, .facility-invite-form p:nth-last-child(2), .facility-invite-form button { grid-column: 1; }
    .facility-member-card { grid-template-columns: auto minmax(0, 1fr); align-items: start; }
    .facility-member-role-form { flex-wrap: wrap; }
    .facility-member-role-form select { width: 100%; min-width: 0; }
    .facility-pending-list article { align-items: flex-start; }
}
/* Verified engineer ratings */
.engineer-rating-summary {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin: 14px 0;
    padding: 11px 13px;
    border: 1px solid #f1dfae;
    border-radius: 14px;
    background: linear-gradient(135deg, #fffaf0, #fffdf8);
}
.engineer-rating-stars { display: inline-flex; gap: 2px; }
.engineer-rating-stars i { color: #d8d9d5; font-size: 1.05rem; font-style: normal; line-height: 1; }
.engineer-rating-stars i.filled { color: #e3a51d; }
.engineer-rating-summary > strong { color: #684b0c; }
.engineer-rating-summary > small { color: #7c735e; }
.engineer-completed-count { width: 100%; color: #6c7c76; font-size: .76rem; }
.engineer-stat-card--rating { color: #563d05; background: linear-gradient(145deg, #fff7da, #fffdf3); }
.engineer-stat-card--rating .engineer-stat-icon { color: #fff; background: #dda51e; }

.engineer-review-page { max-width: 850px; margin: 0 auto; overflow: hidden; border: 1px solid #d9ebe5; border-radius: 28px; background: #fff; box-shadow: 0 22px 55px rgba(13, 80, 67, .1); }
.engineer-review-heading { padding: 32px 34px 25px; color: #fff; background: linear-gradient(125deg, #073f3b, #0b725f); }
.engineer-review-heading .dashboard-label { color: #a8ead5; }
.engineer-review-heading h1 { margin: 8px 0; color: #fff; font-size: clamp(1.8rem, 4vw, 2.6rem); }
.engineer-review-heading p { margin: 0; color: rgba(255,255,255,.78); }
.engineer-review-job { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 15px; margin: 26px 34px 0; padding: 17px; border: 1px solid #dcebe6; border-radius: 18px; background: #f6fbf9; }
.engineer-review-job small, .engineer-review-job p { color: #6d7f79; }
.engineer-review-job h2, .engineer-review-job p { margin: 3px 0; }
.engineer-review-job > span { padding: 8px 11px; border-radius: 999px; color: #0a6955; background: #dff4ec; font-size: .78rem; font-weight: 800; }
.engineer-review-form { display: grid; gap: 13px; padding: 28px 34px 34px; }
.engineer-review-form > label, .engineer-star-field legend { color: #173d36; font-weight: 800; }
.engineer-review-form textarea { width: 100%; min-height: 130px; padding: 14px; border: 1px solid #c9ddd6; border-radius: 15px; resize: vertical; font: inherit; }
.engineer-star-field { margin: 0; padding: 0; border: 0; }
.engineer-star-options { display: flex; flex-direction: row-reverse; justify-content: flex-end; gap: 8px; margin-top: 10px; }
.engineer-star-options input { position: absolute; opacity: 0; pointer-events: none; }
.engineer-star-options label { display: grid; justify-items: center; gap: 4px; cursor: pointer; }
.engineer-star-options label span { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid #ead8a4; border-radius: 14px; color: #d6d7d2; background: #fffdf7; font-size: 1.7rem; transition: .15s ease; }
.engineer-star-options label small { color: #786e56; font-size: .7rem; }
.engineer-star-options input:checked + label span,
.engineer-star-options input:checked ~ label span,
.engineer-star-options label.is-selected span,
.engineer-star-options label:hover span,
.engineer-star-options label:hover ~ label span { color: #e4a51c; border-color: #e4a51c; background: #fff5d5; transform: translateY(-2px); }
.engineer-review-note { padding: 14px 16px; border-left: 4px solid #159071; border-radius: 0 13px 13px 0; background: #eef8f4; }
.engineer-review-note p { margin: 4px 0 0; color: #647871; font-size: .86rem; }
.engineer-review-form > button { min-height: 50px; border: 0; border-radius: 14px; color: #fff; background: linear-gradient(135deg, #0a6c59, #159071); cursor: pointer; font-weight: 800; }

.rate-engineer-panel, .verified-engineer-review { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 22px; padding: 22px; border: 1px solid #ecdcae; border-radius: 18px; background: linear-gradient(135deg, #fff9e9, #fffdf7); }
.rate-engineer-panel > div { display: flex; align-items: center; gap: 16px; }
.rate-engineer-panel > div > span { color: #e1a31b; font-size: 1.35rem; letter-spacing: 2px; }
.rate-engineer-panel p { margin: 4px 0 0; color: #716a5b; }
.verified-engineer-review h2 { margin: 6px 0; color: #684b0c; }
.review-display-stars { display: flex; gap: 3px; }
.review-display-stars span { color: #d6d7d2; font-size: 1.35rem; }
.review-display-stars span.filled { color: #e3a51d; }
.verified-engineer-review blockquote { margin: 14px 0; color: #4f5f59; font-size: 1rem; line-height: 1.6; }
.verified-engineer-review small { color: #7b7567; }

@media (max-width: 650px) {
    .engineer-review-heading { padding: 26px 20px; }
    .engineer-review-job { grid-template-columns: auto 1fr; margin: 20px 16px 0; }
    .engineer-review-job > span { grid-column: 2; justify-self: start; }
    .engineer-review-form { padding: 24px 16px; }
    .engineer-star-options { gap: 4px; }
    .engineer-star-options label span { width: 42px; height: 42px; font-size: 1.45rem; }
    .engineer-star-options label small { display: none; }
    .rate-engineer-panel, .verified-engineer-review { align-items: stretch; flex-direction: column; }
}
