body {
    font-family: Arial, sans-serif;
    background-color: #EEE;
    padding: 20px;
}

h2, h3 {
    color: #15416B;
    margin-bottom: 10px;
}

form {
    background-color: #FFF;
    padding: 0;
    border-radius: 10px;
    margin-bottom: 20px;
}

input[type="text"],
select {
    width: 300px;
    padding: 8px;
    font-size: 16px;
    margin-top: 10px;
    margin-bottom: 10px;
}

input[type="submit"] {
    padding: 8px 16px;
    font-size: 16px;
    background-color: #15416B;
    color: white;
    border: none;
    border-radius: 6px;
    cursor: pointer;
}

input[type="submit"]:hover {
    background-color: #0d2d4a;
}

table {
    width: 100%;
    background-color: white;
    border-collapse: collapse;
    margin-top: 15px;
}

th, td {
    border: 1px solid #CCC;
    padding: 10px;
    text-align: left;
}

th {
    background-color: #15416B;
    color: white;
}

a.button {
    display: inline-block;
    padding: 6px 12px;
    background-color: #15416B;
    color: white;
    text-decoration: none;
    border-radius: 4px;
}

a.button:hover {
    background-color: #0d2d4a;
}

button.button {
    padding: 6px 12px;
    background-color: #15416B;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 16px;
}

button.button:hover {
    background-color: #0d2d4a;
}

p {
    font-size: 16px;
    margin-top: 10px;
}

p.success {
    color: green;
}

p.error {
    color: red;
}

.inline-form {
    display: inline;
    padding: 0;
    margin: 0;
    background: none;
    border: none;
}

/* Messaggi di successo */
.successo {
    background-color: #d4edda;
    color: #155724;
    border: 2px solid #c3e6cb;
    padding: 15px;
    margin: 20px 0;
    font-size: 18px;
    font-weight: bold;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 128, 0, 0.2);
}

/* Messaggi di errore */
.errore {
    background-color: #f8d7da;
    color: #721c24;
    border: 2px solid #f5c6cb;
    padding: 15px;
    margin: 20px 0;
    font-size: 18px;
    font-weight: bold;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(255, 0, 0, 0.2);
}

@media (max-width: 768px) {
    input[type=number] {
        font-size: 20px;
        padding: 12px;
    }
    select, label {
        font-size: 18px;
    }
    input[type=submit] {
        font-size: 20px;
        padding: 12px;
    }
}

/* === Stile specifico per la pagina km-form.php === */
.km-form {
    max-width: 500px;
    margin: 20px auto;
    padding: 20px;
    border-radius: 10px;
    background: #f9f9f9;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
}

.km-form label {
    display: block;
    margin-top: 10px;
    font-weight: bold;
}

.km-form input,
.km-form select {
    width: 100%;
    padding: 10px;
    margin-top: 5px;
    border: 1px solid #ccc;
    border-radius: 8px;
}

.km-form input[type="submit"] {
    background-color: #15416B;
    color: white;
    margin-top: 20px;
    border: none;
    cursor: pointer;
}

.km-form input[type="submit"]:hover {
    background-color: #0056b3;
}

.km-form .hidden {
    display: none;
}

input[type="text"],
input[type="number"],
select {
  width: 100%;
  box-sizing: border-box;
}

.km-form textarea {
  width: 100%;
  box-sizing: border-box;
  max-width: 100%;
}

textarea {
  width: 100%;
  box-sizing: border-box;
}

.form-inline {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px; /* spazio tra elementi */
}

.form-inline label {
    margin: 0;
    white-space: nowrap; /* evita label spezzate su più righe */
    font-weight: bold;
    color: #15416B;
}

.form-inline input[type="text"] {
    width: 120px; /* larghezza ridotta adatta per targa, marca, modello */
    padding: 6px 8px;
    font-size: 14px;
    box-sizing: border-box;
}

.form-inline button.button {
    padding: 8px 16px;
    font-size: 14px;
    margin-left: 10px;
}

.form-inline select {
    width: 180px;
    padding: 6px 8px;
    font-size: 14px;
    box-sizing: border-box;
}


/* === Stile per tabs gestione flotta === */

.tabs {
    display: flex;
    border-bottom: 2px solid #15416B;
    margin-bottom: 1rem;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.tab {
    padding: 10px 20px;
    cursor: pointer;
    background-color: #eee;
    color: #15416B;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    font-weight: bold;
    border: 1px solid #ccc;
    border-bottom: none;
    user-select: none;
    transition: background-color 0.3s ease;
    margin-right: 5px;
}

.tab.active {
    background-color: white;
    border-color: #15416B;
    border-bottom: 2px solid white;
    color: #15416B;
}

.frame-container {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    border: 1px solid #ccc;
    border-radius: 8px;
    overflow: hidden;
    height: 80vh;
}

iframe {
    width: 100%;
    height: 100%;
    border: none;
}

/* Intestazione della pagina con bottone a destra */
.header-flotta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

/* Bottone icona impostazioni */
.icon-button {
    background-color: #15416B;
    color: white;
    border: none;
    border-radius: 6px;
    font-size: 18px;
    padding: 8px 12px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.icon-button:hover {
    background-color: #0d2d4a;
}

/* Nascondi tab secondari quando non attivi */
.hidden {
    display: none;
}

.riga-disattiva {
    background-color: #a3a2a2 !important;
    color: #666 !important;
}

.riga-in-lavorazione { 
	background-color: #ffffff !important; 
}

.riga-lavorata { 
	background-color: #c2c2c2 !important; 
}

.flex-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

/* Forza l'etichetta length e search in riga */
.flex-row label {
  font-size: 16px; /* aumenta dimensione del testo */
  line-height: 1.2; /* migliora allineamento verticale */
  display: flex;
  align-items: center;
  gap: 5px;
}

/* Per evitare spazi verticali nei figli */
.flex-row select,
.flex-row input[type="search"] {
  font-size: 16px;
  height: 32px;
  padding: 4px 8px;
}

div.dataTables_length,
div.dataTables_filter {
  margin-bottom: 0 !important;
}

 .login-container {
            max-width: 400px;
            margin: 50px auto;
            text-align: center;
        }

        .login-form input[type="text"],
        .login-form input[type="password"] {
            width: 100%;
            padding: 10px;
            font-size: 16px;
            margin-top: 10px;
            margin-bottom: 10px;
            box-sizing: border-box;
        }

        .button-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: space-between;
    margin: 20px 0;
}

.button-row button,
.button-row a {
    flex: 1 1 48%;
    padding: 15px;
    font-size: 18px;
    border: none;
    background-color: #444;
    color: white;
    border-radius: 8px;
    text-align: center;
    text-decoration: none;
    box-sizing: border-box;
    display: block;
}

        .button-row a:hover,
        .button-row input[type="submit"]:hover {
            background-color: #0d2d4a;
        }

/* stile per login e registrati */
@media (max-width: 480px) {
  .login-container {
    max-width: 95%;
    margin: 20px auto;
    padding: 10px;
  }

  .login-form input[type="text"],
  .login-form input[type="password"] {
    font-size: 18px;
    padding: 12px;
  }

  .button-row {
    flex-direction: column;
    gap: 10px;
  }

  .button-row a,
  .button-row input[type="submit"] {
    flex: none;
    width: 100%;
    font-size: 18px;
    padding: 12px 0;
  }
}

/* === Stile per il popup anteprima immagine === */
.popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.7);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

.popup-box {
    background-color: #fff;
    padding: 30px;
    border-radius: 10px;
    max-width: 400px;
    width: 90%;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.3);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: auto; /* <--- questa è la modifica chiave */
}

.popup-content {
    position: relative;
    background: #fff;
    padding: 20px;
    max-width: 50%;
    max-height: 90vh;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    border-radius: 8px;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
}

.popup-content img {
    max-height: 60vh;
    width: auto;
    cursor: pointer;
    margin: 10px 0;
    border-radius: 6px;
}

.popup-close {
    position: absolute;
    top: 10px;
    right: 15px;
    font-size: 22px;
    cursor: pointer;
    font-weight: bold;
    color: #333;
}

.popup-title {
    font-size: 18px;
    margin-bottom: 10px;
    font-weight: bold;
    text-align: center;
}

.popup-details {
    margin-top: 10px;
    font-size: 14px;
    white-space: pre-line;
    text-align: left;
    color: #333;
}

@media (max-width: 480px) {
    .popup-box {
        width: 95%;
        padding: 20px;
        margin: auto; /* aggiunta per assicurare il centramento su mobile */
    }
}

/* Uniforma il bottone "Anteprima" agli altri bottoni */
.preview-btn {
	display: inline-block;
    padding: 6px 12px;
    background-color: #15416B;
    color: white;
    text-decoration: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.preview-btn:hover {
    background-color: #0d2d4a;;
}

.aggiungi-utente-form input,
.aggiungi-utente-form button {
    margin: 0 5px 5px 0;
    flex: 0 0 auto;
}

.aggiungi-utente-form {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
}

    #tabella-utenti td, 
    #tabella-utenti th {
        padding: 6px 8px !important;
        font-size: 16px;
    }

    .button-elimina {
       padding: 6px 12px;
    background-color: #15416B;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 16px;
    }

    .button-elimina:hover {
        background-color: #a00000;
    }

/* === Overlay popup === */
.popup-overlay-seg {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0, 0, 0, 0.7);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

/* === Contenuto del popup === */
.popup-content-seg {
  background: white;
  padding: 20px;
  border-radius: 8px;
  max-width: 90%;
  max-height: 90%;
  box-shadow: 0 0 15px rgba(0,0,0,0.5);
}

/* === Pulsante chiudi === */
.close-btn-seg {
  position: absolute;
  top: 10px; right: 20px;
  font-size: 24px;
  color: #333;
  cursor: pointer;
}

th.col-km, td.col-km {
    width: 90px !important;
    white-space: nowrap;
}

th.col-azione, td.col-azione {
    width: 220px !important;
}

.num {
    text-align: right;
    font-variant-numeric: tabular-nums; /* opzionale: colonne allineate meglio */
}

/* === Stile specifico gestione_schede.php === */
.schede-veicoli input[type="text"] {
    width: 100%;
    box-sizing: border-box;
}

/* Pulsanti Modifica, Elimina, Salva */
.aggiungi-btn, .modifica-btn, .elimina-btn {
    padding: 6px 12px;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-size: 14px;
    margin-right: 1px; /* spazio tra pulsanti */
	margin-bottom: 1px; /* spazio tra pulsanti */
}

.aggiungi-btn {
    margin-top: 15px;
    background-color: #15416B;
    color: white;
}

.aggiungi-btn:hover { background-color: #0d2d4a; }

.modifica-btn {
    background-color: #28a745;
    color: white;
}

.modifica-btn:hover { background-color: #1e7e34; }

.elimina-btn {
    background-color: #dc3545;
    color: white;
}

.elimina-btn:hover { background-color: #a71d2a; }

/* Colore e grassetto prima colonna */
.schede-veicoli td:first-child,
.schede-veicoli th:first-child {
    background-color: #e0e0e0;
    font-weight: bold;
}

/* Maiuscola iniziale prima colonna */
.schede-veicoli td:first-child {
    text-transform: capitalize;
}

/* Centra testo */
.schede-veicoli th, .schede-veicoli td {
    text-align: center;
    vertical-align: middle;
}

/* Riduci font intestazioni veicoli */
.schede-veicoli th {
    font-size: 14px;
}

    table.schede-veicoli {
        border-collapse: collapse;
        width: 100%;
    }
    table.schede-veicoli th, 
    table.schede-veicoli td {
        border: 1px solid #ccc;
        padding: 4px 6px; /* riduce lo spazio */
        font-size: 14px;
        line-height: 1.2;
    }
    .modifica-btn, .elimina-btn, .aggiungi-btn {
        font-size: 12px;
        padding: 2px 6px;   /* ridotto */
        margin: 0 2px;
    }

/* Elimina margini e padding dai form dentro la tabella schede */
.schede-veicoli form {
    margin: 0;
    padding: 0;
    display: inline-block; /* mantiene i form affiancati */
}

/*schede veicoli */

.veicoli-bar {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}
.veicoli-bar button {
    padding: 10px 15px;
    cursor: pointer;
    border: 1px solid #ccc;
    background: #f9f9f9;
    border-radius: 5px;
    transition: 0.2s;
}
.veicoli-bar button:hover {
    background: #e0e0e0;
}
.scheda-veicolo {
    background: #fff;
    border-radius: 10px;
    padding: 20px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
    max-width: 950px;
}
.scheda-header {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}
.scheda-header img {
    width: 200px;
    height: auto;
    margin-right: 20px;
    border: 1px solid #ccc;
    border-radius: 6px;
}
.scheda-header h2 { margin: 0; }
.scheda-dati table {
    width: 100%;
    border-collapse: collapse;
}
.scheda-dati th, .scheda-dati td {
    border: 1px dashed #aaa;
    padding: 6px 8px;
    max-width: 100%;
    word-wrap: break-word;
    text-align: left;
}
.scheda-dati th {
    background: #f0f0f0;
    font-weight: bold;
}

#scanner-container {
    display: none;
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0,0,0,0.7);
    justify-content: center; align-items: center;
    z-index: 1000;
}

#scanner {
    width: 90%;
    max-width: 400px;
    height: 60vh; /* altezza sufficiente per la fotocamera */
    background: #000; /* visibile */
    border-radius: 10px;
    overflow: hidden;
}

table.dataTable tbody tr.riga-attenta {
    background-color: #f9f0a6 !important;
}

table.dataTable tbody tr.riga-scaduta {
    background-color: #ffb3b3 !important;
}

table.dataTable tbody tr.riga-km-alto {
    background-color: #ffd699 !important;
}

