/* Surcouche MaintSoft : la feuille style.css d'origine reste intacte. */
.topbar{background:#1a73e8;color:white;padding:10px 18px;gap:12px}
.topbar h1{font-size:21px;margin:0;flex:1;text-align:center}
.dropdown-content a{display:block;padding:10px 14px;text-decoration:none;color:#0f172a}
.dropdown-content a:hover{background:#edf4ff}
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px}
.login-card{background:white;border:1px solid var(--line);border-radius:14px;box-shadow:0 6px 18px rgba(16,24,40,.06);padding:22px;max-width:370px;width:100%;display:grid;gap:10px}
.login-card h1{color:var(--blue);font-size:22px;margin:0 0 8px}
.login-card input{padding:10px;border:1px solid var(--line);border-radius:8px;width:100%}
.login-card .brand{display:flex;align-items:center;gap:10px}
.login-card .brand img{object-fit:contain}
.login-card .btn{margin-top:12px}
.contrats-table th,.contrats-table td{text-align:left;padding:9px 10px}
.contrats-table th{white-space:nowrap}
.contrats-table td{vertical-align:top}
.contrats-table .amount{text-align:right;white-space:nowrap}
.contrats-table .nowrap{white-space:nowrap}
.help{color:#64748b;font-size:.9rem}


/* Fiche contrat : disposition des deux sections Client. */
.btn-detail { display:inline-block; text-decoration:none; white-space:nowrap; }
.btn-back { display:inline-block; text-decoration:none; }
.client-columns { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:18px; }
.client-panel { display:flex; flex-direction:column; gap:8px; border:1px solid var(--line);
                border-radius:12px; padding:18px; min-width:0; background:#fff; }
.client-panel h3 { margin:0 0 8px; color:#1a73e8; }
.client-panel label { font-weight:600; font-size:.92rem; }
.client-panel input { width:100%; padding:9px 10px; border:1px solid var(--line);
                      border-radius:8px; background:#fff; color:var(--text); }
.client-panel input[readonly] { background:#f1f5f9; color:#475569; }
.client-panel .help { margin:0 0 5px; }
.form-actions { display:flex; justify-content:flex-end; margin-top:auto; padding-top:16px; }
@media (max-width:700px) { .client-columns { grid-template-columns:1fr; } }

/* Choix d'un contrat lorsque plusieurs contrats appartiennent au client. */
.contrat-choix { display:flex; gap:8px; flex-wrap:wrap; margin:12px 0 4px; }

/* Seconde partie « Contrat » : type, condition et cases à cocher. */
.client-panel select, .client-panel textarea {
    width:100%; padding:9px 10px; border:1px solid var(--line);
    border-radius:8px; background:#fff; color:var(--text);
    font:inherit; box-sizing:border-box;
}
.client-panel textarea { resize:vertical; min-height:110px; }
.client-panel .contrat-checkbox {
    display:flex; flex-direction:row; align-items:center; gap:10px;
    cursor:pointer; margin:6px 0;
}
.client-panel .contrat-checkbox input[type="checkbox"] {
    width:18px; height:18px; flex:0 0 auto; margin:0;
}

/* Troisième partie « Parc machines » : une machine par ligne, même inactive. */
.parc-table-wrap { overflow-x:auto; }
.parc-table { width:100%; border-collapse:collapse; min-width:540px; }
.parc-table th, .parc-table td {
    text-align:left; vertical-align:middle; padding:10px 12px;
    border-bottom:1px solid var(--line);
}
.parc-table th { white-space:nowrap; }
.parc-table input[type="checkbox"] { width:18px; height:18px; cursor:pointer; }
.parc-table .parc-machine-inactive { background:#f1f5f9; color:#64748b; }
.parc-form { margin:0; }
.parc-form .btn { white-space:nowrap; }
