
:root{--primary:#174a68;--primary2:#216b91;--bg:#eef3f6;--card:#fff;--text:#17212b;--muted:#667784;--danger:#a62a2a;--border:#cbd6dc}
*{box-sizing:border-box}
html{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}
body{margin:0}
.topbar{padding:16px max(16px,env(safe-area-inset-left));background:linear-gradient(135deg,var(--primary),var(--primary2));color:white;display:flex;justify-content:space-between;gap:12px;align-items:center}
.topbar h1{margin:0;font-size:1.45rem}.topbar p{margin:2px 0 0;opacity:.9}.version{background:#fff;color:var(--primary);padding:6px 10px;border-radius:999px;font-weight:800;white-space:nowrap}
.tabs{display:flex;position:sticky;top:0;z-index:20;background:white;border-bottom:1px solid var(--border);overflow:auto}
.tab{flex:1;min-width:120px;border:0;border-radius:0;background:white;color:var(--text);padding:14px;font-weight:750}
.tab.active{color:var(--primary);box-shadow:inset 0 -4px var(--primary)}
main{max-width:1180px;margin:0 auto;padding:16px}
.page{display:none}.page.active{display:block}
.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px;margin-bottom:16px;box-shadow:0 4px 16px rgba(20,50,70,.06)}
h2{margin:0 0 14px;color:var(--primary)}h3{margin:18px 0 8px;font-size:1rem}
.grid{display:grid;gap:12px}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.four{grid-template-columns:repeat(4,minmax(0,1fr))}.span2{grid-column:span 2}
label{display:flex;flex-direction:column;gap:5px;font-weight:650;font-size:.94rem}
input,select,textarea{width:100%;font:inherit;padding:12px;border:1px solid #aebdc6;border-radius:9px;background:white;color:var(--text)}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(33,107,145,.18);border-color:var(--primary2)}
input[readonly]{background:#edf2f4;font-weight:800}
.checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 14px}
.checks label{flex-direction:row;align-items:center;background:#f5f8fa;padding:10px;border-radius:9px}
.checks input{width:21px;height:21px;flex:none}
.hint{color:var(--muted)}
.signature-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.signature{display:block;width:100%;height:180px;background:white;border:2px dashed #8296a2;border-radius:10px;touch-action:none}
button{font:inherit;font-weight:800;border:0;border-radius:10px;background:var(--primary);color:white;padding:12px 16px;cursor:pointer}
button.secondary{background:#526a78}button.danger{background:var(--danger)}
.actions{display:flex;gap:10px;flex-wrap:wrap;padding:12px 0 20px}.sticky{position:sticky;bottom:0;background:rgba(238,243,246,.94);z-index:15}
.doc-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.doc-links a{color:var(--primary);font-weight:800}
.history-item{border:1px solid var(--border);border-radius:10px;margin-top:10px;padding:12px;display:flex;justify-content:space-between;gap:10px;align-items:center}.history-item p{margin:3px 0;color:var(--muted)}
#toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,120px);background:#17212b;color:white;padding:12px 18px;border-radius:10px;transition:.25s;z-index:100;max-width:90%;text-align:center}#toast.show{transform:translate(-50%,0)}
@media(max-width:800px){.four{grid-template-columns:repeat(2,minmax(0,1fr))}.checks{grid-template-columns:1fr 1fr}.signature-grid{grid-template-columns:1fr}}
@media(max-width:520px){main{padding:10px}.two,.four{grid-template-columns:1fr}.span2{grid-column:auto}.checks{grid-template-columns:1fr}.topbar{align-items:flex-start}.version{font-size:.78rem}.actions button{width:100%}}
@media print{.topbar,.tabs,.actions,.clear-signature{display:none!important}body{background:white}.card{box-shadow:none;break-inside:avoid}.page{display:block!important}#page-historique,#page-parametres{display:none!important}}


/* Correctifs iPad / Safari */
html{-webkit-text-size-adjust:100%}
body{min-height:100%;overscroll-behavior-y:none}
button,input,select,textarea{-webkit-appearance:none;appearance:none}
input,select,textarea{font-size:16px;min-height:48px}
button{min-height:48px;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
input[type="checkbox"]{-webkit-appearance:auto;appearance:auto}
input[type="date"]{-webkit-appearance:auto;appearance:auto}
.signature{
  height:220px;
  -webkit-user-select:none;
  user-select:none;
  touch-action:none;
}
.actions.sticky{
  position:static;
  background:transparent;
}
.tabs{
  -webkit-overflow-scrolling:touch;
}
@supports(padding:max(0px)){
  .topbar{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));}
  main{padding-bottom:max(18px,env(safe-area-inset-bottom));}
}
@media (pointer:coarse){
  .checks label{min-height:50px}
  .tab{min-height:52px}
}

button.success{background:#176b43}

small{font-weight:500;color:var(--muted)}
.radio-row{display:flex;gap:18px;flex-wrap:wrap;margin:8px 0 14px}
.radio-row label{flex-direction:row;align-items:center;background:#f5f8fa;padding:10px 14px;border-radius:9px}
.radio-row input{width:22px;height:22px;min-height:auto;-webkit-appearance:auto;appearance:auto}
.status-info{background:#eaf4f8;border-left:5px solid var(--primary2);padding:12px;border-radius:8px;font-weight:650}
.leak-table{display:grid;grid-template-columns:55px minmax(180px,1fr) minmax(130px,180px);gap:8px;align-items:center}
.leak-head{font-weight:800;color:var(--primary)}
@media(max-width:620px){
 .leak-table{grid-template-columns:42px 1fr}
 .leak-table .leak-head:nth-child(3){display:none}
 .leak-table select{grid-column:2}
}

.app-logo{width:72px;height:72px;object-fit:contain;background:#fff;border-radius:14px;padding:4px;flex:none}
button.complete{background:#7a3f00;font-size:1.02rem}
@media(max-width:520px){.app-logo{width:58px;height:58px}.topbar{gap:9px}}

.lock-screen{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:linear-gradient(145deg,#0f344a,#174a68);
}

.lock-screen.hidden{
  display:none;
}

.lock-card{
  width:min(420px,100%);
  padding:28px;
  border-radius:20px;
  background:#fff;
  text-align:center;
  box-shadow:0 20px 60px rgba(0,0,0,.35);
}

.lock-logo{
  width:125px;
  height:125px;
  object-fit:contain;
}

.lock-card h1{
  margin:8px 0 2px;
  color:#174a68;
}

.lock-card p{
  color:#667784;
}

.lock-card label{
  margin-top:18px;
  text-align:left;
}

.lock-card input{
  min-height:56px;
  margin:8px 0 14px;
  font-size:28px;
  text-align:center;
  letter-spacing:10px;
}

.lock-card button{
  width:100%;
  min-height:54px;
}

.lock-message{
  min-height:24px;
  color:#a62a2a!important;
  font-weight:800;
}

body.locked>header,
body.locked>nav,
body.locked>main{
  filter:blur(4px);
  pointer-events:none;
  user-select:none;
}


/* Pense-bête des mesures frigorifiques : affichage uniquement dans l'application */
.measurement-help{
  margin:18px 0 8px;
  border:1px solid #b7c9d5;
  border-radius:12px;
  background:#f7fbfd;
  overflow:hidden;
}
.measurement-help summary{
  cursor:pointer;
  padding:14px 16px;
  font-weight:800;
  color:#174a68;
  background:#eaf4f8;
  user-select:none;
}
.measurement-help-content{padding:14px}
.measurement-diagram{
  display:block;
  width:100%;
  height:auto;
  border-radius:10px;
  border:1px solid #d3dee5;
  background:#fff;
}
.measurement-formulas{
  display:flex;
  flex-direction:column;
  gap:5px;
  margin:14px 0;
  padding:12px;
  border-left:5px solid #174a68;
  background:#fff;
  border-radius:8px;
}
.measurement-help h4{margin:16px 0 8px;color:#174a68}
.diagnostic-table{
  display:grid;
  grid-template-columns:minmax(150px,.8fr) minmax(240px,2fr);
  border:1px solid #c7d5dd;
  border-radius:8px;
  overflow:hidden;
  background:#fff;
}
.diagnostic-table>div{padding:10px;border-bottom:1px solid #dce5ea}
.diagnostic-table>div:nth-child(odd){border-right:1px solid #dce5ea;font-weight:700}
.diagnostic-table>div:nth-last-child(-n+2){border-bottom:0}
.diagnostic-head{background:#174a68;color:#fff!important;font-weight:800!important}
.measurement-warning{margin:12px 0 0}
@media(max-width:620px){
  .measurement-help summary{padding:13px 12px}
  .measurement-help-content{padding:10px}
  .diagnostic-table{grid-template-columns:1fr}
  .diagnostic-table>div:nth-child(odd){border-right:0;background:#edf5f8}
  .diagnostic-head{display:none}
  .diagnostic-table>div:nth-last-child(-n+2){border-bottom:1px solid #dce5ea}
  .diagnostic-table>div:last-child{border-bottom:0}
}
@media print{.measurement-help{display:none!important}}

.history-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.history-actions .duplicate{background:#176b45;color:#fff;border-color:#176b45}@media(max-width:760px){.history-item{align-items:flex-start;flex-direction:column}.history-actions{width:100%;justify-content:flex-start}.history-actions button{flex:1 1 auto}}

.suite-back{display:block;padding:10px 16px;background:#0f3449;color:#fff;text-decoration:none;font-weight:700;text-align:left}.suite-back:active{opacity:.8}
