/* =================================================================
   MCS Project — Cantieri — Stile principale
   ================================================================= */

/* --- Reset e base --- */
* { box-sizing: border-box; }

body {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 14px;
    background-color: #FFFFFF;
    margin: 0;
    padding: 0;
}

td { font-size: 14px; }

/* --- Sfondi --- */
.sfondo_scuro { color: #FFFFFF; background-color: #004356; }
.sfondo_chiaro { background-color: #F4F8F9; }
.sfondorosso { background-color: #FF0000; color: #FFFFFF; }
.sfondoverde { background-color: green; color: #FFFFFF; }

/* --- Pulsanti --- */
.pulsante {
    background-color: #BED6D6;
    text-decoration: none;
    font-weight: bold;
    text-align: center;
    padding: 8px;
    border: 1px solid #aac3c3;
    color: #004356;
}

.pulsanteNew {
    background-color: #BED6D6;
    text-decoration: none;
    font-weight: bold;
    text-align: center;
    padding: 3px;
    color: #004356;
    border: 1px #BED6D6 solid;
}

.pulsanteBianco {
    background-color: #FFFFFF;
    text-decoration: none;
    font-weight: bold;
    text-align: center;
    padding: 1px;
    border: none;
}

.allarme {
    background-color: #CC0000;
    color: #FFFFFF;
    text-decoration: none;
    font-weight: bold;
    text-align: center;
    padding: 8px;
    border: 1px solid #990000;
}

/* --- Link --- */
.linkPulsante {
    color: #004356;
    text-decoration: none;
    font-weight: bold;
    text-align: center;
    font-size: 14px;
}
.linkPulsante:hover { text-decoration: underline; }

.linkPulsanteBianco {
    color: #004356;
    text-decoration: none;
    font-weight: bold;
    text-align: center;
    font-size: 14px;
}
.linkPulsanteBianco:hover { text-decoration: underline; }

.linkPulsanteNew {
    color: #004356;
    text-decoration: none;
    font-weight: bold;
    text-align: center;
    font-size: 14px;
}
.linkPulsanteNew:hover { text-decoration: underline; }

.link_scuro { text-decoration: none; color: #004356; font-weight: bold; }
.link_scuro:hover { text-decoration: underline; }

.linkSulBianco { color: #000033; text-decoration: none; font-weight: bold; font-size: 14px; }
.linkSulBianco:hover { text-decoration: underline; }

/* --- Tabelle dati --- */
.tabellaDati { border: 1px #004356 solid; }

/* --- Componenti UI moderni --- */
.pageWrap { max-width: 1100px; margin: 20px auto; padding: 0 15px; }
.pageTitleBox { background: #004356; color: #fff; padding: 12px 16px; font-size: 16px; font-weight: bold; }

.successBox { padding: 10px 14px; margin-bottom: 15px; background: #e8f6ea; border: 1px solid #9ad1a2; color: #1d5e2a; font-weight: bold; font-size: 13px; text-align: center; }
.errorBox { padding: 10px 14px; margin-bottom: 15px; background: #fde4e4; border: 1px solid #cc0000; color: #990000; font-weight: bold; font-size: 13px; text-align: center; }
.warnBox { padding: 10px 14px; margin-bottom: 15px; background: #fff8e8; border: 1px solid #d97c00; color: #8a4b00; font-weight: bold; font-size: 13px; }

.sectionCard { border: 1px solid #bed6d6; background: #fff; margin-bottom: 16px; }
.sectionHeader { background: #004356; color: #fff; padding: 9px 12px; font-weight: bold; font-size: 13px; }
.sectionBody { padding: 12px 14px; }

.gridTable { width: 100%; border-collapse: collapse; }
.gridTable th { background: #bed6d6; padding: 8px 10px; border: 1px solid #aac3c3; text-align: left; font-size: 12px; color: #004356; }
.gridTable td { padding: 8px 10px; border: 1px solid #d7d7d7; font-size: 13px; vertical-align: middle; }
.gridTable tr.altRow td { background: #f4f4f4; }
.gridTable .numCol { text-align: center; width: 40px; color: #888; }

.btnAction { display: inline-block; padding: 8px 18px; background: #004356; color: #fff; text-decoration: none; font-weight: bold; font-size: 13px; margin-right: 8px; border: none; cursor: pointer; font-family: Verdana, Arial, sans-serif; }
.btnAction:hover { background: #006680; }
.btnDanger { display: inline-block; padding: 8px 18px; background: #cc0000; color: #fff; text-decoration: none; font-weight: bold; font-size: 13px; border: none; cursor: pointer; font-family: Verdana, Arial, sans-serif; }
.btnDanger:hover { background: #990000; }

.detLink { color: #004356; text-decoration: none; font-weight: bold; }
.detLink:hover { text-decoration: underline; }

.badge { display: inline-block; padding: 2px 8px; font-weight: bold; font-size: 11px; }
.badge-ok { background: #e8f6ea; color: #1d5e2a; border: 1px solid #9ad1a2; }
.badge-warn { background: #fff8e8; color: #8a4b00; border: 1px solid #d97c00; }
.badge-err { background: #fde4e4; color: #a12626; border: 1px solid #e1aaaa; }
.badge-info { background: #e8eaff; color: #2a2e8b; border: 1px solid #aab0e1; }

.alertBar { padding: 12px 16px; margin-bottom: 15px; background: #fff4e6; border: 1px solid #f0ad4e; color: #8a4b00; font-size: 13px; }
.alertBadge { display: inline-block; background: #cc0000; color: #fff; padding: 2px 8px; font-weight: bold; font-size: 12px; margin: 0 4px; vertical-align: middle; }

/* --- Form --- */
.formInline { display: inline-block; vertical-align: middle; }
.formInline label { font-weight: bold; color: #004356; font-size: 12px; margin-right: 4px; }
.formInline input[type="text"],
.formInline select {
    padding: 5px 6px;
    border: 1px solid #aaa;
    font-family: Verdana, Arial, sans-serif;
    font-size: 12px;
}
.formInline input[type="text"]:focus,
.formInline select:focus { border-color: #004356; outline: none; background: #f9fffe; }

.btnSubmit {
    display: inline-block;
    padding: 6px 18px;
    background: #004356;
    color: #fff;
    border: none;
    font-size: 12px;
    font-weight: bold;
    cursor: pointer;
    font-family: Verdana, Arial, sans-serif;
}
.btnSubmit:hover { background: #006680; }

/* --- Responsive --- */
@media screen and (max-width: 1024px) {
    .pageWrap { max-width: 100%; padding: 0 10px; }
    .gridTable { font-size: 12px; }
    .gridTable th, .gridTable td { padding: 6px 8px; }
}

@media screen and (max-width: 768px) {
    body { font-size: 13px; }
    td { font-size: 13px; }
    .pageTitleBox { font-size: 14px; padding: 10px 12px; }
    .sectionHeader { font-size: 12px; }
    .gridTable { display: block; overflow-x: auto; white-space: nowrap; }
    .btnAction, .btnDanger, .btnSubmit { padding: 6px 12px; font-size: 12px; }

    /* Navigazione secondo livello: comprimi */
    .navGruppoLabel { padding: 5px 8px; font-size: 11px; }
    .navDropdown { min-width: 180px; }
    .navDropdown a { padding: 6px 10px; font-size: 11px; }
}

@media screen and (max-width: 480px) {
    .gridTable th, .gridTable td { padding: 4px 6px; font-size: 11px; }
    .btnAction, .btnDanger { display: block; margin-bottom: 6px; text-align: center; }
}

/* --- Stampa --- */
@media print {
    .navSecondo, .btnAction, .btnDanger, .btnSubmit { display: none !important; }
    .sfondo_scuro { background-color: #004356 !important; -webkit-print-color-adjust: exact; }
    .gridTable th { background: #bed6d6 !important; -webkit-print-color-adjust: exact; }
}
