/* Uses the site's Space/Noto typography and brand tokens. */
body[data-service-page=outils] .public-service-content{max-width:1280px}
body[data-service-page=outils] .public-service-heading{margin-bottom:24px}
body[data-service-page=outils] .public-service-heading h1{font-size:clamp(36px,4vw,56px);margin-bottom:16px}
body[data-service-page=outils] .public-service-heading>.service-action{display:none}
body[data-service-page=outils] .service-breadcrumb{margin-bottom:20px}
body[data-service-page=outils] .public-service-body{max-width:none}
.engineering-tools{--tool-surface:var(--brand-surface,#08111c);font-family:var(--brand-body,Noto,Arial,sans-serif);min-width:0}
.engineering-tools [hidden]{display:none!important}
.tool-local{font-size:13px!important;color:var(--brand-muted)!important;margin-block:20px!important}
.tool-tabs{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--line);gap:8px;margin-block:20px 36px}
.tool-tabs button{border:1px solid transparent;border-bottom:2px solid transparent;padding:14px 20px;min-height:48px;font-size:15px;text-align:start;max-width:100%;overflow-wrap:anywhere}
.tool-tabs [aria-selected=true]{color:var(--brand-blue);border-bottom-color:var(--brand-blue);background:var(--tool-surface)}
.engineering-tools section[role=tabpanel]{border:0;padding:0 0 30px}
.engineering-tools h2{font-family:var(--brand-display,Space,Arial,sans-serif);font-size:clamp(25px,3.5vw,40px);margin-bottom:18px}
.engineering-tools .tool-intro{max-width:850px;font-size:15px;line-height:1.7;margin-bottom:28px}
.tool-form{display:grid;gap:18px;align-content:start;min-width:0}
.time-form{grid-template-columns:1fr 1.5fr auto;align-items:end;margin-bottom:28px}
.tool-form label{display:grid;gap:8px;min-width:0;font-size:13px;color:#b7c5d3}
.tool-form label>span{overflow-wrap:anywhere}
.tool-form input,.tool-form select{font:16px var(--brand-body,Noto,Arial,sans-serif);color:var(--brand-white);background:var(--tool-surface);border:1px solid #ffffff45;border-radius:0;min-height:48px;width:100%;min-width:0;padding:10px 12px;max-width:100%}
.tool-form input:focus-visible,.tool-form select:focus-visible,.engineering-tools button:focus-visible,.engineering-tools [tabindex]:focus-visible{outline:2px solid var(--brand-blue);outline-offset:3px}
.tool-form input:invalid:not(:placeholder-shown){box-shadow:none}
.tool-button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:12px 18px;border:1px solid var(--brand-blue);font:14px/1.4 var(--brand-display,Space,Arial,sans-serif);text-decoration:none!important;text-align:center;gap:8px;overflow-wrap:anywhere;max-width:100%}
.tool-button:hover{background:#10344a}.tool-button.primary{background:var(--brand-blue);color:#03070d}.tool-button:disabled{opacity:.5;cursor:wait}
.time-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:28px 0;border-top:1px solid var(--line)}
.time-results>div{border-bottom:1px solid var(--line);padding:24px 14px 24px 0;min-width:0}
.time-same-instant{color:var(--brand-blue)!important;font:500 13px var(--brand-display)!important;margin:28px 0 0!important}
.time-results .time-result-card{padding:22px 18px;border-inline-start:2px solid transparent;background:var(--tool-surface);transition:background .15s,border-color .15s}
.time-results .time-result-card.is-selected{border-inline-start-color:var(--brand-blue);background:#102334}
.time-results .time-result-card:hover{background:#102334}
.time-scale-choice{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0;color:var(--brand-white);font:600 17px var(--brand-display);text-align:start}
.time-scale-choice span{color:var(--brand-blue);font-size:14px}.time-scale-choice:disabled{opacity:.45;cursor:default}
.time-scale-diagram{padding:20px 18px;background:var(--tool-surface);border-bottom:1px solid var(--line)}
.time-scale-track{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;direction:ltr}
.time-scale-track:before{content:'';position:absolute;top:6px;left:7px;right:7px;height:1px;background:#15aeef70}
.time-scale-track>span{position:relative;padding-top:20px;color:var(--brand-white);font:500 13px var(--brand-display)}
.time-scale-track>span:before{content:'';position:absolute;top:2px;left:0;width:9px;height:9px;background:var(--brand-blue);border-radius:50%}
.time-scale-track bdi{display:block;color:var(--brand-blue);font:13px ui-monospace,Consolas,monospace;margin-top:6px}
.time-results dt,.brief-metrics dt{font-size:13px;color:var(--brand-muted);margin-bottom:12px;overflow-wrap:anywhere}
.time-results dd{font:clamp(15px,1.7vw,22px)/1.6 ui-monospace,Consolas,monospace;margin:0;color:var(--brand-white);overflow-wrap:anywhere;direction:ltr;text-align:start;font-variant-numeric:tabular-nums}
.time-results dd small{display:block;color:var(--brand-blue);font-size:14px;margin-top:6px}
.tool-note{border-inline-start:2px solid #ffffff45;padding-inline-start:18px;font-size:13px!important;line-height:1.8!important;color:var(--brand-muted)!important;margin-block:22px!important;max-width:1000px}
.tool-actions{display:flex;align-items:center;gap:14px 24px;flex-wrap:wrap;margin-block:24px}
.tool-actions>a:not(.tool-button){font-size:13px;line-height:1.5}
.drift-layout{display:grid;grid-template-columns:minmax(200px,260px) minmax(0,1fr);gap:44px;margin-block:28px}
.tool-form .tool-check{display:flex;align-items:center;gap:12px;min-height:44px;cursor:pointer}
.tool-check input{width:20px;height:20px;min-height:0;accent-color:var(--brand-blue)}
.drift-visual{position:relative;min-width:0;padding:20px;border:1px solid var(--line);background:var(--tool-surface)}
.drift-visual svg{width:100%;display:block;direction:ltr}.tool-chart-label,.tool-chart-axis{font-size:12px!important;color:var(--brand-muted)!important}.tool-chart-axis{text-align:center;margin-bottom:18px!important}
.drift-visual svg text{font-size:14px}
.drift-result{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;border-top:1px solid var(--line);padding-top:20px}
.drift-result>span{font-size:13px;color:var(--brand-muted)}
.drift-result strong{font:500 clamp(22px,3vw,38px)/1.3 var(--brand-display);color:var(--brand-blue);overflow-wrap:anywhere}
.drift-result #drift-comparison{width:100%;color:#dfad65}
.brief-form{grid-template-columns:1.2fr 1fr 1fr auto;align-items:end;margin-block:28px}
.brief-form:has(label[hidden]){grid-template-columns:1.2fr 1fr auto}
.brief-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:32px;margin-block:24px}
#brief-map{display:block;width:100%;background:#06101c;border:1px solid var(--line);direction:ltr}
.tool-map-credit{font-size:10px!important;color:var(--brand-muted)!important;margin-block:8px!important}
.brief-metrics{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px;margin:0 0 24px}.brief-metrics>div{min-width:0;border-bottom:1px solid var(--line);padding-bottom:14px}.brief-metrics dd{font:500 22px/1.4 var(--brand-display);margin:0;overflow-wrap:anywhere}.brief-metrics dt{margin-bottom:6px}
.tool-warning{color:#efc58a!important;border-inline-start:2px solid #dfad65;padding-inline-start:12px;font-size:13px!important;margin-block:18px!important}
.tool-context{border-block:1px solid var(--line);margin-block:30px;padding:8px 0}.tool-context summary{min-height:44px;padding-block:12px;cursor:pointer;font-size:14px}.tool-context a{display:block;padding-block:12px;font-size:14px}
#time-status,#drift-status,#brief-status{font-size:13px;color:var(--brand-muted);overflow-wrap:anywhere;margin-block:16px}
html[dir=rtl] .engineering-tools h2,html[dir=rtl] .tool-tabs{letter-spacing:0}
@media(max-width:900px){.time-form{grid-template-columns:1fr 1fr}.time-form .tool-button{grid-column:1/-1;justify-self:start}.drift-layout{gap:24px}.brief-form{grid-template-columns:1fr 1fr!important}.brief-layout{grid-template-columns:1fr}.brief-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.tool-tabs{gap:0;margin-bottom:28px}.tool-tabs button{padding:12px 10px;font-size:13px;flex:1 1 100px}.time-form{grid-template-columns:1fr}.time-results{grid-template-columns:1fr}.time-results>div{padding-block:16px}.time-results dd{font-size:18px}.drift-layout{grid-template-columns:1fr}.drift-layout .tool-form{grid-template-columns:1fr 1fr;gap:16px}.drift-visual{padding:12px}.drift-result{display:grid;gap:10px}.drift-result strong{font-size:28px}.brief-form{grid-template-columns:1fr!important}.brief-metrics{grid-template-columns:1fr 1fr}.brief-metrics dd{font-size:19px}.tool-actions{gap:12px}.tool-actions .tool-button{flex:1 1 130px}}
@media(max-width:600px){.drift-visual svg text{font-size:23px}}
.engineering-tools .holdover-presets{margin-top:38px;padding:28px 0 0;border-top:1px solid var(--line)}
.holdover-presets h3{font:500 23px/1.3 var(--brand-display);margin:0 0 18px}
.holdover-presets>label{display:grid;gap:8px;max-width:260px;color:var(--brand-muted);font-size:13px}
.holdover-presets select{min-height:48px;padding:10px 12px;background:var(--brand-surface);color:var(--brand-white);border:1px solid #ffffff45;font:16px var(--brand-body)}
.holdover-presets select:focus-visible{outline:2px solid var(--brand-blue);outline-offset:3px}
.preset-table-wrap{overflow-x:auto;margin-block:22px}
.holdover-presets table{border-collapse:collapse;width:100%;font-size:14px;text-align:start}
.holdover-presets th,.holdover-presets td{padding:14px 12px;border-bottom:1px solid var(--line);text-align:start;vertical-align:top}
.holdover-presets th[scope=row]{font-weight:500}.holdover-presets thead{color:var(--brand-muted)}
.holdover-presets .preset-unavailable{color:var(--brand-muted);font-size:12px}
.holdover-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:22px 0 28px}
.holdover-controls label{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;font-size:13px;color:var(--brand-muted)}
.holdover-controls output{color:var(--brand-white);font-variant-numeric:tabular-nums;white-space:nowrap;direction:ltr}
.holdover-controls input{grid-column:1/-1;width:100%;min-height:32px;accent-color:var(--brand-blue);cursor:pointer}
.holdover-controls input:focus-visible,.holdover-legend input:focus-visible{outline:2px solid var(--brand-blue);outline-offset:3px}
.holdover-chart-wrap{position:relative;background:var(--brand-surface);border:1px solid var(--line);padding:18px;min-width:0}
.holdover-tooltip{position:absolute;z-index:2;max-width:min(340px,calc(100% - 16px));padding:10px 12px;background:#101e2b;border:1px solid #15aeef;color:#f2f5f8;font:13px/1.5 var(--brand-body);box-shadow:0 6px 20px #0008;pointer-events:none;overflow-wrap:anywhere}
.holdover-chart-wrap p{font-size:12px!important;color:var(--brand-muted)!important;margin:0!important}
.holdover-chart-wrap p:last-child{text-align:center}.holdover-chart-wrap svg{width:100%;display:block;direction:ltr}
.holdover-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin-block:18px}
.holdover-legend label{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:12px 0;min-height:48px;cursor:pointer;font-size:13px}
.holdover-legend input{width:18px;height:18px;accent-color:var(--brand-blue)}
.holdover-legend span{border-inline-start:3px solid var(--series-color);padding-inline-start:10px;overflow-wrap:anywhere}
.holdover-legend output{font-family:ui-monospace,Consolas,monospace;font-variant-numeric:tabular-nums;white-space:nowrap;direction:ltr}
@media(max-width:700px){.holdover-controls,.holdover-legend{grid-template-columns:1fr}.holdover-controls{gap:14px}.holdover-chart-wrap{padding:10px}.holdover-chart-wrap svg text{font-size:22px}}
.engineering-tools .drift-custom{border-top:1px solid var(--line);margin-top:34px;padding:26px 0 0}.drift-custom h3{font:500 23px/1.3 var(--brand-display);margin:0 0 18px}

.time-results .time-scale-definition{font-family:inherit;font-size:.875rem;font-weight:400;line-height:1.6;color:var(--muted,#a6b7c6);margin-top:1rem;white-space:normal;overflow-wrap:anywhere}
