
html,
body{
    height:100%;
}

body{
    background:#f5f7fb;
    min-height:100vh;
    display:flex;
    flex-direction:column;
}

main{
    flex:1 0 auto;
}

.footer{
    margin-top:auto;
    background:#0d6efd;
    color:#fff;
    border-top:4px solid #0a58ca;
}

.footer h6{
    margin-bottom:4px;
}

.footer small{
    color:#e9ecef;
}

.card{
    border:none;
    border-radius:12px;
}

.card-body{
    padding:18px;
}

.card h2{
    margin:0;
    font-size:2rem;
    font-weight:700;
}

.card h6{
    font-size:0.95rem;
}

.navbar{
    background:#0d6efd;
}

.navbar-brand,
.nav-link{
    color:#fff !important;
}


.equipment-row{
    transition:
        background-color .2s ease,
        border-color .2s ease;
}

.zero-equipment-row{
    background:#f8f9fa;
    opacity:.82;
}

.zero-equipment-row:focus-within{
    opacity:1;
}

.unit-summary{
    background:#f8f9fa;
    border-radius:10px;
    padding:12px 5px 4px;
}

.equipment-total{
    background:#e9ecef !important;
}

@media (max-width: 767.98px){

    .equipment-row .form-label{
        font-size:.8rem;
    }

    .equipment-row .form-control,
    .equipment-row .form-select{
        min-height:44px;
    }

}

.wizard-step {
    display: none;
}

.wizard-step.active {
    display: block;
}


body {
    background: #f5f5f5;
    color: #000;
    font-family: Arial, sans-serif;
}

.print-page {
    max-width: 1100px;
    margin: 20px auto;
    background: #fff;
    padding: 24px;
    border: 1px solid #ddd;
}

.report-title {
    text-align: center;
    margin-bottom: 24px;
}

.report-title h2 {
    font-size: 22px;
    margin-bottom: 4px;
}

.report-title p {
    margin-bottom: 0;
}

.section-title {
    background: #e9ecef;
    border: 1px solid #000;
    padding: 8px 10px;
    font-weight: 700;
    margin-top: 18px;
    margin-bottom: 0;
}

.info-table,
.equipment-table {
    width: 100%;
    border-collapse: collapse;
}

.info-table th,
.info-table td,
.equipment-table th,
.equipment-table td {
    border: 1px solid #000;
    padding: 7px;
    font-size: 12px;
    vertical-align: middle;
}

.info-table th {
    width: 18%;
    background: #f8f9fa;
    text-align: left;
}

.equipment-table th {
    background: #f1f1f1;
    text-align: center;
}

.equipment-table td:not(:first-child) {
    text-align: center;
}

.unit-total {
    font-weight: 700;
    background: #f8f9fa;
}

.grand-total-box {
    border: 1px solid #000;
    padding: 12px;
    text-align: center;
    height: 100%;
}

.grand-total-box strong {
    display: block;
    font-size: 22px;
    margin-top: 4px;
}

.no-print {
    max-width: 1100px;
    margin: 20px auto 0;
}

@page {
    size: A4 landscape;
    margin: 10mm;
}

@media print {
    body {
        background: #fff;
    }

    .no-print {
        display: none !important;
    }

    .print-page {
        margin: 0;
        max-width: none;
        padding: 0;
        border: 0;
    }

    .section-title,
    table,
    tr,
    td,
    th {
        break-inside: avoid;
    }

    a {
        color: #000;
        text-decoration: none;
    }
}

/* FINAL SPCHIS NAVBAR */

nav.spchis-navbar{
    min-height:112px;
    padding:8px 0;
}

nav.spchis-navbar .spchis-navbar-container{
    width:100%;
    max-width:1800px;
    margin:0 auto;
    padding-left:28px;
    padding-right:28px;
}

nav.spchis-navbar .spchis-brand{
    display:flex;
    align-items:center;
    flex:0 0 auto;
    width:auto;
    max-width:500px;
    margin-right:32px;
    padding:0;
    white-space:normal;
}

nav.spchis-navbar .spchis-logo{
    display:block;
    flex:0 0 92px;
    width:92px !important;
    height:92px !important;
    min-width:92px !important;
    max-width:92px !important;
    min-height:92px !important;
    max-height:92px !important;
    object-fit:contain;
    margin-right:18px;
}

nav.spchis-navbar .spchis-brand-details{
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-width:0;
    line-height:1.2;
}

nav.spchis-navbar .spchis-brand-short{
    display:block;
    color:#fff;
    font-size:1.75rem;
    font-weight:700;
    letter-spacing:.02em;
    line-height:1.15;
}

nav.spchis-navbar .spchis-brand-province{
    display:block;
    margin-top:6px;
    color:#fff;
    font-size:.95rem;
    font-weight:600;
    line-height:1.25;
}

nav.spchis-navbar .spchis-brand-system{
    display:block;
    margin-top:3px;
    color:rgba(255,255,255,.82);
    font-size:.83rem;
    font-weight:500;
    line-height:1.3;
    white-space:nowrap;
}

nav.spchis-navbar .spchis-navbar-collapse{
    align-items:center;
    min-width:0;
}

nav.spchis-navbar .spchis-main-menu{
    display:flex;
    align-items:center;
    justify-content:center;
    flex:1 1 auto;
    gap:2px;
    margin-left:auto;
    margin-right:auto;
}

nav.spchis-navbar .spchis-account-menu{
    display:flex;
    align-items:center;
    flex:0 0 auto;
    margin-left:16px;
}

nav.spchis-navbar .nav-link{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:10px 11px !important;
    color:rgba(255,255,255,.94) !important;
    font-size:.98rem;
    font-weight:500;
    line-height:1.2;
    white-space:nowrap;
    border-radius:6px;
}

nav.spchis-navbar .nav-link:hover,
nav.spchis-navbar .nav-link:focus{
    color:#fff !important;
    background:rgba(0,0,0,.14);
}

nav.spchis-navbar .spchis-user-item{
    padding-left:16px;
    margin-left:4px;
    border-left:1px solid rgba(255,255,255,.38);
}

nav.spchis-navbar .spchis-user-text{
    display:flex !important;
    flex-direction:column;
    align-items:flex-start !important;
    justify-content:center !important;
    min-width:150px;
    cursor:default;
}

nav.spchis-navbar .spchis-user-text:hover{
    background:transparent;
}

nav.spchis-navbar .spchis-user-welcome{
    color:rgba(255,255,255,.76);
    font-size:.76rem;
    line-height:1.15;
}

nav.spchis-navbar .spchis-user-name{
    margin-top:2px;
    color:#fff;
    font-size:.88rem;
    font-weight:600;
    line-height:1.25;
    white-space:nowrap;
}

nav.spchis-navbar .spchis-logout-item{
    padding-left:12px;
    margin-left:10px;
    border-left:1px solid rgba(255,255,255,.38);
}

@media (max-width:1450px){
    nav.spchis-navbar .spchis-navbar-container{
        padding-left:18px;
        padding-right:18px;
    }

    nav.spchis-navbar .spchis-brand{
        max-width:430px;
        margin-right:18px;
    }

    nav.spchis-navbar .spchis-logo{
        flex-basis:82px;
        width:82px !important;
        height:82px !important;
        min-width:82px !important;
        max-width:82px !important;
        min-height:82px !important;
        max-height:82px !important;
        margin-right:14px;
    }

    nav.spchis-navbar .spchis-brand-short{
        font-size:1.5rem;
    }

    nav.spchis-navbar .spchis-brand-province{
        font-size:.86rem;
    }

    nav.spchis-navbar .spchis-brand-system{
        font-size:.74rem;
    }

    nav.spchis-navbar .nav-link{
        padding-left:8px !important;
        padding-right:8px !important;
        font-size:.91rem;
    }

    nav.spchis-navbar .spchis-account-menu{
        margin-left:8px;
    }
}

@media (max-width:1199.98px){
    nav.spchis-navbar{
        min-height:auto;
    }

    nav.spchis-navbar .spchis-brand{
        max-width:calc(100% - 70px);
    }

    nav.spchis-navbar .spchis-navbar-collapse{
        padding-top:12px;
    }

    nav.spchis-navbar .spchis-main-menu,
    nav.spchis-navbar .spchis-account-menu{
        display:block;
        width:100%;
        margin:0;
    }

    nav.spchis-navbar .nav-link{
        justify-content:flex-start;
        padding:10px 4px !important;
    }

    nav.spchis-navbar .spchis-user-item,
    nav.spchis-navbar .spchis-logout-item{
        padding-left:0;
        margin-left:0;
        border-left:0;
    }

    nav.spchis-navbar .spchis-user-text{
        min-width:0;
    }
}

@media (max-width:575.98px){
    nav.spchis-navbar .spchis-navbar-container{
        padding-left:12px;
        padding-right:12px;
    }

    nav.spchis-navbar .spchis-brand{
        margin-right:0;
    }

    nav.spchis-navbar .spchis-logo{
        flex-basis:62px;
        width:62px !important;
        height:62px !important;
        min-width:62px !important;
        max-width:62px !important;
        min-height:62px !important;
        max-height:62px !important;
        margin-right:10px;
    }

    nav.spchis-navbar .spchis-brand-short{
        font-size:1.18rem;
    }

    nav.spchis-navbar .spchis-brand-province{
        margin-top:3px;
        font-size:.7rem;
    }

    nav.spchis-navbar .spchis-brand-system{
        font-size:.62rem;
        white-space:normal;
    }
}
