:root{
    --navy-950: #071321;
    --navy-900: #0b1e34;
    --navy-800: #102b47;
    --ink: #172b42;
    --muted: #71829a;
    --line: #e7edf3;
    --surface: #ffffff;
    --page: #f5f8fb;
    --blue: #1683ee;
    --blue-soft: #e9f4ff;
    --green: #0f9f72;
    --green-soft: #e9f8f2;
    --amber: #d98b25;
    --amber-soft: #fff5e6;
    --purple: #8564d9;
    --purple-soft: #f2edff;
    --shadow: 0 12px 36px rgba(18, 46, 76, .07);
}

*{ box-sizing: border-box; }
html,
body{ margin: 0; min-height: 100%; background: var(--page); color: var(--ink); font-family: 'DM Sans', sans-serif; }
body{ font-size: 16px; }
button,
input,
select,
textarea{ font: inherit; }
button{ cursor: pointer; }
a{ color: inherit; text-decoration: none; }

.anr-shell{ min-height: 100vh; background: var(--page); }
.anr-header{ height: 78px; display: flex; align-items: center; gap: 14px; padding: 0 32px; background: var(--navy-950); color: #fff; }
.anr-brand{ width: 168px; display: flex; align-items: center; }
.anr-brand img{ width: 142px; height: auto; display: block; mix-blend-mode: screen; }
.header-icon-button{ width: 36px; height: 36px; border: 1px solid rgba(255,255,255,.17); border-radius: 10px; color: #b8cbea; background: rgba(255,255,255,.06); font-size: 20px; }
.active-project{ min-width: 265px; border: 0; border-left: 1px solid rgba(255,255,255,.13); padding: 1px 0 1px 22px; display: grid; grid-template-columns: 1fr auto; gap: 3px 14px; color: #fff; background: transparent; text-align: left; }
.eyebrow,
.breadcrumb,
.panel-kicker,
.sidebar-caption{ color: #8da5bf; font-size: 10px; font-weight: 700; letter-spacing: .12em; }
.active-project .eyebrow{ grid-column: 1 / -1; color: #7397bd; }
.project-name{ font-weight: 600; font-size: 13px; }
.chevron{ color: #91a6be; font-size: 18px; line-height: 1; }
.header-actions{ display: flex; align-items: center; gap: 8px; margin-left: auto; }
.header-action,
.user-chip{ border: 0; color: #c7d5e6; background: transparent; }
.header-action{ padding: 9px 10px; font-size: 13px; display: flex; align-items: center; gap: 7px; border-radius: 8px; }
.header-action:hover{ background: rgba(255,255,255,.07); color: #fff; }
.header-divider{ width: 1px; height: 27px; margin: 0 8px; background: rgba(255,255,255,.13); }
.user-chip{ display: flex; align-items: center; gap: 9px; padding: 3px 0 3px 5px; text-align: left; }
.avatar{ width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: linear-gradient(135deg, #47b8f7, #2169d4); color: #fff; font-size: 11px; font-weight: 700; }
.user-copy{ display: grid; gap: 1px; }
.user-copy strong{ font-size: 13px; color: #f6f9fd; }
.user-copy small{ color: #8da5bf; font-size: 11px; }
.user-chip .chevron{ margin-left: 3px; }
.anr-content{ min-height: calc(100vh - 78px); display: flex; }
.anr-sidebar{ width: 250px; flex: 0 0 250px; display: flex; flex-direction: column; background: var(--navy-900); color: #b7c9dc; }
.sidebar-nav{ flex: 1; padding: 28px 16px 18px; }
.sidebar-caption{ padding: 0 14px 14px; color: #6887a7; }
.sidebar-nav nav{ display: grid; gap: 3px; }
.nav-item{ min-height: 44px; display: flex; align-items: center; gap: 12px; padding: 0 13px; border-radius: 9px; color: #aabed2; font-size: 14px; transition: .15s ease; }
.nav-item:hover{ color: #fff; background: rgba(255,255,255,.07); }
.nav-item.active{ color: #fff; background: linear-gradient(90deg, #156fc7, #1b83e1); box-shadow: 0 7px 18px rgba(3, 97, 187, .24); }
.nav-icon{ width: 18px; color: #7f9bb7; text-align: center; font-size: 17px; }
.nav-item.active .nav-icon{ color: #fff; }
.nav-item-muted{ color: #8199b1; }
.nav-separator{ height: 1px; margin: 13px 13px 10px; background: rgba(255,255,255,.09); }
.sidebar-help{ margin: 15px 0 20px; padding: 13px 14px; display: flex; align-items: center; gap: 10px; border: 1px solid rgba(156,190,224,.14); border-radius: 10px; background: rgba(255,255,255,.04); }
.help-icon{ width: 22px; height: 22px; display: grid; place-items: center; border: 1px solid #6685a3; border-radius: 50%; color: #a6bfd7; font-size: 12px; }
.sidebar-help div{ display: grid; gap: 2px; }
.sidebar-help strong{ color: #dce9f6; font-size: 11px; }
.sidebar-help small{ color: #7693b0; font-size: 10px; }
.sidebar-footer{ padding: 16px 22px 22px; border-top: 1px solid rgba(255,255,255,.08); display: grid; gap: 12px; }
.save-state{ display: flex; align-items: center; gap: 8px; color: #87a6c1; font-size: 10px; }
.status-dot{ width: 7px; height: 7px; display: inline-block; border-radius: 50%; background: #2fc394; box-shadow: 0 0 0 4px rgba(47,195,148,.12); }
.version-label{ color: #536e8a; font-size: 10px; }
.anr-main{ flex: 1; min-width: 0; }
.anr-page{ max-width: 1440px; margin: 0 auto; padding: 46px 54px 82px; }
.page-heading{ display: flex; align-items: flex-end; justify-content: space-between; gap: 25px; margin-bottom: 27px; }
.breadcrumb{ margin-bottom: 10px; color: #8aa0b8; }
.breadcrumb span{ margin: 0 7px; color: #b6c3d1; }
h1,
h2,
h3{ margin: 0; color: var(--ink); font-family: 'Space Grotesk', sans-serif; }
h1{ font-size: 38px; letter-spacing: -.04em; }
h2{ font-size: 25px; letter-spacing: -.03em; }
h3{ font-size: 18px; letter-spacing: -.02em; }
.page-intro{ margin: 8px 0 0; color: var(--muted); font-size: 15px; }
.heading-actions{ display: flex; gap: 10px; }
.button{ min-height: 42px; padding: 0 16px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 8px; font-size: 13px; font-weight: 600; transition: .15s ease; }
.button-primary{ border: 1px solid var(--blue); color: #fff; background: var(--blue); box-shadow: 0 6px 15px rgba(22,131,238,.2); }
.button-primary:hover{ background: #0d74da; transform: translateY(-1px); }
.button-secondary{ border: 1px solid #dce5ee; color: #40536a; background: #fff; }
.button-secondary:hover,
.button-outline:hover{ border-color: #aac7e2; color: var(--blue); background: #fafdff; }
.button-outline{ border: 1px solid #dce5ee; color: #50647b; background: #fff; }
.full-width{ width: 100%; }
.text-button{ border: 0; padding: 5px 0; color: var(--blue); background: transparent; font-size: 11px; font-weight: 600; }
.icon-more{ border: 0; color: #91a2b5; background: transparent; letter-spacing: 2px; }
.toast-message{ margin: -10px 0 18px; padding: 11px 14px; display: inline-flex; align-items: center; gap: 8px; border: 1px solid #c8ecdE; border-radius: 8px; color: #147657; background: var(--green-soft); font-size: 12px; }
.toast-mark{ width: 18px; height: 18px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--green); font-size: 10px; }
.dashboard-hero{ min-height: 210px; padding: 32px 36px; display: flex; justify-content: space-between; align-items: center; overflow: hidden; position: relative; border-radius: 14px; color: #fff; background: linear-gradient(112deg, #0e385e, #0c213c 68%, #102a48); box-shadow: 0 12px 28px rgba(13, 44, 77, .14); }
.dashboard-hero::after{ content: ''; width: 360px; height: 360px; position: absolute; right: 25px; top: -140px; border: 1px solid rgba(61,156,230,.16); border-radius: 50%; box-shadow: 0 0 0 36px rgba(49,146,223,.035), 0 0 0 76px rgba(49,146,223,.025); }
.hero-content{ position: relative; z-index: 1; }
.status-label{ display: flex; align-items: center; gap: 8px; color: #7bdcb9; font-size: 10px; font-weight: 700; letter-spacing: .12em; }
.hero-content h2{ margin-top: 10px; color: #fff; font-size: 25px; }
.hero-content p{ margin: 9px 0 23px; color: #a9c1d9; font-size: 14px; }
.hero-meta{ display: flex; gap: 26px; color: #8eacc7; font-size: 12px; }
.hero-meta strong{ display: block; margin-bottom: 4px; color: #d8e7f4; font-size: 11px; font-weight: 500; }
.hero-progress{ width: 134px; position: relative; z-index: 1; display: grid; justify-items: center; gap: 8px; margin-right: 36px; color: #a5bfd8; font-size: 10px; }
.progress-ring{ width: 92px; height: 92px; display: grid; place-items: center; border: 7px solid rgba(68,175,239,.22); border-top-color: #40adf0; border-right-color: #40adf0; border-radius: 50%; transform: rotate(28deg); }
.progress-ring span{ transform: rotate(-28deg); color: #fff; font-family: 'Space Grotesk', sans-serif; font-size: 24px; font-weight: 600; }
.progress-ring small{ color: #8fc9ee; font-size: 12px; }
.kpi-grid{ margin-top: 18px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
.kpi-card,
.panel{ border: 1px solid var(--line); border-radius: 12px; background: var(--surface); box-shadow: var(--shadow); }
.kpi-card{ min-height: 146px; padding: 18px 19px 15px; }
.kpi-top{ display: flex; justify-content: space-between; align-items: center; }
.kpi-icon{ width: 29px; height: 29px; display: grid; place-items: center; border-radius: 8px; font-size: 16px; font-weight: 700; }
.kpi-trend{ font-size: 11px; font-weight: 600; }
.kpi-value{ display: block; margin-top: 12px; color: var(--ink); font-family: 'Space Grotesk', sans-serif; font-size: 28px; letter-spacing: -.05em; }
.kpi-label{ display: block; margin-top: 1px; color: #75869b; font-size: 12px; }
.kpi-bar{ height: 4px; margin-top: 13px; overflow: hidden; border-radius: 3px; background: #edf2f6; }
.kpi-bar span{ height: 100%; display: block; border-radius: inherit; }
.kpi-blue .kpi-icon{ color: var(--blue); background: var(--blue-soft); }.kpi-blue .kpi-trend{ color: var(--blue); }.kpi-blue .kpi-bar span{ background: var(--blue); }
.kpi-green .kpi-icon{ color: var(--green); background: var(--green-soft); }.kpi-green .kpi-trend{ color: var(--green); }.kpi-green .kpi-bar span{ background: var(--green); }
.kpi-amber .kpi-icon{ color: var(--amber); background: var(--amber-soft); }.kpi-amber .kpi-trend{ color: var(--amber); }.kpi-amber .kpi-bar span{ background: var(--amber); }
.kpi-purple .kpi-icon{ color: var(--purple); background: var(--purple-soft); }.kpi-purple .kpi-trend{ color: var(--purple); }.kpi-purple .kpi-bar span{ background: var(--purple); }
.dashboard-columns{ margin-top: 18px; display: grid; grid-template-columns: 1.25fr .75fr; gap: 18px; }
.panel{ padding: 22px 23px; }
.panel-heading{ display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 17px; }
.panel-kicker{ display: block; margin-bottom: 6px; color: #9babbc; }
.activity-list{ display: grid; }
.activity-row{ min-height: 62px; display: grid; grid-template-columns: 31px 1fr auto; align-items: center; gap: 11px; border-top: 1px solid #eef2f5; }
.activity-icon{ width: 28px; height: 28px; display: grid; place-items: center; border-radius: 8px; font-weight: 700; }
.activity-blue{ color: var(--blue); background: var(--blue-soft); }.activity-green{ color: var(--green); background: var(--green-soft); }.activity-purple{ color: var(--purple); background: var(--purple-soft); }.activity-amber{ color: var(--amber); background: var(--amber-soft); }
.activity-row div{ display: grid; gap: 3px; }.activity-row strong{ color: #31465e; font-size: 12px; }.activity-row div span,
.activity-row time{ color: #8b9bad; font-size: 11px; }.activity-row time{ white-space: nowrap; }
.context-list{ display: grid; gap: 4px; }
.context-row{ min-height: 55px; display: grid; grid-template-columns: 30px 1fr 18px; align-items: center; gap: 11px; border-bottom: 1px solid #eef2f5; }
.context-icon{ color: #9bafc4; font-size: 17px; text-align: center; }.context-row div{ display: grid; gap: 3px; }.context-row small{ color: #8999aa; font-size: 11px; }.context-row strong{ color: #31465e; font-size: 12px; }.context-row em{ margin-left: 4px; color: var(--blue); font-size: 11px; font-style: normal; }.context-ok{ color: var(--green); font-size: 14px; }
.method-panel .button{ margin-top: 18px; }
.subnav-tabs{ display: flex; gap: 22px; margin: -3px 0 20px; border-bottom: 1px solid var(--line); }.subnav-tabs a{ padding: 0 2px 12px; color: #8494a7; font-size: 12px; }.subnav-tabs a.active{ color: var(--blue); border-bottom: 2px solid var(--blue); font-weight: 600; }
.equipment-layout{ display: grid; grid-template-columns: 1fr 1.35fr; gap: 18px; }.tree-panel,
.detail-panel{ min-height: 420px; }.tree-root,
.tree-row{ min-height: 43px; display: flex; align-items: center; gap: 9px; border-radius: 7px; color: #4a5f75; font-size: 12px; }.tree-root{ padding: 0 9px; color: #203d59; background: #f2f7fb; }.tree-branch{ margin-left: 20px; padding-left: 10px; border-left: 1px solid #dce7ef; }.tree-row{ padding: 0 8px; }.tree-row.selected{ color: var(--blue); background: var(--blue-soft); }.tree-child{ margin-left: 20px; padding-left: 10px; border-left: 1px dashed #dce7ef; }.tree-chevron{ width: 11px; color: #8ea2b6; }.tree-icon{ width: 20px; color: #7591aa; text-align: center; }.machine-icon{ color: var(--blue); }.hazard-icon{ color: var(--amber); }.tree-count{ margin-left: auto; color: #9aabba; font-size: 10px; }.add-tree-button{ width: 100%; margin-top: 16px; padding: 10px; border: 1px dashed #c5d4e1; border-radius: 7px; color: var(--blue); background: transparent; font-size: 11px; }.detail-summary{ padding: 15px; display: flex; align-items: flex-start; gap: 13px; border-radius: 8px; background: #f7fafc; }.detail-avatar{ width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; color: var(--blue); background: var(--blue-soft); font-size: 18px; }.detail-summary div:last-child{ display: grid; gap: 5px; }.detail-summary strong{ color: #31465e; font-size: 12px; }.detail-summary p{ max-width: 500px; margin: 0; color: #8191a2; font-size: 11px; line-height: 1.5; }.detail-section-title{ display: flex; justify-content: space-between; margin: 22px 0 10px; color: #556a80; font-size: 11px; font-weight: 700; }.hazard-card{ min-height: 58px; display: grid; grid-template-columns: 5px 1fr auto 15px; align-items: center; gap: 12px; border-top: 1px solid #edf1f4; }.hazard-status{ height: 27px; border-radius: 4px; }.status-warning{ background: var(--amber); }.status-ok{ background: var(--green); }.hazard-card div:nth-child(2){ display: grid; gap: 3px; }.hazard-card strong{ color: #354b62; font-size: 11px; }.hazard-card span{ color: #8a9aaa; font-size: 10px; }
.risk-tag,
.tag,
.pl-badge,
.score{ display: inline-flex; align-items: center; justify-content: center; border-radius: 5px; font-size: 10px; font-weight: 700; }.risk-tag{ min-width: 42px; padding: 4px 7px; }.risk-high,
.score-high{ color: #c65d3a; background: #fff0eb; }.risk-medium,
.score-medium{ color: #c48121; background: #fff6e7; }.risk-low,
.score-low{ color: var(--green); background: var(--green-soft); }.tag-blue{ padding: 6px 9px; color: var(--blue); background: var(--blue-soft); }.risk-summary-row{ margin-bottom: 15px; display: flex; align-items: center; justify-content: space-between; }.filter-label{ margin-right: 15px; color: #8a9aaa; font-size: 11px; }.filter-chip{ margin-right: 6px; padding: 7px 10px; border: 1px solid transparent; border-radius: 7px; color: #7c8d9e; font-size: 11px; }.filter-chip b{ margin-left: 4px; font-size: 10px; }.filter-chip.active{ color: var(--blue); border-color: #cfe5f8; background: var(--blue-soft); }.risk-table-panel{ padding: 0; overflow: hidden; }.risk-table-header,
.risk-table-row{ display: grid; grid-template-columns: 85px 1.8fr 85px 85px 125px 20px; align-items: center; gap: 15px; padding: 0 22px; }.risk-table-header{ min-height: 43px; color: #99a7b6; background: #f8fafc; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }.risk-table-row{ min-height: 75px; border-top: 1px solid #edf1f4; color: #42576d; font-size: 11px; }.risk-table-row > div{ display: grid; gap: 4px; }.risk-table-row > div small{ color: #8a9aaa; font-size: 10px; }.risk-reference{ color: var(--blue); font-family: 'Space Grotesk', sans-serif; font-size: 12px; }.pl-badge{ width: 41px; padding: 5px; color: #647b92; background: #eff4f8; }.state{ display: flex; align-items: center; gap: 6px; color: #738598; font-size: 10px; }.state i{ width: 6px; height: 6px; display: inline-block; border-radius: 50%; background: currentColor; }.state-warning{ color: var(--amber); }.state-success{ color: var(--green); }.row-arrow{ color: #a1afbd; font-size: 20px; }
.measure-banner{ min-height: 78px; padding: 15px 21px; display: flex; align-items: center; gap: 13px; border: 1px solid #cfe3f4; border-radius: 12px; background: linear-gradient(90deg, #f1f8ff, #fbfdff); }.measure-banner-icon{ width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; color: var(--blue); background: var(--blue-soft); font-size: 19px; }.measure-banner div:nth-child(2){ display: grid; gap: 4px; }.measure-banner strong{ color: #2c5273; font-size: 12px; }.measure-banner span{ color: #7f95a9; font-size: 10px; }.measure-banner-count{ margin-left: auto; color: var(--blue) !important; font-family: 'Space Grotesk', sans-serif; font-size: 23px !important; font-weight: 600; }.measure-banner-count small{ margin-left: 4px; color: #7990a7; font-family: 'DM Sans', sans-serif; font-size: 10px; font-weight: 400; }.measure-grid{ margin-top: 18px; display: grid; grid-template-columns: 1.45fr .55fr; gap: 18px; }.measure-row{ min-height: 68px; display: grid; grid-template-columns: 7px 1fr auto 15px; align-items: center; gap: 12px; border-top: 1px solid #edf1f4; }.measure-row > div{ display: grid; gap: 4px; }.measure-row strong{ color: #354b62; font-size: 11px; }.measure-row small{ color: #899aaa; font-size: 10px; }.measure-state{ height: 29px; border-radius: 4px; }.measure-state.amber{ background: var(--amber); }.measure-state.green{ background: var(--green); }.measure-status{ padding: 5px 8px; border-radius: 5px; color: var(--amber); background: var(--amber-soft); font-size: 9px; font-weight: 700; }.measure-status.done{ color: var(--green); background: var(--green-soft); }.measure-side{ align-self: start; }.measure-side-number{ margin-top: 16px; color: var(--blue); font-family: 'Space Grotesk', sans-serif; font-size: 38px; font-weight: 600; }.measure-side-number span{ color: #b4c3d0; font-size: 18px; }.measure-side > strong{ color: #40566d; font-size: 11px; }.measure-side .kpi-bar{ margin: 16px 0; }.measure-side .kpi-bar span{ width: 60%; background: var(--blue); }.measure-side p{ margin: 0 0 18px; color: #8697a8; font-size: 10px; line-height: 1.55; }
.empty-state{ min-height: 330px; display: grid; align-content: center; justify-items: center; text-align: center; }.empty-state-icon{ width: 55px; height: 55px; display: grid; place-items: center; border-radius: 15px; color: var(--blue); background: var(--blue-soft); font-size: 25px; }.empty-state h2{ margin-top: 17px; font-size: 20px; }.empty-state p{ max-width: 420px; margin: 8px 0 19px; color: #8393a5; font-size: 12px; line-height: 1.6; }
#blazor-error-ui{ position: fixed; right: 20px; bottom: 20px; z-index: 1000; display: none; padding: 12px 16px; border: 1px solid #f1caca; border-radius: 8px; color: #8f2d2d; background: #fff4f4; box-shadow: var(--shadow); }.blazor-error-boundary{ padding: 1rem; color: #fff; background: #b32121; }

@media (max-width: 1050px) {
    .anr-header{ padding: 0 20px; }.anr-brand{ width: 145px; }.header-action{ font-size: 0; }.header-action span{ font-size: 17px; }.anr-sidebar{ width: 220px; flex-basis: 220px; }.anr-page{ padding: 32px 28px 55px; }.dashboard-columns{ grid-template-columns: 1fr; }.kpi-grid{ grid-template-columns: repeat(2, 1fr); }.equipment-layout,
.measure-grid{ grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
    .anr-header{ height: 64px; gap: 8px; }.anr-brand{ width: 120px; }.anr-brand img{ width: 112px; }.active-project{ min-width: 0; padding-left: 10px; }.active-project .project-name{ max-width: 130px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.header-actions{ display: none; }.anr-content{ display: block; }.anr-sidebar{ width: 100%; min-height: auto; }.sidebar-nav{ padding: 11px 12px; }.sidebar-caption,
.sidebar-help,
.sidebar-footer{ display: none; }.sidebar-nav nav{ display: flex; gap: 4px; overflow-x: auto; }.nav-item{ min-width: max-content; min-height: 36px; padding: 0 10px; font-size: 11px; }.nav-icon{ font-size: 14px; }.nav-separator{ display: none; }.anr-page{ padding: 24px 16px 40px; }.page-heading{ display: block; }.heading-actions{ margin-top: 17px; }.dashboard-hero{ display: block; padding: 24px; }.hero-progress{ margin: 24px 0 0; }.hero-meta{ display: grid; gap: 10px; }.kpi-grid{ gap: 10px; }.kpi-card{ min-height: 133px; padding: 14px; }.kpi-value{ font-size: 24px; }.risk-summary-row{ display: block; }.risk-summary-row .button{ margin-top: 10px; }.risk-table-panel{ overflow-x: auto; }.risk-table-header,
.risk-table-row{ min-width: 760px; }.risk-table-header{ padding-top: 0; }.subnav-tabs{ gap: 13px; overflow-x: auto; white-space: nowrap; }.detail-panel{ min-height: auto; }
}

@media (min-width: 721px) {
    .eyebrow,
.breadcrumb,
.panel-kicker,
.sidebar-caption{ font-size: 11px; }
    .status-label{ font-size: 11px; }
    .text-button{ font-size: 12px; }
    .tree-root,
.tree-row{ font-size: 13px; }
    .risk-table-header{ font-size: 11px; }
    .risk-table-row{ font-size: 12px; }
    .risk-table-row > div small{ font-size: 11px; }
    .filter-label,
.filter-chip{ font-size: 12px; }
    .measure-row strong{ font-size: 12px; }
    .measure-row small,
.measure-side p{ font-size: 11px; }
}

/* Échelle de lecture ANR Tool : l'interface reste nette sans zoom navigateur. */
@media (min-width: 900px){
    .anr-shell { zoom: 1.5; }
}

/* Direction visuelle issue des écrans de référence fournis dans Inputs. */
.reference-page-heading{ display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.reference-page-heading h1{ color: #10285a; font-size: 28px; letter-spacing: -.04em; }
.reference-page-heading p{ margin: 4px 0 0; color: #617393; font-size: 12px; }
.reference-refresh{ border: 1px solid #b9d2ff; border-radius: 6px; padding: 8px 12px; color: #1767ed; background: #fff; font-size: 11px; }
.inline-notice{ margin: -7px 0 15px; padding: 8px 11px; display: inline-flex; gap: 7px; border: 1px solid #c7eddc; border-radius: 5px; color: #14805c; background: #effbf5; font-size: 11px; }
.dashboard-reference-grid{ display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 14px; align-items: start; }
.dashboard-reference-main{ min-width: 0; }
.reference-context{ min-height: 94px; padding: 14px 17px; display: grid; grid-template-columns: repeat(3, 1fr); align-items: center; border-radius: 7px; box-shadow: none; }
.context-block{ min-height: 55px; padding: 0 18px; display: flex; align-items: center; gap: 11px; border-right: 1px solid #edf1f6; }
.context-block:last-child{ border-right: 0; }
.context-block-icon{ width: 31px; height: 31px; display: grid; place-items: center; border-radius: 7px; font-size: 19px; }
.icon-method{ color: #1767ed; background: #eef4ff; }.icon-revision{ color: #236eee; background: #eef4ff; }.icon-validator{ color: #19a061; background: #eaf9f1; }
.context-block div{ display: grid; gap: 3px; }.context-block small{ color: #71809a; font-size: 10px; }.context-block strong{ color: #10285a; font-size: 12px; white-space: nowrap; }.context-block span:last-child{ color: #7c8aa0; font-size: 9px; }
.context-block em{ margin-left: 5px; padding: 3px 7px; border-radius: 10px; color: #1767ed; background: #e8f0ff; font-size: 9px; font-style: normal; font-weight: 600; }.context-block em.validated{ color: #1a9d61; background: #e6f7ed; }
.reference-stat-grid{ margin-top: 12px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.reference-stat{ min-height: 95px; padding: 13px 13px 11px; position: relative; display: grid; grid-template-columns: 31px 1fr; grid-template-rows: auto auto auto; column-gap: 9px; border: 1px solid #e9eef5; border-radius: 7px; background: #fff; box-shadow: none; }
.reference-stat .stat-icon{ width: 31px; height: 31px; grid-row: 1 / span 3; display: grid; place-items: center; border-radius: 7px; font-size: 18px; }.reference-stat strong{ color: #10285a; font-family: 'Space Grotesk', sans-serif; font-size: 22px; line-height: 1; }.reference-stat small{ color: #1f3760; font-size: 10px; font-weight: 600; }.reference-stat em{ color: #8391a5; font-size: 9px; font-style: normal; }.stat-danger .stat-icon{ color: #ec3035; background: #fff0f0; }.stat-success .stat-icon{ color: #16a264; background: #eaf9f1; }.stat-warning .stat-icon{ color: #e79b20; background: #fff5e5; }.stat-blue .stat-icon{ color: #1767ed; background: #eef4ff; }.stat-purple .stat-icon{ color: #8459db; background: #f3eeff; }.stat-orange .stat-icon{ color: #f08b18; background: #fff2e4; }.wide-stat{ grid-column: span 2; }
.reference-panels-grid{ margin-top: 12px; display: grid; grid-template-columns: 1fr 1fr 1.2fr; gap: 10px; }.reference-panel{ padding: 14px 16px; border-radius: 7px; box-shadow: none; }.reference-panel-heading{ display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; }.reference-panel-heading h3{ color: #10285a; font-family: 'DM Sans', sans-serif; font-size: 12px; font-weight: 700; }.info-dot{ width: 14px; height: 14px; display: grid; place-items: center; border: 1px solid #9eabc0; border-radius: 50%; color: #8d9bb0; font-size: 9px; }
.risk-distribution{ min-height: 126px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }.risk-donut{ width: 105px; height: 105px; flex: 0 0 105px; display: grid; place-items: center; border: 16px solid #ff9d18; border-right-color: #f32932; border-bottom-color: #fbc13e; border-left-color: #28b968; border-radius: 50%; }.risk-donut span{ color: #10285a; font-family: 'Space Grotesk', sans-serif; font-size: 20px; font-weight: 600; text-align: center; }.risk-donut small{ display: block; color: #687a96; font-family: 'DM Sans', sans-serif; font-size: 9px; font-weight: 400; }.distribution-legend{ flex: 1; display: grid; gap: 7px; }.distribution-legend span{ display: flex; align-items: center; gap: 6px; color: #3f5373; font-size: 9px; white-space: nowrap; }.distribution-legend i{ width: 8px; height: 8px; border-radius: 50%; }.distribution-legend b{ margin-left: auto; color: #354b6b; font-weight: 600; }.legend-red{ background: #f32932; }.legend-orange{ background: #ff9d18; }.legend-yellow{ background: #fbc13e; }.legend-green{ background: #28b968; }
.reference-outline-button{ width: 100%; min-height: 28px; margin-top: 8px; display: flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid #abc9ff; border-radius: 4px; color: #1767ed; background: #fff; font-size: 10px; }.reference-outline-button span{ margin-left: auto; padding-right: 8px; font-size: 15px; }.reassessment-summary{ min-height: 126px; display: flex; align-items: center; justify-content: space-around; gap: 12px; }.reassessment-ring{ width: 94px; height: 94px; display: grid; place-items: center; border: 10px solid #dfe7f2; border-top-color: #1767ed; border-right-color: #1767ed; border-radius: 50%; }.reassessment-ring span{ color: #1767ed; font-family: 'Space Grotesk', sans-serif; font-size: 21px; font-weight: 600; }.reassessment-ring small{ font-size: 10px; }.reassessment-summary p{ min-width: 103px; margin: 0 0 9px; display: flex; justify-content: space-between; gap: 12px; color: #496080; font-size: 9px; }.reassessment-summary b{ color: #10285a; }.text-green{ color: #16a264 !important; }.text-orange{ color: #ea931d !important; }
.reference-activity{ display: grid; gap: 6px; }.reference-activity > div{ min-height: 27px; display: grid; grid-template-columns: 22px 1fr auto 22px; align-items: center; gap: 6px; }.activity-bullet{ width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; font-size: 11px; }.activity-bullet.green{ color: #16a264; background: #e6f7ed; }.activity-bullet.orange{ color: #e88a17; background: #fff2df; }.activity-bullet.blue{ color: #1767ed; background: #eaf1ff; }.activity-bullet.purple{ color: #8459db; background: #f2edff; }.reference-activity p{ margin: 0; display: grid; gap: 1px; }.reference-activity strong{ color: #273e63; font-size: 9px; }.reference-activity small,
.reference-activity time{ color: #8795a8; font-size: 8px; }.reference-activity b{ width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; color: #199961; background: #e4f7ec; font-size: 8px; }
.reference-risk-table{ margin-top: 12px; padding: 14px 16px 0; border-radius: 7px; box-shadow: none; }.risk-table-head,
.risk-table-line{ display: grid; grid-template-columns: .7fr 1.2fr 1.4fr 1.15fr 1.25fr 1fr 1.55fr 1.35fr; gap: 8px; align-items: center; }.risk-table-head{ padding-bottom: 8px; color: #7b8ba3; font-size: 8px; }.risk-table-line{ min-height: 39px; border-top: 1px solid #eef2f6; color: #405575; font-size: 8px; }.risk-table-line > strong{ color: #344d76; font-size: 9px; }.risk-pill{ margin-right: 3px; padding: 3px 5px; border-radius: 4px; font-size: 8px; }.pill-red{ color: #ec3035; background: #ffe9ea; }.pill-orange{ color: #e88a17; background: #fff0d9; }.pill-green{ color: #159b60; background: #e5f7ec; }.pill-yellow{ color: #db9a16; background: #fff4d7; }.table-status{ white-space: nowrap; }.table-status.success{ color: #159b60; }.table-status.pending{ color: #1767ed; }.dashboard-footer-note{ margin-top: 11px; color: #74849b; font-size: 9px; }
.project-preview-card{ min-height: 385px; padding: 14px 16px; border-radius: 7px; box-shadow: none; }.project-preview-card .reference-panel-heading{ margin-bottom: 10px; }.machine-preview{ height: 168px; position: relative; overflow: hidden; border: 1px solid #edf0f5; border-radius: 5px; background: linear-gradient(#fff, #f5f7fa); }.machine-cage{ width: 150px; height: 105px; position: absolute; left: 32px; top: 35px; border: 2px solid #707883; border-bottom-width: 3px; }.machine-cage span{ width: 1px; height: 100%; position: absolute; top: 0; background: #9da4ab; }.machine-cage span:nth-child(1){ left: 28%; }.machine-cage span:nth-child(2){ left: 55%; }.machine-cage span:nth-child(3){ left: 80%; }.machine-cage b{ width: 100%; height: 1px; position: absolute; left: 0; top: 28%; background: #9da4ab; box-shadow: 0 26px #9da4ab, 0 52px #9da4ab; }.machine-arm{ width: 46px; height: 82px; position: absolute; left: 122px; top: 57px; }.machine-arm::before{ content: ''; width: 22px; height: 15px; position: absolute; left: 5px; top: 13px; border: 7px solid #eaa70c; border-radius: 50%; transform: rotate(-35deg); }.machine-arm i{ width: 10px; height: 57px; position: absolute; left: 22px; top: 23px; border-radius: 7px; background: #edae15; transform: rotate(34deg); }.machine-arm i:nth-child(2){ left: 32px; top: 1px; height: 39px; transform: rotate(72deg); }.machine-arm b{ width: 29px; height: 8px; position: absolute; left: 0; bottom: 0; border-radius: 4px; background: #49515a; }.machine-person{ width: 15px; height: 46px; position: absolute; right: 30px; bottom: 14px; border: 2px solid #757d87; border-radius: 48% 48% 35% 35%; opacity: .8; }.machine-person::before{ content: ''; width: 10px; height: 10px; position: absolute; left: 1px; top: -13px; border: 2px solid #757d87; border-radius: 50%; }
.project-preview-card dl{ margin: 16px 3px 0; display: grid; grid-template-columns: 78px 1fr; gap: 10px 6px; }.project-preview-card dt{ color: #5f7290; font-size: 9px; }.project-preview-card dd{ margin: 0; color: #263f6d; font-size: 9px; font-weight: 600; }
.baldini-logo{ width: 130px; height: auto; max-height: 35px; object-fit: contain; object-position: left center; opacity: .92; }
.anr-brand{ height: 47px; overflow: hidden; align-items: center; }
.anr-brand img{ width: 160px; height: 52px; object-fit: cover; object-position: center 38%; }

@media (max-width: 1200px) { .dashboard-reference-grid{ grid-template-columns: 1fr; }.project-preview-card{ display: none; }.reference-panels-grid{ grid-template-columns: 1fr 1fr; }.reference-panels-grid .reference-panel:last-child{ grid-column: span 2; } }
@media (max-width: 900px) { .reference-context{ grid-template-columns: 1fr; gap: 9px; }.context-block{ padding: 8px 0; border-right: 0; border-bottom: 1px solid #edf1f6; }.context-block:last-child{ border-bottom: 0; }.reference-stat-grid{ grid-template-columns: repeat(2, 1fr); }.wide-stat{ grid-column: span 1; }.reference-panels-grid{ grid-template-columns: 1fr; }.reference-panels-grid .reference-panel:last-child{ grid-column: auto; }.reference-page-heading{ display: block; }.reference-refresh{ margin-top: 14px; } }
@media (max-width: 720px) { .reference-stat-grid{ grid-template-columns: 1fr 1fr; }.reference-stat{ min-height: 82px; }.risk-table-head,
.risk-table-line{ min-width: 880px; }.reference-risk-table{ overflow-x: auto; } }

.equipment-heading{ margin-bottom: 8px; }.equipment-reference-tabs{ height: 48px; display: flex; gap: 29px; border-bottom: 1px solid #e2e9f2; }.equipment-reference-tabs button{ min-width: 145px; padding: 0 4px; display: flex; align-items: center; justify-content: center; gap: 10px; border: 0; border-bottom: 2px solid transparent; color: #172d53; background: transparent; font-size: 12px; }.equipment-reference-tabs button.active{ color: #1767ed; border-bottom-color: #1767ed; }.equipment-reference-tabs button:first-letter{ font-size: 19px; }.equipment-reference-layout{ margin-top: 15px; display: grid; grid-template-columns: 290px minmax(0, 1fr) 240px; gap: 10px; align-items: start; }.equipment-tree-card,
.equipment-detail-card,
.equipment-summary-card,
.evaluation-card{ padding: 14px; border-radius: 7px; box-shadow: none; }.equipment-toolbar{ display: flex; gap: 6px; padding-bottom: 12px; border-bottom: 1px solid #edf1f6; }.equipment-toolbar .button{ min-height: 30px; padding: 0 10px; font-size: 10px; }.small-icon-button{ width: 30px; height: 30px; border: 1px solid #dbe4ef; border-radius: 5px; color: #5d7090; background: #fff; }.small-icon-button.danger{ color: #ea4b4e; }.equipment-tree{ padding: 8px 0 6px; }.tree-line{ min-height: 31px; display: grid; grid-template-columns: 13px 19px 52px 1fr; align-items: center; gap: 5px; color: #30476c; font-size: 9px; border-radius: 4px; }.tree-line b{ color: #72849f; font-size: 13px; }.tree-line small{ grid-column: 4; margin-top: -8px; color: #8997aa; font-size: 8px; }.tree-line.selected{ color: #1767ed; background: #eaf2ff; }.tree-line.selected b{ color: #1767ed; }.indent-1{ padding-left: 14px; }.indent-2{ padding-left: 27px; }.indent-3{ padding-left: 42px; }.tree-ok{ color: #17a465 !important; }.tree-warning{ color: #ee9e1e !important; }.tree-measure{ color: #1767ed !important; }.add-equipment-button{ margin-top: 5px; }.tree-legend{ margin-top: 12px; padding: 10px 6px 0; display: flex; gap: 9px; border-top: 1px solid #edf1f6; color: #7d8da4; font-size: 8px; }.legend-dot{ width: 8px; height: 8px; display: inline-block; margin-right: 3px; border-radius: 50%; }.legend-dot.green{ background: #17a465; }.legend-dot.yellow{ background: #f4b21b; }.legend-dot.red{ background: #ea363c; }.equipment-detail-column{ display: grid; gap: 10px; }.selected-equipment-title{ display: flex; align-items: flex-start; gap: 10px; }.selected-equipment-icon{ width: 28px; height: 28px; display: grid; place-items: center; border-radius: 7px; color: #1767ed; background: #eaf2ff; font-size: 17px; }.selected-equipment-title h2{ color: #10285a; font-family: 'DM Sans', sans-serif; font-size: 16px; }.selected-meta{ margin-top: 10px; display: flex; gap: 22px; }.selected-meta span{ display: grid; gap: 3px; color: #7c8ca1; font-size: 8px; }.selected-meta b{ color: #283f64; font-size: 9px; }.evaluation-badge{ margin-left: auto; padding: 5px 9px; border-radius: 10px; color: #16945c; background: #e5f7ec; font-size: 9px; }.selected-description{ margin-top: 18px; display: grid; grid-template-columns: 1fr 185px; gap: 15px; align-items: center; }.selected-description small,
.criterion-row small{ display: block; margin-bottom: 4px; color: #7c8ca1; font-size: 8px; }.selected-description p{ margin: 0; color: #2e466e; font-size: 10px; line-height: 1.45; }.equipment-illustration{ height: 84px; position: relative; overflow: hidden; border: 1px solid #e5eaf1; border-radius: 5px; background: #fbfcfd; }.machine-cage.small{ transform: scale(.55); transform-origin: top left; left: 9px; top: 18px; }.machine-arm.small{ transform: scale(.55); transform-origin: top left; left: 99px; top: 33px; }.evaluation-card{ padding: 0; overflow: hidden; border-color: #94beff; }.evaluation-title{ min-height: 38px; padding: 0 14px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #e3ebf6; color: #1767ed; font-size: 9px; }.evaluation-title span{ color: #16a264; }.criterion-row{ min-height: 118px; padding: 13px 14px; display: grid; grid-template-columns: 42px 1fr 1.1fr 1.25fr; gap: 10px; border-bottom: 1px solid #edf1f6; }.criterion-row:last-child{ border-bottom: 0; }.criterion-code{ width: 36px; height: 36px; display: grid; place-items: center; align-self: start; border-radius: 7px; font-size: 12px; font-weight: 700; }.code-red{ color: #e43c43; background: #ffe8e9; }.code-orange{ color: #e88917; background: #fff0dd; }.code-yellow{ color: #d49b16; background: #fff4d7; }.criterion-name{ display: grid; align-content: start; gap: 6px; }.criterion-name strong{ color: #293f64; font-size: 10px; line-height: 1.3; }.criterion-name small{ line-height: 1.4; }.criterion-value,
.criterion-note{ display: grid; align-content: start; gap: 4px; }.criterion-value b{ color: #1767ed; font-size: 9px; }.criterion-value span,
.criterion-note p{ margin: 0 0 5px; color: #465e80; font-size: 8px; line-height: 1.4; }.criterion-note p{ padding: 6px; border: 1px solid #dfe7f0; border-radius: 4px; }.criterion-note small:last-child{ display: inline; }.character-danger,
.character-warning,
.character-good{ margin-left: 4px; padding: 3px 6px; border-radius: 10px; font-size: 8px; }.character-danger{ color: #df3a3e; background: #ffe8e9; }.character-warning{ color: #df8716; background: #fff0d9; }.character-good{ color: #159b60; background: #e4f7eb; }.equipment-summary-card h4{ margin: 17px 0 10px; padding-top: 12px; border-top: 1px solid #edf1f6; color: #2d456b; font-size: 10px; }.equipment-summary-card h4:first-of-type{ margin-top: 4px; border-top: 0; }.equipment-summary-card dl{ display: grid; grid-template-columns: 68px 1fr; gap: 8px 6px; }.equipment-summary-card dt{ color: #7d8ea5; font-size: 8px; }.equipment-summary-card dd{ margin: 0; color: #2d456b; font-size: 8px; font-weight: 600; }.summary-criterion{ min-height: 36px; display: grid; grid-template-columns: 33px 1fr; column-gap: 7px; align-items: center; }.summary-criterion b{ grid-row: span 2; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 6px; color: #e88917; background: #fff0d9; font-size: 8px; }.summary-criterion span{ color: #6d7f98; font-size: 8px; }.summary-criterion strong{ color: #2d456b; font-size: 8px; }.equipment-summary-card .button{ min-height: 30px; margin-top: 10px; font-size: 9px; }.equipment-secondary-state{ min-height: 350px; margin-top: 15px; display: grid; align-content: center; justify-items: center; text-align: center; box-shadow: none; }.equipment-secondary-state p{ max-width: 430px; color: #7d8da3; font-size: 11px; line-height: 1.5; }

.risk-reference-toolbar{ display: flex; align-items: center; gap: 9px; margin-bottom: 12px; }.reference-search{ width: 245px; height: 34px; padding: 0 11px; display: flex; align-items: center; gap: 8px; border: 1px solid #dce5ef; border-radius: 5px; color: #1767ed; background: #fff; font-size: 13px; }.reference-search span{ color: #9aa8ba; font-size: 10px; }.toolbar-button{ height: 34px; padding: 0 12px; border: 1px solid #dce5ef; border-radius: 5px; color: #526783; background: #fff; font-size: 10px; }.risk-reference-layout{ display: grid; grid-template-columns: minmax(0, 1fr) 270px; gap: 10px; align-items: start; }.risk-reference-list,
.risk-detail-panel{ padding: 0; overflow: hidden; border-radius: 7px; box-shadow: none; }.risk-reference-head,
.risk-reference-row{ display: grid; grid-template-columns: 22px 42px 1.35fr 1fr .8fr .75fr .7fr .35fr .9fr .8fr 1fr 22px; gap: 8px; align-items: center; padding: 0 12px; }.risk-reference-head{ min-height: 38px; color: #7c8ca3; background: #fafbfd; font-size: 8px; }.risk-reference-row{ min-height: 58px; border-top: 1px solid #edf1f5; color: #405678; font-size: 8px; }.risk-reference-row.selected{ background: #f4f8ff; box-shadow: inset 0 0 0 1px #a9c9ff; }.risk-reference-row input{ accent-color: #1767ed; }.risk-reference-row > strong{ color: #334d78; font-size: 9px; }.risk-reference-row > span{ line-height: 1.25; }.select-pill{ padding: 6px 7px; border: 1px solid #e1e8f1; border-radius: 4px; font-size: 8px; white-space: nowrap; }.select-pill.orange{ color: #e88917; background: #fffaf1; }.select-pill.yellow{ color: #ce9718; background: #fffdf2; }.select-pill.green{ color: #159b60; background: #f1fbf5; }.risk-list-footer{ min-height: 42px; padding: 0 13px; display: flex; align-items: center; justify-content: space-between; color: #7d8da4; font-size: 9px; border-top: 1px solid #edf1f5; }.risk-list-footer b{ padding: 5px 8px; border-radius: 4px; color: #fff; background: #1767ed; }.risk-detail-panel{ padding: 14px; }.risk-detail-title{ min-height: 47px; display: grid; grid-template-columns: 37px 1fr auto; align-items: center; gap: 8px; border-top: 1px solid #edf1f5; border-bottom: 1px solid #edf1f5; }.risk-detail-title > b{ padding: 7px 4px; border: 1px solid #ff8a8b; border-radius: 4px; color: #e43c43; font-size: 9px; text-align: center; }.risk-detail-title h2{ color: #172e56; font-family: 'DM Sans', sans-serif; font-size: 12px; }.risk-detail-title span{ padding: 5px 7px; border-radius: 4px; color: #e43c43; background: #ffe9e9; font-size: 8px; }.risk-detail-panel h4{ margin: 14px 0 8px; color: #2a4268; font-size: 10px; }.risk-context{ display: grid; grid-template-columns: 1fr 1.1fr; gap: 9px 6px; }.risk-context dt{ color: #697d99; font-size: 8px; }.risk-context dd{ margin: 0; color: #2d456b; font-size: 8px; font-weight: 600; }.source-criterion{ min-height: 24px; display: grid; grid-template-columns: 1fr 28px 1fr; align-items: center; gap: 5px; color: #657894; font-size: 8px; }.source-criterion b{ padding: 4px; border-radius: 4px; font-size: 8px; text-align: center; }.source-criterion strong{ color: #334c73; font-size: 8px; }.selected-score-row{ padding: 7px; display: flex; align-items: center; justify-content: space-between; border: 1px solid #dbe5f0; border-radius: 4px; color: #657894; font-size: 8px; }.selected-score-row b{ padding: 4px 6px; border-radius: 4px; color: #e88917; background: #fff0d9; font-size: 8px; }.calculated-results{ display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }.calculated-results div{ min-height: 55px; padding: 9px; display: grid; align-content: center; justify-items: center; border: 1px solid #e1e8f0; border-radius: 5px; }.calculated-results small{ color: #7a8da5; font-size: 8px; }.calculated-results strong{ color: #ef3035; font-family: 'Space Grotesk', sans-serif; font-size: 13px; }.risk-detail-panel .button{ min-height: 34px; margin-top: 14px; font-size: 9px; }

@media (max-width: 1200px) { .equipment-reference-layout{ grid-template-columns: 255px minmax(0, 1fr); }.equipment-summary-card{ grid-column: span 2; }.risk-reference-layout{ grid-template-columns: 1fr; }.risk-detail-panel{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px 18px; }.risk-detail-panel .reference-panel-heading,
.risk-detail-title,
.risk-detail-panel h4,
.risk-detail-panel .button{ grid-column: 1 / -1; } }
@media (max-width: 820px) { .equipment-reference-layout{ grid-template-columns: 1fr; }.equipment-summary-card{ grid-column: auto; }.selected-meta{ display: grid; gap: 6px; }.criterion-row{ grid-template-columns: 37px 1fr; }.criterion-value,
.criterion-note{ grid-column: 2; }.risk-reference-layout{ overflow-x: auto; }.risk-reference-list{ min-width: 930px; }.risk-detail-panel{ min-width: 300px; } }

.measures-filter-bar{ min-height: 43px; display: flex; align-items: center; gap: 8px; margin-bottom: 12px; }.measures-filter-bar .reference-refresh{ margin-left: auto; }.measure-filter-chip{ min-height: 33px; padding: 0 12px; display: inline-flex; align-items: center; gap: 7px; border: 1px solid transparent; border-radius: 5px; font-size: 10px; }.measure-filter-chip b{ padding: 3px 6px; border-radius: 9px; font-size: 9px; }.measure-filter-chip.red{ color: #ea4247; border-color: #ffd2d3; background: #fff8f8; }.measure-filter-chip.red b{ background: #ffe2e3; }.measure-filter-chip.orange{ color: #e88a17; border-color: #ffe0ab; background: #fffaf1; }.measure-filter-chip.orange b{ background: #ffedc9; }.measure-filter-chip.green{ color: #159b60; border-color: #cbeedb; background: #f4fcf7; }.measure-filter-chip.green b{ background: #dcf5e6; }.measures-reference-layout{ display: grid; grid-template-columns: minmax(0, 1fr) 505px; gap: 10px; align-items: start; }.measures-reference-list{ padding: 0; overflow: hidden; border-radius: 7px; box-shadow: none; }.measures-list-head,
.measure-reference-row,
.measure-child-row{ display: grid; grid-template-columns: 15px 45px 1.55fr 44px .75fr 44px .75fr 1fr; gap: 7px; align-items: center; padding: 0 12px; }.measures-list-head{ min-height: 40px; color: #788aa3; background: #fafbfd; font-size: 8px; }.measure-reference-row{ min-height: 51px; border-top: 1px solid #edf1f5; color: #405678; font-size: 8px; }.measure-reference-row.expanded{ background: #f4f8ff; box-shadow: inset 0 0 0 1px #a9c9ff; }.measure-reference-row > strong,
.measure-child-row > strong{ color: #304c79; font-size: 9px; }.measure-child-row{ grid-template-columns: 45px 1.55fr 44px .75fr 44px .75fr 1fr; min-height: 42px; padding-left: 47px; border-top: 1px solid #edf1f5; color: #627795; font-size: 8px; }.measure-pill{ padding: 4px 6px; border-radius: 4px; font-size: 8px; font-weight: 700; white-space: nowrap; }.measure-pill.orange{ color: #e88917; background: #fff0d9; }.measure-pill.red{ color: #e43c43; background: #ffe7e8; }.measure-pill.green{ color: #159b60; background: #e4f7eb; }.add-residual-button{ min-height: 31px; width: calc(100% - 24px); margin: 6px 12px; border: 0; color: #1767ed; background: transparent; text-align: left; font-size: 9px; }.measure-list-footer{ min-height: 42px; padding: 0 12px; display: flex; justify-content: space-between; align-items: center; border-top: 1px solid #edf1f5; color: #7d8da4; font-size: 8px; }.measure-detail-reference{ padding: 14px; border-radius: 7px; box-shadow: none; }.measure-detail-reference .reference-panel-heading{ margin-bottom: 10px; }.measure-detail-reference h4{ margin: 14px 0 8px; padding-top: 11px; border-top: 1px solid #edf1f5; color: #2d456b; font-size: 9px; }.measure-detail-reference h4:first-of-type{ margin-top: 11px; }.measure-detail-reference h4 small{ float: right; color: #7d8da4; font-size: 8px; font-weight: 400; }.measure-context-pills{ display: flex; gap: 6px; }.measure-context-pills span{ padding: 5px 7px; border: 1px solid #dce5ef; border-radius: 4px; color: #617794; font-size: 8px; }.measure-context-pills b{ color: #2a456e; }.initial-score-grid{ display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 9px; }.initial-score-grid div{ min-height: 48px; padding: 8px; display: grid; align-content: center; gap: 5px; border: 1px solid #e2e9f1; border-radius: 5px; }.initial-score-grid small{ color: #7c8da4; font-size: 8px; }.initial-score-grid strong{ color: #304b73; font-size: 10px; }.revaluation-table{ border: 1px solid #e1e8f0; border-radius: 5px; overflow: hidden; }.revaluation-table > div{ min-height: 40px; display: grid; grid-template-columns: 1.2fr .7fr .7fr 1.2fr; gap: 6px; align-items: center; padding: 0 8px; border-bottom: 1px solid #edf1f5; color: #657894; font-size: 8px; }.revaluation-table > div:last-child{ border-bottom: 0; }.revaluation-table > div:first-child{ min-height: 28px; color: #425a7b; background: #fafbfd; font-size: 8px; }.revaluation-table strong{ font-size: 8px; line-height: 1.2; }.revaluation-table strong small{ font-size: 8px; font-weight: 400; }.text-blue{ color: #1767ed; }.remark-box{ padding: 5px; border: 1px solid #dbe5ef; border-radius: 4px; color: #617794; line-height: 1.25; }.technical-measures{ display: grid; gap: 6px; color: #2d456b; font-size: 8px; }.technical-measures span{ display: flex; align-items: center; gap: 4px; }.technical-measures span::first-letter{ color: #159b60; }.technical-measures b{ margin-left: auto; font-weight: 600; }.measure-detail-actions{ margin-top: 14px; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }.measure-detail-actions .button{ min-height: 30px; font-size: 8px; }.measure-detail-actions .button:first-child,
.measure-detail-actions .button:nth-child(2){ margin-right: auto; }
@media (max-width: 1350px) { .measures-reference-layout{ grid-template-columns: minmax(0, 1fr) 420px; } }.measure-detail-reference{ min-width: 0; }
@media (max-width: 1050px) { .measures-reference-layout{ grid-template-columns: 1fr; }.measure-detail-reference{ margin-top: 0; }.measures-reference-list{ overflow-x: auto; }.measures-list-head,
.measure-reference-row,
.measure-child-row{ min-width: 720px; } }

/* Thème clair et finitions du shell. Les thèmes futurs restent isolés par classe. */
.theme-light{ --theme-page: #f4f7fb; --theme-surface: #ffffff; --theme-line: #e1e8f1; --theme-ink: #172b42; --theme-muted: #71829a; color: var(--theme-ink); background: var(--theme-page); }
.theme-light .anr-header{ color: #17315a; background: #ffffff; border-bottom-color: var(--theme-line); box-shadow: 0 3px 14px rgba(32, 61, 98, .06); }
.theme-light .header-icon-button,
.theme-light .header-action{ color: #526985; }
.theme-light .header-icon-button:hover,
.theme-light .header-action:hover{ color: #1767ed; background: #f1f6ff; }
.theme-light .active-project{ color: #233e67; border-left-color: #dce6f1; }
.theme-light .active-project .eyebrow,
.theme-light .user-copy small{ color: #8191a7; }
.theme-light .active-project .project-name,
.theme-light .user-copy strong{ color: #203b63; }
.theme-light .header-divider{ background: #dfe6ef; }
.theme-light .user-chip{ color: #203b63; }
.theme-light .anr-sidebar{ background: #ffffff; border-right-color: var(--theme-line); }
.theme-light .nav-section-label,
.theme-light .nav-item{ color: #70819a; }
.theme-light .nav-item:hover{ color: #1767ed; background: #f1f6ff; }
.theme-light .sidebar-footer{ border-top-color: var(--theme-line); background: #fbfcfe; }
.theme-light .save-state,
.theme-light .version-label{ color: #8291a5; }
.theme-light .anr-main{ background: var(--theme-page); }

.anr-brand{ height: 47px; overflow: visible; align-items: center; }
.anr-brand img{ width: 170px; height: auto; max-height: 47px; object-fit: contain; object-position: center; display: block; }
.theme-light .anr-brand{ background: #ffffff; }


/* Contraste renforcé de la maquette claire. */
.theme-light .nav-item{ color: #526b86; }
.theme-light .nav-item .nav-icon{ color: #7392b0; }
.theme-light .nav-item.active{ color: #ffffff; background: linear-gradient(90deg, #126bc3, #1b83e1); }
.theme-light .nav-item.active .nav-icon{ color: #ffffff; }
.theme-light .sidebar-caption{ color: #63809e; }
.theme-light .sidebar-help{ border-color: #dce7f2; background: #f8fbff; }
.theme-light .sidebar-help strong{ color: #395675; }
.theme-light .sidebar-help small{ color: #7087a0; }
.theme-light .button-secondary,
.theme-light .button-outline,
.theme-light .toolbar-button,
.theme-light .small-icon-button{ color: #385573; background: #ffffff; border-color: #c9d8e7; }
.theme-light .button-secondary:hover,
.theme-light .button-outline:hover,
.theme-light .toolbar-button:hover{ color: #126bd1; background: #f2f7ff; border-color: #8fb8ee; }
.theme-light .reference-refresh{ color: #126bd1; background: #eef5ff; border-color: #b8d3fb; }
.theme-light .reference-outline-button{ color: #126bd1; background: #ffffff; border-color: #9fc4f5; }
.theme-light .reference-page-heading h1,
.theme-light .reference-panel-heading h3{ color: #102f59; }

.anr-brand img{ width: 168px; height: 47px; max-height: none; object-fit: cover; object-position: center; display: block; mix-blend-mode: normal; border-radius: 4px; }
.theme-light .anr-brand img{ background: #ffffff; }

/* Zone de travail : plus proche du menu,
plus haute et plus lisible */
@media (min-width: 721px){
    .anr-page { max-width: none; margin: 0; padding: 24px 30px 60px; }
    .reference-page-heading { margin-bottom: 16px; }
    .reference-page-heading h1 { font-size: 32px; }
    .reference-page-heading p { font-size: 13px; }
    .reference-refresh { min-height: 36px; padding: 0 13px; font-size: 11px; }
    .context-block small { font-size: 11px; }
    .context-block strong { font-size: 13px; }
    .context-block span:last-child { font-size: 10px; }
    .reference-stat strong { font-size: 24px; }
    .reference-stat small { font-size: 11px; }
    .reference-stat em { font-size: 10px; }
    .reference-panel-heading h3 { font-size: 13px; }
    .distribution-legend span, .distribution-legend b { font-size: 10px; }
    .reassessment-summary p { font-size: 10px; }
    .reference-activity strong { font-size: 10px; }
    .reference-activity small, .reference-activity time { font-size: 9px; }
    .risk-table-head { font-size: 9px; }
    .risk-table-line { font-size: 9px; }
    .risk-table-line > strong { font-size: 10px; }
    .project-preview-card dt, .project-preview-card dd { font-size: 10px; }
    .equipment-reference-tabs button { font-size: 13px; }
    .tree-line { font-size: 10px; }
    .selected-description p { font-size: 11px; }
    .criterion-name strong, .criterion-value b, .criterion-value span, .criterion-note p { font-size: 9px; }
    .risk-reference-head, .measures-list-head { font-size: 9px; }
    .risk-reference-row, .measure-reference-row, .measure-child-row { font-size: 9px; }
    .risk-reference-row > strong, .measure-reference-row > strong, .measure-child-row > strong { font-size: 10px; }
    .risk-detail-panel h4, .measure-detail-reference h4 { font-size: 10px; }
}

/* Menu : footer,
icônes métier et mode compact */
.anr-sidebar{ transition: width .22s ease, flex-basis .22s ease; }
.sidebar-topbar{ min-height: 47px; padding: 10px 16px 0; display: flex; justify-content: flex-end; }
.sidebar-collapse-button{ min-height: 28px; padding: 0 9px; display: inline-flex; align-items: center; gap: 6px; border: 1px solid transparent; border-radius: 6px; color: #7f9bb7; background: transparent; font-size: 10px; }
.sidebar-collapse-button:hover{ color: #1767ed; background: rgba(22, 131, 238, .10); }
.sidebar-collapse-button > span:first-child{ font-size: 18px; line-height: .7; }
.sidebar-footer{ margin-top: auto; }
.sidebar-footer .sidebar-help{ margin: 0 0 2px; }
.baldini-logo{ width: 150px; height: 35px; max-height: none; object-fit: contain; object-position: center; opacity: 1; filter: none; }
.theme-light .baldini-logo{ filter: none; opacity: 1; }
.theme-light .sidebar-collapse-button{ color: #65819d; }

.nav-icon-machine{ width: 18px; height: 15px; position: relative; border: 1.7px solid currentColor; border-radius: 3px; }
.nav-icon-machine::before{ content: ''; width: 3px; height: 3px; position: absolute; left: 4px; top: 4px; border-radius: 50%; background: currentColor; box-shadow: 6px 0 currentColor; }
.nav-icon-machine::after{ content: ''; width: 6px; height: 2px; position: absolute; left: 5px; bottom: -5px; border-radius: 2px; background: currentColor; box-shadow: -4px 0 currentColor, 4px 0 currentColor; }
.nav-icon-warning{ width: 18px; height: 18px; display: inline-grid; place-items: center; border: 1.7px solid currentColor; border-radius: 50%; font-size: 12px; font-weight: 800; line-height: 1; }
.nav-icon-check{ width: 18px; height: 18px; display: inline-grid; place-items: center; border: 1.7px solid currentColor; border-radius: 50%; color: #17a465; font-size: 12px; font-weight: 800; line-height: 1; }
.nav-item.active .nav-icon-check{ color: #ffffff; }

@media (min-width: 721px) {
    .menu-collapsed .anr-sidebar{ width: 76px; flex-basis: 76px; }
    .menu-collapsed .anr-brand{ width: 50px; overflow: hidden; flex: 0 0 50px; }
    .menu-collapsed .anr-brand img{ width: 168px; max-width: none; flex: 0 0 168px; object-position: left center; }
    .menu-collapsed .sidebar-topbar{ justify-content: center; padding-left: 8px; padding-right: 8px; }
    .menu-collapsed .sidebar-collapse-button{ width: 36px; padding: 0; justify-content: center; }
    .menu-collapsed .sidebar-collapse-label,
.menu-collapsed .sidebar-caption,
.menu-collapsed .nav-item > span:not(.nav-icon),
.menu-collapsed .sidebar-help div,
.menu-collapsed .save-state > span:not(.status-dot),
.menu-collapsed .version-label{ display: none; }
    .menu-collapsed .sidebar-nav{ padding-left: 10px; padding-right: 10px; }
    .menu-collapsed .nav-item{ justify-content: center; gap: 0; padding-left: 0; padding-right: 0; }
    .menu-collapsed .nav-icon{ margin: 0; }
    .menu-collapsed .sidebar-footer{ padding: 12px 8px 18px; justify-items: center; }
    .menu-collapsed .sidebar-help{ width: 100%; justify-content: center; padding: 10px 0; }
    .menu-collapsed .save-state{ justify-content: center; }
    .menu-collapsed .baldini-logo{ width: 46px; height: 30px; object-fit: cover; object-position: left center; }
}

@media (max-width: 720px) { .sidebar-topbar{ display: none; } }

/* Footer fixé dans la hauteur visible de la fenêtre */
@media (min-width: 721px){
    .anr-shell { height: 100vh; overflow: hidden; }
    .anr-content { height: calc(100vh - 78px); min-height: 0; }
    .anr-sidebar { height: 100%; min-height: 0; overflow: hidden; }
    .sidebar-nav { min-height: 0; overflow-y: auto; }
    .anr-main { height: 100%; overflow-y: auto; }
}
@media (max-width: 720px) {
    .anr-shell{ height: auto; overflow: visible; }
    .anr-content{ height: auto; min-height: calc(100vh - 64px); }
    .anr-main{ height: auto; overflow: visible; }
}

/* État d’enregistrement déplacé dans le sélecteur de projet */
.active-project{ grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; }
.project-save-state{ display: inline-flex; align-items: center; gap: 5px; color: #7d9ab6; font-size: 9px; white-space: nowrap; }
.project-save-state .status-dot{ width: 6px; height: 6px; box-shadow: 0 0 0 3px rgba(47,195,148,.12); }
.theme-light .project-save-state{ color: #6f879f; }

.baldini-logo{ width: 180px; height: 45px; object-fit: contain; object-position: center; }
.menu-collapsed .baldini-logo{ width: 46px; height: 32px; object-fit: cover; object-position: left center; }

@media (max-width: 1250px) { .project-save-state{ font-size: 0; gap: 0; }.project-save-state .status-dot{ width: 7px; height: 7px; } }

/* Icônes de navigation harmonisées */
.nav-separator{ height: 0; margin: 0; background: transparent; }
.nav-icon-home{ width: 18px; height: 18px; position: relative; border: 1.7px solid currentColor; border-top: 0; border-radius: 2px; }
.nav-icon-home::before{ content: ''; width: 12px; height: 12px; position: absolute; left: 1px; top: -6px; border-top: 1.7px solid currentColor; border-left: 1.7px solid currentColor; transform: rotate(45deg); border-radius: 2px 0 0 0; }
.nav-icon-home::after{ content: ''; width: 3px; height: 7px; position: absolute; left: 6px; bottom: 0; border: 1.4px solid currentColor; border-bottom: 0; border-radius: 2px 2px 0 0; }
.nav-icon-machine{ width: 20px; height: 18px; position: relative; border: 0; border-radius: 0; background: linear-gradient(currentColor, currentColor) 6px 8px / 10px 2px no-repeat, linear-gradient(currentColor, currentColor) 12px 3px / 2px 8px no-repeat, linear-gradient(currentColor, currentColor) 3px 13px / 12px 2px no-repeat; }
.nav-icon-machine::before{ content: ''; width: 6px; height: 6px; position: absolute; left: 1px; top: 6px; border: 1.7px solid currentColor; border-radius: 50%; background: transparent; box-shadow: 11px -4px 0 -1px var(--nav-icon-cutout, transparent), 11px -4px 0 .5px currentColor; }
.nav-icon-machine::after{ content: ''; width: 5px; height: 5px; position: absolute; right: 0; top: 1px; border: 1.7px solid currentColor; border-radius: 1px 3px 1px 3px; transform: rotate(24deg); }
.nav-icon-warning{ font-family: 'Space Grotesk', sans-serif; }
.nav-icon-pencil{ width: 18px; height: 18px; display: inline-grid; place-items: center; border: 0; color: currentColor; font-size: 20px; line-height: 1; transform: rotate(-18deg); }
.nav-item.active .nav-icon-home,
.nav-item.active .nav-icon-machine,
.nav-item.active .nav-icon-pencil{ color: #ffffff; }
.theme-light .nav-icon-machine,
.theme-light .nav-icon-home,
.theme-light .nav-icon-pencil{ --nav-icon-cutout: #ffffff; }

/* Splashscreen de démarrage */
#anr-splash{ position: fixed; inset: 0; z-index: 5000; display: grid; place-items: center; overflow: hidden; color: #303030; background: #f3f3f3; opacity: 1; transition: opacity .28s ease; }
#anr-splash::before{ content: ''; width: 560px; height: 560px; position: absolute; top: 50%; left: 50%; border: 1px solid #dedede; border-radius: 50%; transform: translate(-50%, -50%); }
#anr-splash.is-hidden{ opacity: 0; pointer-events: none; }
.anr-splash-card{ position: relative; z-index: 1; display: grid; justify-items: center; gap: 19px; padding: 38px 48px; }
.anr-splash-card img{ width: min(330px, 62vw); height: 112px; display: block; object-fit: contain; }
.anr-splash-card p{ margin: 0; color: #5a5a5a; font-size: 12px; letter-spacing: .04em; }
.anr-splash-progress{ width: 210px; height: 4px; overflow: hidden; border-radius: 4px; background: #d8d8d8; }
.anr-splash-progress span{ width: 42%; height: 100%; display: block; border-radius: inherit; background: #2563b8; animation: anr-splash-loading 1.35s ease-in-out infinite; }
@keyframes anr-splash-loading { 0% { transform: translateX(-120%); } 50% { transform: translateX(145%); } 100% { transform: translateX(330%); } }
@media (max-width: 720px) { .anr-splash-card{ padding: 25px; }.anr-splash-card img{ height: 86px; }.anr-splash-progress{ width: 170px; } }

/* Header légèrement plus dense que le menu */
.theme-light .anr-header{ background: #edf2f7; border-bottom-color: #d6e0eb; }
.theme-light .anr-brand{ background: transparent; }
.theme-light .anr-brand img{ background: transparent; }

/* Sélecteur de langue */
.language-selector{ height: 34px; padding: 0 8px 0 9px; display: inline-flex; align-items: center; gap: 6px; border: 1px solid transparent; border-radius: 8px; color: #526985; background: transparent; cursor: pointer; }
.language-selector:hover{ color: #1767ed; background: rgba(22, 131, 238, .09); }
.language-code{ min-width: 23px; padding: 3px 4px; border-radius: 4px; color: #ffffff; background: #1767ed; font-size: 9px; font-weight: 800; text-align: center; }
.language-selector select{ min-width: 72px; padding: 0; border: 0; outline: 0; color: inherit; background: transparent; font-size: 11px; cursor: pointer; }
.language-selector select option{ color: #172b42; background: #ffffff; }

/* Sélecteur de module : assemblage de cubes avec un élément détaché */
.module-cubes{ width: 20px; height: 20px; position: relative; display: block; }
.module-cubes i{ width: 7px; height: 7px; position: absolute; display: block; border: 1.5px solid currentColor; border-radius: 2px; color: #8fb1d1; background: rgba(143, 177, 209, .12); transform: translateZ(0); }
.module-cubes i:nth-child(1){ left: 1px; top: 10px; }
.module-cubes i:nth-child(2){ left: 9px; top: 10px; }
.module-cubes i:nth-child(3){ left: 9px; top: 2px; }
.module-cubes i.detached{ left: 15px; top: 0; color: #3da7ff; background: rgba(61, 167, 255, .22); transform: rotate(14deg) translateY(-3px); }
.theme-light .module-cubes i{ color: #6e8eae; background: rgba(110, 142, 174, .10); }
.theme-light .module-cubes i.detached{ color: #1767ed; background: rgba(23, 103, 237, .16); }

/* Dashboard : palette d’icônes réduite,
graphiques conservés en couleur */
.theme-light .reference-stat .stat-icon,
.theme-light .context-block-icon,
.theme-light .reference-activity .activity-bullet{ color: #1767ed; background: #eaf2ff; }
.theme-light .reference-stat .stat-icon{ border: 1px solid currentColor; }
.theme-light .reference-activity b{ color: #1767ed; background: #eaf2ff; }

/* Aperçu projet étendu et éditable */
.dashboard-reference-grid{ align-items: stretch; }
.project-preview-card{ height: auto; align-self: stretch; display: flex; flex-direction: column; }
.project-preview-card .reference-panel-heading{ flex: 0 0 auto; }
.project-status-pill{ padding: 4px 7px; border-radius: 10px; color: #159b60; background: #e4f7eb; font-size: 9px; font-weight: 700; }
.project-global-heading{ margin-top: 15px; padding-top: 12px; display: flex; justify-content: space-between; gap: 8px; border-top: 1px solid #e5ebf2; color: #2d456b; font-size: 10px; font-weight: 700; }
.project-global-heading small{ color: #8393a7; font-size: 8px; font-weight: 400; }
.project-global-data{ margin: 11px 3px 0; display: grid; grid-template-columns: 78px 1fr; gap: 9px 7px; }
.project-global-data dt{ color: #71839a; font-size: 9px; }
.project-global-data dd{ margin: 0; color: #263f6d; font-size: 9px; font-weight: 600; line-height: 1.25; }
.project-edit-button{ min-height: 35px; margin-top: 12px; padding: 0 10px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 1px solid #9fc4f5; border-radius: 5px; color: #1767ed; background: #f5f9ff; font-size: 9px; font-weight: 700; }
.project-edit-button:hover{ background: #eaf2ff; }
.project-editor-panel{ margin-top: 12px; padding: 11px; border: 1px solid #b4cdef; border-radius: 6px; background: #f8fbff; }
.project-editor-heading{ display: flex; align-items: center; justify-content: space-between; color: #263f6d; font-size: 10px; }
.project-editor-heading button{ border: 0; color: #7186a0; background: transparent; font-size: 17px; line-height: 1; }
.project-editor-panel label{ display: grid; gap: 4px; margin-top: 9px; color: #6f829b; font-size: 8px; }
.project-editor-panel input{ width: 100%; min-height: 27px; padding: 0 7px; border: 1px solid #d2dfed; border-radius: 4px; color: #243f68; background: #ffffff; font-size: 9px; }
.project-editor-grid{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 8px; }
.project-editor-grid label{ min-width: 0; }
.project-editor-wide{ grid-column: 1 / -1; }
.project-editor-panel textarea{ width: 100%; min-height: 42px; padding: 6px 7px; resize: vertical; border: 1px solid #d2dfed; border-radius: 4px; color: #243f68; background: #ffffff; font: inherit; font-size: 9px; line-height: 1.35; }
.project-editor-actions{ display: flex; gap: 6px; margin-top: 12px; }
.project-editor-actions .button{ min-height: 29px; padding: 0 8px; font-size: 8px; }
.project-saved-message{ margin-top: 9px; color: #159b60; font-size: 8px; }

/* Le dashboard utilise toute la hauteur réellement disponible de la fenêtre.
   Les panneaux grandissent avec la zone de travail sans imposer une hauteur fixe. */
@media (min-width: 721px){
    .anr-page:has(.dashboard-page) { height: auto; min-height: 100%; }
    .dashboard-page { height: auto; min-height: 100%; display: flex; flex-direction: column; }
    .dashboard-reference-grid { flex: 1 1 auto; min-height: min-content; }
    .dashboard-reference-main { min-height: min-content; display: flex; flex-direction: column; }
    .reference-panels-grid { flex: 1 1 auto; align-items: stretch; min-height: min-content; }
    .reference-panel { height: auto; align-self: stretch; display: flex; flex-direction: column; }
    .reference-panel .reference-outline-button { margin-top: auto; }
}

@media (max-width: 720px) {
    .project-editor-grid{ grid-template-columns: 1fr; }
    .project-editor-wide{ grid-column: auto; }
}

/* Dashboard : l’aperçu projet devient le panneau de référence à gauche. */
@media (min-width: 1201px){
    .dashboard-reference-grid { grid-template-columns: 340px minmax(0, 1fr); }
    .project-preview-card { grid-column: 1; grid-row: 1; }
    .dashboard-reference-main { grid-column: 2; grid-row: 1; }
    .project-preview-card dt, .project-preview-card dd { font-size: 11px; }
    .project-preview-card .project-global-data { grid-template-columns: 96px 1fr; }
}

@media (min-width: 901px) and (max-width: 1200px) {
    .dashboard-reference-grid{ grid-template-columns: 300px minmax(0, 1fr); }
    .project-preview-card{ display: flex; grid-column: 1; grid-row: 1; }
    .dashboard-reference-main{ grid-column: 2; grid-row: 1; }
    .project-preview-card dt,
.project-preview-card dd{ font-size: 10px; }
    .project-preview-card .project-global-data{ grid-template-columns: 86px 1fr; }
}

@media (max-width: 900px) {
    .dashboard-reference-grid{ grid-template-columns: 1fr; }
    .project-preview-card{ display: flex; grid-column: 1; grid-row: 1; }
    .dashboard-reference-main{ grid-column: 1; grid-row: 2; }
}

/* Tous les pictogrammes du dashboard restent en aplats doux,
sans contour. */
.dashboard-page .stat-icon,
.dashboard-page .context-block-icon,
.dashboard-page .activity-bullet,
.dashboard-page .info-dot{ border: 0 !important; }

@media (min-width: 901px) {
    .dashboard-reference-main .reference-context{ min-height: 84px; padding: 11px 13px; }
    .dashboard-reference-main .reference-stat{ min-height: 84px; padding: 10px 11px 9px; }
    .dashboard-reference-main .reference-panel{ padding: 11px 13px; }
}

/* Graphique RIS : la répartition suit les six niveaux définis par le CDC. */
.reference-panel-subtitle{ display: block; margin-top: 3px; color: #8493a7; font-size: 10px; font-weight: 400; }
.risk-level-donut{ --risk-unassessed: #a7abb0; position: relative; overflow: hidden; border: 0; background: var(--risk-donut-gradient, conic-gradient(var(--risk-unassessed) 0% 100%)); }
.risk-level-donut::before{ content: ''; width: auto; height: auto; position: absolute; inset: 15%; border-radius: 50%; background: #ffffff; }
.risk-level-donut span{ position: relative; z-index: 1; color: #1d3558; }
.distribution-legend span{ min-width: 0; }
.distribution-legend span em{ overflow: hidden; color: inherit; font-style: normal; text-overflow: ellipsis; }
.distribution-legend b{ white-space: nowrap; }
.legend-insignificant{ background: #a8b4c2; }
.legend-low{ background: #55b88a; }
.legend-limited{ background: #8fcf64; }
.legend-medium{ background: #f1c84b; }
.legend-high{ background: #ed9951; }
.legend-extreme{ background: #df5c68; }
.legend-unassessed{ background: var(--risk-unassessed); }

/* Typographie dashboard : même hiérarchie et meilleure lisibilité. */
.dashboard-page .reference-page-heading p{ font-size: 14px; }
.dashboard-page .reference-refresh{ font-size: 12px; }
.dashboard-page .context-block small{ font-size: 12px; }
.dashboard-page .context-block strong{ font-size: 14px; }
.dashboard-page .context-block span:last-child{ font-size: 11px; }
.dashboard-page .context-block em{ font-size: 10px; }
.dashboard-page .reference-stat strong{ font-size: 24px; }
.dashboard-page .reference-stat small{ font-size: 11px; }
.dashboard-page .reference-stat em{ font-size: 10px; }
.dashboard-page .reference-panel-heading h3{ font-size: 14px; }
.dashboard-page .reference-panel-subtitle{ font-size: 10px; }
.dashboard-page .distribution-legend span{ font-size: 10px; }
.dashboard-page .risk-donut span{ font-size: 22px; }
.dashboard-page .risk-donut small{ font-size: 10px; }
.dashboard-page .reference-outline-button{ font-size: 11px; }
.dashboard-page .reassessment-summary p{ font-size: 10px; }
.dashboard-page .reference-activity strong{ font-size: 10px; }
.dashboard-page .reference-activity small,
.dashboard-page .reference-activity time{ font-size: 9px; }
.dashboard-page .project-global-heading{ font-size: 11px; }
.dashboard-page .project-global-heading small{ font-size: 9px; }
.dashboard-page .project-preview-card dt,
.dashboard-page .project-preview-card dd{ font-size: 11px; }
.dashboard-page .project-edit-button{ font-size: 10px; }
.dashboard-page .dashboard-footer-note{ font-size: 10px; }

/* Système d’icônes partagé : aplats bicolores,
sans contour,
adaptés aux thèmes. */
.theme-light{ --ui-icon-primary: #1d65b6; --ui-icon-secondary: #51a4df; }
.ui-icon{ width: 22px; height: 22px; display: inline-grid; flex: 0 0 22px; place-items: center; border: 0 !important; border-radius: 0; color: transparent !important; background: linear-gradient(135deg, var(--ui-icon-primary) 0 54%, var(--ui-icon-secondary) 54% 100%); -webkit-background-clip: text; background-clip: text; font-style: normal; font-size: 17px; font-weight: 700; line-height: 1; }
.ui-icon::before,
.ui-icon::after{ border: 0 !important; box-shadow: none !important; }
.nav-icon.ui-icon{ width: 22px; height: 22px; flex: 0 0 22px; font-size: 17px; }
.nav-icon.ui-icon::before,
.nav-icon.ui-icon::after{ content: none !important; }
.nav-item.active .nav-icon.ui-icon{ background: linear-gradient(135deg, #ffffff 0 54%, #a9dcff 54% 100%); -webkit-background-clip: text; background-clip: text; }
.small-icon-button,
.icon-more{ border: 0 !important; background: transparent !important; }
.equipment-icon{ color: transparent !important; background: linear-gradient(135deg, var(--ui-icon-primary) 0 54%, var(--ui-icon-secondary) 54% 100%); -webkit-background-clip: text; background-clip: text; }
.tree-ok.equipment-icon,
.tree-warning.equipment-icon,
.tree-measure.equipment-icon{ color: transparent !important; }

/* Équipement : vues Zones/Accès et Modes conformes au périmètre du CDC. */
.equipment-secondary-layout{ margin-top: 15px; display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 12px; align-items: stretch; }
.secondary-list-item,
.secondary-access-row{ min-height: 58px; padding: 9px 11px; display: flex; align-items: center; gap: 10px; border-bottom: 1px solid #e5ebf2; color: #30476c; }
.secondary-list-item:last-of-type,
.secondary-access-row:last-of-type{ border-bottom: 0; }
.secondary-list-item.selected,
.secondary-access-row.selected{ color: #1767ed; background: #eef5ff; }
.secondary-list-item div,
.secondary-access-row div{ display: grid; gap: 3px; min-width: 0; }
.secondary-list-item strong,
.secondary-access-row strong{ font-size: 12px; }
.secondary-list-item small,
.secondary-access-row small{ color: #8192a8; font-size: 10px; }
.secondary-access-row b{ margin-left: auto; white-space: nowrap; }
.secondary-criterion{ margin-top: 18px; padding: 13px 0; display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 10px; border-top: 1px solid #e5ebf2; }
.secondary-criterion div{ display: grid; gap: 4px; }
.secondary-criterion strong{ color: #2d456b; font-size: 12px; }
.secondary-criterion small,
.secondary-description{ color: #7d8da4; font-size: 10px; line-height: 1.45; }
.secondary-criterion > b{ color: #1767ed; font-size: 11px; }
.status-pending{ color: #e99120; font-size: 10px; font-weight: 700; }
.code-blue{ color: #1767ed; background: #eaf2ff; }
.equipment-secondary-detail-column{ display: grid; align-content: start; gap: 10px; min-width: 0; }
.secondary-evaluation-card .editable-criterion-row{ margin: 0; }
.secondary-inline-criterion{ margin-top: 16px; padding: 12px 0; display: grid; grid-template-columns: minmax(220px, 1fr) minmax(220px, .9fr); gap: 9px 14px; border-top: 1px solid #e5ebf2; }
.secondary-inline-heading{ display: flex; align-items: center; gap: 9px; min-width: 0; }
.secondary-inline-heading div{ display: grid; gap: 4px; }
.secondary-inline-heading strong{ color: #2d456b; font-size: 12px; }
.secondary-inline-heading small,
.secondary-inline-help{ color: #8192a8; font-size: 10px; line-height: 1.4; }
.secondary-inline-criterion .criterion-select{ align-self: center; }
.secondary-inline-help{ grid-column: 2; display: grid; gap: 3px; }
.secondary-inline-help small{ color: #1767ed; font-size: 10px; font-weight: 700; }
.secondary-inline-actions{ min-height: 48px; padding-top: 10px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid #e5ebf2; color: #8192a8; font-size: 10px; }
.secondary-inline-actions .button{ flex: 0 0 auto; margin-top: 0; }

/* Typographie commune aux pages fonctionnelles. */
@media (min-width: 721px){
    .reference-page-heading h1, .page-heading h1 { font-size: 32px; }
    .reference-page-heading p, .page-intro { font-size: 13px; }
    .equipment-reference-tabs button { font-size: 14px; }
    .equipment-reference-tabs .ui-icon { font-size: 18px; }
    .tree-line { font-size: 11px; }
    .selected-equipment-title h2 { font-size: 18px; }
    .selected-meta span, .criterion-row small, .criterion-note small { font-size: 10px; }
    .criterion-name strong, .criterion-value b, .criterion-value span, .criterion-note p { font-size: 10px; }
    .risk-reference-head, .measures-list-head { font-size: 10px; }
    .risk-reference-row, .measure-reference-row, .measure-child-row { font-size: 10px; }
    .risk-reference-row > strong, .measure-reference-row > strong, .measure-child-row > strong { font-size: 11px; }
    .risk-detail-panel h4, .measure-detail-reference h4 { font-size: 12px; }
    .risk-context dt, .risk-context dd, .source-criterion, .selected-score-row, .calculated-results small { font-size: 11px; }
    .measure-context-pills, .initial-score-grid, .revaluation-table, .technical-measures { font-size: 11px; }
    .module-scope-card p, .empty-state p { font-size: 13px; }
}
.module-scope-card{ margin-bottom: 14px; padding: 18px 20px; display: flex; align-items: center; gap: 15px; border-radius: 9px; }
.module-scope-card h2{ margin: 4px 0 6px; font-size: 18px; }
.module-scope-card p{ max-width: 880px; margin: 0; color: #71839a; line-height: 1.5; }
.module-scope-label{ color: #1767ed; font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.module-scope-icon{ width: 40px; height: 40px; flex-basis: 40px; font-size: 25px; }
.effective-pl{ display: block; margin-top: 9px; padding-top: 9px; border-top: 1px solid #e5ebf2; color: #1767ed; font-size: 11px; }

@media (max-width: 900px) {
    .equipment-secondary-layout{ grid-template-columns: 1fr; }
    .module-scope-card{ align-items: flex-start; }
}

/* Équipement : deux colonnes utiles,
sans résumé parasite. */
@media (min-width: 721px){
    .equipment-reference-layout { grid-template-columns: 430px minmax(0, 1fr); align-items: stretch; }
    .equipment-tree-column { display: grid; align-content: start; gap: 10px; min-width: 0; }
    .equipment-tree-card { height: auto; min-height: 0; align-self: stretch; }
    .equipment-detail-column { min-width: 0; }
}
.safety-solutions-tree-card{ min-height: 0; }
.safety-solutions-tree-card .equipment-toolbar{ margin-bottom: 2px; }
.safety-tree-root{ margin-top: 9px; padding-top: 8px; border-top: 1px solid #e5ebf2; }
.equipment-selected-group{ padding: 0; overflow: hidden; }
.equipment-selected-group .equipment-detail-card{ border: 0; border-radius: 0; box-shadow: none; }
.equipment-selected-group .evaluation-card{ border: 0; border-top: 1px solid #e5ebf2; border-radius: 0; box-shadow: none; }

/* Évaluation : cascade simple inspirée de l'écran ANR Tool V1. */
.risk-cascade-layout{ display: grid; grid-template-columns: 285px minmax(0, 1fr); gap: 12px; align-items: stretch; min-height: calc(100vh - 210px); }
.risk-cascade-list{ min-height: 100%; padding: 0; display: flex; flex-direction: column; overflow: hidden; }
.risk-cascade-list-heading{ min-height: 64px; padding: 0 15px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #e5ebf2; }
.risk-cascade-list-heading h3{ margin: 0 0 3px; color: #203c66; font-size: 14px; }
.risk-cascade-list-heading small{ color: #8192a8; font-size: 10px; }
.risk-count{ min-width: 28px; min-height: 28px; display: grid; place-items: center; border-radius: 50%; color: #1767ed; background: #eaf2ff; font-size: 12px; font-weight: 800; }
.cascade-list-items{ flex: 1; }
.cascade-risk-item{ width: 100%; min-height: 78px; padding: 10px 12px; display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 3px 8px; align-items: center; border: 0; border-bottom: 1px solid #edf1f5; color: #405678; background: transparent; text-align: left; }
.cascade-risk-item:hover,
.cascade-risk-item.selected{ background: #f0f6ff; }
.cascade-risk-item.selected{ box-shadow: inset 3px 0 0 #1767ed; }
.cascade-risk-item > strong{ align-self: start; padding-top: 2px; color: #1767ed; font-size: 10px; }
.cascade-risk-item > span{ min-width: 0; display: grid; gap: 3px; }
.cascade-risk-item > span b{ overflow: hidden; color: #2d456b; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.cascade-risk-item > span small{ overflow: hidden; color: #8192a8; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.risk-level-chip{ grid-column: 2; justify-self: start; padding: 4px 7px; border-radius: 4px; font-size: 9px; font-style: normal; font-weight: 700; }
.risk-level-chip.high{ color: #d9353c; background: #ffe8e9; }
.risk-level-chip.medium{ color: #db7c15; background: #fff0dc; }
.risk-level-chip.limited{ color: #ad7c10; background: #fff7d9; }
.risk-cascade-list-footer{ min-height: 46px; padding: 0 13px; display: flex; align-items: center; justify-content: space-between; color: #8192a8; font-size: 9px; border-top: 1px solid #e5ebf2; }
.risk-cascade-list-footer span:last-child{ color: #1767ed; font-weight: 700; }
.risk-cascade-editor{ min-width: 0; padding: 18px; }
.cascade-editor-heading{ min-height: 56px; padding-bottom: 13px; display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; border-bottom: 1px solid #e5ebf2; }
.cascade-editor-heading small{ color: #1767ed; font-size: 10px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.cascade-editor-heading h2{ max-width: 860px; margin: 5px 0 0; color: #1d3558; font-family: 'DM Sans', sans-serif; font-size: 18px; line-height: 1.25; }
.cascade-editor-heading > b{ padding: 7px 9px; border-radius: 4px; color: #1767ed; background: #eaf2ff; font-size: 10px; }
.cascade-pev-quick-edit{ min-height: 58px; margin: 0 0 12px; padding: 9px 12px; display: grid; grid-template-columns: minmax(0, 1fr) 230px auto; gap: 10px; align-items: center; border: 1px solid #f0c27d; border-radius: 6px; background: #fffaf1; }
.cascade-pev-quick-edit > div:first-child{ display: flex; align-items: center; gap: 9px; }.cascade-pev-quick-edit strong{ display: block; color: #895a16; font-size: 11px; }.cascade-pev-quick-edit small{ display: block; margin-top: 3px; color: #b17a2a; font-size: 9px; }.cascade-quick-code{ min-width: 36px; min-height: 28px; padding: 5px; display: grid; place-items: center; border-radius: 4px; color: #fff; background: #e88917; font-size: 11px; font-weight: 800; }.cascade-pev-quick-edit > span:last-child{ color: #a36a19; font-size: 10px; font-weight: 700; white-space: nowrap; }
.cascade-risk-location{ color: #1767ed !important; font-size: 8px !important; font-weight: 700; }
.cascade-step-block{ margin-top: 14px; padding: 14px; border: 1px solid #dfe7f0; border-radius: 6px; background: #fff; }
.cascade-step-heading{ display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.cascade-step-number{ width: 25px; height: 25px; flex: 0 0 25px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #1767ed; font-size: 11px; font-weight: 800; }
.cascade-step-heading h3{ margin: 0 0 3px; color: #23456f; font-size: 13px; }
.cascade-step-heading small{ color: #8192a8; font-size: 10px; }
.cascade-full-field{ display: grid; gap: 5px; color: #69809e; font-size: 10px; font-weight: 700; }
.cascade-full-field select,
.cascade-remark-field textarea{ width: 100%; min-height: 34px; padding: 0 9px; border: 1px solid #b8cde2; border-radius: 5px; color: #21466e; background: #fff; font: inherit; font-size: 11px; font-weight: 600; }
.cascade-criteria-grid{ margin-top: 12px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.cascade-single-criterion{ max-width: 360px; margin-top: 12px; }
.cascade-criterion-field{ min-width: 0; display: grid; gap: 5px; color: #69809e; font-size: 10px; font-weight: 700; }
.cascade-field-label{ min-height: 31px; display: flex; align-items: center; gap: 7px; color: #2d456b; line-height: 1.2; }
.cascade-field-label b{ min-width: 34px; min-height: 27px; padding: 5px 4px; display: inline-grid; place-items: center; border-radius: 4px; color: #fff; background: #1767ed; font-size: 10px; }
.cascade-criterion-field:nth-child(1) .cascade-field-label b{ background: #e43c43; }
.cascade-criterion-field:nth-child(2) .cascade-field-label b{ background: #e88917; }
.cascade-criterion-field:nth-child(3) .cascade-field-label b{ background: #d49b16; }
.cascade-criterion-field small{ color: #8192a8; font-size: 9px; font-weight: 400; }
.cascade-readonly-value{ min-height: 34px; padding: 9px; border: 1px solid #dfe7f0; border-radius: 5px; color: #294d78; background: #f6f9fc; font-size: 11px; font-weight: 800; }
.cascade-final-grid{ display: grid; grid-template-columns: minmax(240px, .75fr) minmax(300px, 1.25fr); gap: 14px; }
.cascade-remark-field{ display: grid; gap: 5px; color: #69809e; font-size: 10px; font-weight: 700; }
.cascade-remark-field textarea{ min-height: 72px; padding: 9px; resize: vertical; font-weight: 400; }
.cascade-result{ margin-top: 14px; overflow: hidden; border: 1px solid #dfe7f0; border-radius: 6px; background: #fafbfd; }
.cascade-result > div:first-child{ min-height: 70px; padding: 12px 15px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 3px 15px; }
.cascade-result > div:first-child small{ grid-column: 1 / -1; color: #69809e; font-size: 10px; }
.cascade-result > div:first-child span{ color: #2d456b; font-size: 12px; font-weight: 700; }
.cascade-result > div:first-child strong{ min-width: 115px; padding: 8px 12px; color: #1d3558; background: #fff; font-family: 'Space Grotesk', sans-serif; font-size: 22px; text-align: center; }
.cascade-result-level{ padding: 10px 15px; color: #fff; font-size: 16px; font-weight: 800; text-align: center; }
.cascade-result-level.risk-band-high{ background: #ed7d31; }
.cascade-result-level.risk-band-medium{ background: #ed9951; }
.cascade-result-level.risk-band-limited{ background: #f1c84b; color: #533d00; }
.cascade-result-level.risk-band-low{ background: #55b88a; }
.cascade-result > p{ margin: 0; padding: 12px 15px; color: #354b6b; font-size: 11px; line-height: 1.4; white-space: pre-line; }
.cascade-result-footer{ min-height: 35px; padding: 0 15px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid #e1e8f0; color: #8192a8; font-size: 10px; }
.cascade-result-footer b{ color: #1767ed; font-size: 13px; }
.cascade-actions{ min-height: 48px; display: flex; align-items: center; justify-content: flex-end; gap: 15px; color: #159b60; font-size: 10px; }
.cascade-actions .button{ margin-top: 0; }
@media (max-width: 1300px) {
    .risk-cascade-layout{ grid-template-columns: 240px minmax(0, 1fr); }
    .risk-cascade-list{ min-height: 100%; }
    .cascade-list-items{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cascade-criteria-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
    .risk-cascade-layout,
.cascade-list-items,
.cascade-criteria-grid,
.cascade-final-grid{ grid-template-columns: 1fr; }
    .cascade-single-criterion{ max-width: none; }
    .cascade-pev-quick-edit{ grid-template-columns: 1fr; align-items: flex-start; }
    .cascade-pev-quick-edit > span:last-child{ white-space: normal; }
    .cascade-result > div:first-child{ grid-template-columns: 1fr; }
    .cascade-result > div:first-child strong{ grid-column: 1; }
    .cascade-result-footer,
.cascade-actions{ align-items: flex-start; flex-direction: column; padding: 10px 15px; }
}
.equipment-tree-card .reference-panel-heading h3{ font-size: 14px; }
.equipment-tree-card .tree-line{ grid-template-columns: 13px 25px minmax(105px, 1fr) minmax(130px, 1.35fr); }
.tree-node-icon{ width: 22px; height: 22px; display: inline-grid; place-items: center; color: transparent; background: linear-gradient(135deg, var(--ui-icon-primary) 0 54%, var(--ui-icon-secondary) 54% 100%); -webkit-background-clip: text; background-clip: text; font-size: 16px; font-weight: 700; }
.tree-line.selected .tree-node-icon{ background: linear-gradient(135deg, #1767ed 0 54%, #5cb4ec 54% 100%); -webkit-background-clip: text; background-clip: text; }
.tree-line .tree-ok,
.tree-line .tree-warning,
.tree-line .tree-measure{ color: transparent !important; }
.editable-criterion-row{ grid-template-columns: 46px minmax(170px, 1fr) minmax(190px, 1.1fr) minmax(170px, 1fr); min-height: 136px; }
.criterion-select{ width: 100%; min-height: 34px; padding: 0 9px; border: 1px solid #b8cde2; border-radius: 5px; color: #21466e; background: #ffffff; font: inherit; font-size: 11px; font-weight: 700; }
.criterion-select:focus{ outline: 2px solid rgba(23, 103, 237, .22); border-color: #1767ed; }
.evaluation-card .evaluation-title{ min-height: 48px; }
.evaluation-card .evaluation-title strong{ font-size: 12px; }
.evaluation-card .evaluation-title span{ font-size: 11px; }
.evaluation-actions{ min-height: 54px; padding: 10px 14px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-top: 1px solid #e5ebf2; color: #71839a; font-size: 10px; }
.evaluation-actions .button{ flex: 0 0 auto; }
.evaluation-saved{ padding: 9px 14px; color: #159b60; background: #effbf5; font-size: 10px; }
@media (max-width: 1100px) {
    .editable-criterion-row{ grid-template-columns: 42px minmax(150px, 1fr) minmax(170px, 1fr); }
    .editable-criterion-row .criterion-note{ grid-column: 2 / -1; }
}
@media (min-width: 721px) and (max-width: 1300px) {
    .equipment-reference-layout{ grid-template-columns: minmax(0, 1fr); }
    .equipment-secondary-layout{ grid-template-columns: minmax(0, 1fr); }
    .equipment-tree-card{ min-height: 480px; }
    .editable-criterion-row{ grid-template-columns: 42px minmax(150px, 1fr) minmax(170px, 1fr); }
    .editable-criterion-row .criterion-note{ grid-column: 2 / -1; }
}
@media (max-width: 720px) {
    .equipment-tree-card .tree-line{ grid-template-columns: 13px 25px minmax(90px, 1fr) minmax(90px, 1fr); }
    .editable-criterion-row{ grid-template-columns: 42px 1fr; }
    .editable-criterion-row .criterion-value,
.editable-criterion-row .criterion-note{ grid-column: 2; }
    .evaluation-actions{ align-items: flex-start; flex-direction: column; }
    .secondary-inline-criterion{ grid-template-columns: 1fr; }
    .secondary-inline-help{ grid-column: 1; }
    .secondary-inline-actions{ align-items: flex-start; flex-direction: column; }
}

/* Réévaluation après mesure : liste courte et cascade directement exploitable. */
.measure-cascade-layout{ display: grid; grid-template-columns: 285px minmax(0, 1fr); gap: 12px; align-items: stretch; min-height: calc(100vh - 210px); }
.measure-cascade-list{ min-height: 100%; padding: 0; display: flex; flex-direction: column; overflow: hidden; }
.measure-cascade-list-heading{ min-height: 64px; padding: 0 15px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #e5ebf2; }
.measure-cascade-list-heading h3{ margin: 0 0 3px; color: #203c66; font-size: 14px; }
.measure-cascade-list-heading small{ color: #8192a8; font-size: 10px; }
.measure-cascade-items{ flex: 1; }
.measure-cascade-item{ width: 100%; min-height: 64px; padding: 8px 11px; display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; gap: 7px; align-items: center; border: 0; border-bottom: 1px solid #edf1f5; color: #405678; background: transparent; text-align: left; }
.measure-cascade-item:hover,
.measure-cascade-item.selected{ background: #f0f6ff; }
.measure-cascade-item.selected{ box-shadow: inset 3px 0 0 #1767ed; }
.measure-cascade-item > span:not(.measure-type){ min-width: 0; display: grid; gap: 3px; }
.measure-cascade-item b{ color: #2d456b; font-size: 10px; }
.measure-cascade-item small{ overflow: hidden; color: #8192a8; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.measure-cascade-item em{ color: #1767ed; font-size: 9px; font-style: normal; font-weight: 800; white-space: nowrap; }
.measure-type{ min-width: 27px; min-height: 23px; padding: 4px 3px; display: grid; place-items: center; border-radius: 4px; color: #fff; font-size: 8px; font-style: normal; font-weight: 800; }
.type-r{ background: #e43c43; }.type-mt{ background: #1767ed; }.type-rr{ background: #e88917; }.type-ob{ background: #70849d; }
.measure-cascade-list-footer{ min-height: 46px; padding: 0 13px; display: flex; align-items: center; justify-content: space-between; color: #8192a8; font-size: 9px; border-top: 1px solid #e5ebf2; }
.measure-cascade-editor{ min-width: 0; padding: 18px; }
.measure-cascade-heading{ min-height: 67px; padding-bottom: 13px; display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; border-bottom: 1px solid #e5ebf2; }
.measure-cascade-heading small{ color: #1767ed; font-size: 10px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.measure-cascade-heading h2{ margin: 5px 0 4px; color: #1d3558; font-family: 'DM Sans', sans-serif; font-size: 18px; }
.measure-cascade-heading p{ margin: 0; color: #69809e; font-size: 10px; }
.measure-cascade-heading > b{ padding: 7px 9px; border-radius: 4px; color: #1767ed; background: #eaf2ff; font-size: 10px; }
.measure-cascade-top-grid{ margin-top: 14px; display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 12px; }
.measure-cascade-card{ min-width: 0; padding: 14px; border: 1px solid #dfe7f0; border-radius: 6px; background: #fff; }
.measure-cascade-card h3{ margin: 0 0 10px; color: #2a4d7a; font-size: 13px; }
.measure-context-line{ margin: 0 0 12px; color: #69809e; font-size: 10px; line-height: 1.4; }
.measure-context-line b{ color: #2d456b; }
.initial-risk-result{ overflow: hidden; display: grid; grid-template-columns: 1fr auto; border: 1px solid #e1e8f0; border-radius: 5px; }
.initial-risk-result small{ grid-column: 1 / -1; padding: 9px 11px 3px; color: #69809e; font-size: 10px; }
.initial-risk-result strong{ padding: 3px 11px 10px; color: #1d3558; font-family: 'Space Grotesk', sans-serif; font-size: 20px; }
.initial-risk-result > span{ align-self: center; margin: 0 9px 7px 0; padding: 5px 7px; color: #fff; background: #ed7d31; font-size: 9px; font-weight: 800; }
.initial-risk-result > div{ grid-column: 1 / -1; min-height: 35px; padding: 7px 11px; display: flex; justify-content: space-between; border-top: 1px solid #e1e8f0; color: #69809e; font-size: 10px; }
.initial-risk-result > div b{ color: #1767ed; font-size: 13px; }
.measure-field{ display: grid; gap: 4px; margin-bottom: 9px; color: #69809e; font-size: 10px; font-weight: 700; }
.measure-field input,
.measure-field textarea{ width: 100%; padding: 8px; border: 1px solid #b8cde2; border-radius: 5px; color: #21466e; background: #fff; font: inherit; font-size: 11px; }
.measure-field textarea{ min-height: 54px; resize: vertical; }
.measure-functions{ display: grid; gap: 5px; padding-top: 3px; color: #405678; font-size: 10px; }
.measure-functions > small{ color: #69809e; font-size: 10px; font-weight: 700; }
.measure-functions label{ display: flex; align-items: center; gap: 6px; }.measure-functions input{ accent-color: #1767ed; }.measure-functions b{ margin-left: auto; color: #1767ed; }
.measure-influence-card{ margin-top: 12px; }
.measure-section-heading{ display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; margin-bottom: 12px; }
.measure-section-heading h3{ margin-bottom: 4px; }.measure-section-heading small{ color: #8192a8; font-size: 10px; }
.source-lock{ padding: 5px 8px; color: #1767ed; background: #eaf2ff; border-radius: 4px; font-size: 9px; font-weight: 800; white-space: nowrap; }
.measure-influence-grid{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.measure-influence-grid > div{ min-height: 96px; padding: 9px; display: grid; grid-template-columns: 1fr auto; gap: 4px 7px; align-content: start; border: 1px solid #e1e8f0; border-radius: 5px; background: #fafbfd; }
.measure-influence-grid > div > span{ grid-column: 1 / -1; color: #69809e; font-size: 10px; font-weight: 700; }.measure-influence-grid > div > b{ grid-column: 1; color: #fff; background: #6eaa47; padding: 5px; text-align: center; font-size: 12px; }.measure-influence-grid > div > strong{ grid-column: 2; align-self: center; color: #2d456b; font-size: 10px; }.measure-influence-grid > div > small{ grid-column: 1 / -1; color: #8192a8; font-size: 9px; }
.measure-influence-grid > .measure-influence-field{ min-height: 96px; padding: 9px; display: grid; grid-template-columns: 1fr auto; gap: 4px 7px; align-content: start; border: 1px solid #e1e8f0; border-radius: 5px; background: #fafbfd; }
.measure-influence-field > span{ grid-column: 1 / -1; color: #69809e; font-size: 10px; font-weight: 700; }
.measure-influence-field > b{ grid-column: 1; align-self: center; min-width: 34px; padding: 5px; color: #fff; background: #6eaa47; text-align: center; font-size: 12px; }
.measure-influence-field > .criterion-select{ grid-column: 2; min-width: 0; min-height: 27px; font-size: 10px; }
.measure-influence-field > small{ grid-column: 1 / -1; color: #8192a8; font-size: 9px; }
.measure-pev-edit{ border-color: #f1c58b !important; background: #fffaf1 !important; }.measure-pev-edit > b{ background: #e88917 !important; }.measure-pev-edit .criterion-select{ grid-column: 2; min-height: 27px; font-size: 10px; }.measure-pev-edit > small{ color: #c87912; }
.measure-after-result{ margin-top: 12px; overflow: hidden; border: 1px solid #dfe7f0; border-radius: 6px; background: #fafbfd; }.measure-after-result > div:first-child{ min-height: 66px; padding: 10px 14px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 3px 10px; }.measure-after-result > div:first-child small{ grid-column: 1 / -1; color: #69809e; font-size: 10px; }.measure-after-result > div:first-child span{ color: #2d456b; font-size: 11px; font-weight: 700; }.measure-after-result > div:first-child strong{ min-width: 80px; padding: 6px 10px; color: #1d3558; background: #fff; font-family: 'Space Grotesk', sans-serif; font-size: 20px; text-align: center; }.measure-after-level{ padding: 9px 14px; color: #fff; background: #4472c4; font-size: 16px; font-weight: 800; text-align: center; }.measure-after-result p{ margin: 0; padding: 9px 14px; color: #405678; font-size: 10px; }.measure-after-footer{ min-height: 34px; padding: 0 14px; display: flex; justify-content: space-between; align-items: center; border-top: 1px solid #e1e8f0; color: #8192a8; font-size: 9px; }.measure-after-footer b{ color: #1767ed; font-size: 12px; }
.measure-cascade-actions{ min-height: 53px; display: flex; align-items: center; gap: 8px; justify-content: flex-end; color: #159b60; font-size: 10px; }.measure-cascade-actions .button{ margin-top: 0; }.measure-cascade-actions span{ margin-right: auto; }
@media (max-width: 1300px) { .measure-cascade-layout{ grid-template-columns: 240px minmax(0, 1fr); }.measure-cascade-list{ min-height: 100%; }.measure-cascade-items{ display: grid; grid-template-columns: 1fr; }.measure-cascade-top-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 720px) { .measure-cascade-layout,
.measure-cascade-items,
.measure-cascade-top-grid,
.measure-influence-grid{ grid-template-columns: 1fr; }.measure-cascade-heading,
.measure-section-heading,
.measure-after-footer,
.measure-cascade-actions{ align-items: flex-start; flex-direction: column; }.measure-cascade-actions span{ margin-right: 0; }.measure-after-result > div:first-child{ grid-template-columns: 1fr; }.measure-after-result > div:first-child strong{ grid-column: 1; } }

/* Documentation visuelle commune aux éléments,
zones,
modes et mesures. */
.documentation-media{ margin-top: 13px; padding-top: 11px; display: grid; grid-template-columns: 116px minmax(0, 1fr); gap: 9px 12px; align-items: center; border-top: 1px solid #e5ebf2; }
.documentation-preview{ min-height: 68px; display: grid; place-items: center; align-content: center; gap: 4px; border: 1px dashed #b7cbe1; border-radius: 5px; color: #1767ed; background: #f7fbff; text-align: center; }
.documentation-preview span{ font-size: 22px; }.documentation-preview small{ max-width: 105px; overflow: hidden; color: #7186a0; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.documentation-media > label,
.documentation-field{ display: grid; gap: 5px; color: #69809e; font-size: 10px; font-weight: 700; }
.documentation-media input[type="file"]{ width: 100%; min-height: 31px; padding: 6px; border: 1px solid #b8cde2; border-radius: 5px; color: #405678; background: #fff; font: inherit; font-size: 9px; }
.documentation-help{ grid-column: 2; color: #8192a8; font-size: 9px; }
.documentation-field{ margin-top: 11px; }.documentation-field input,
.documentation-field textarea{ width: 100%; padding: 8px; border: 1px solid #b8cde2; border-radius: 5px; color: #21466e; background: #fff; font: inherit; font-size: 11px; }.documentation-field textarea{ min-height: 65px; resize: vertical; }
.technical-measure-detail{ min-height: 500px; }.technical-measure-context,
.measure-association{ margin-top: 13px; padding: 10px; display: flex; align-items: center; gap: 9px; border-radius: 5px; background: #f6f9fc; }.technical-measure-context div,
.measure-association div{ display: grid; gap: 3px; }.technical-measure-context strong,
.measure-association strong{ color: #294d78; font-size: 11px; }.technical-measure-context small,
.measure-association small{ color: #8192a8; font-size: 9px; }.measure-association b{ margin-left: auto; color: #159b60; font-size: 11px; }.technical-measure-actions{ margin-top: 15px; display: flex; gap: 8px; flex-wrap: wrap; }.technical-measure-actions .button{ margin-top: 0; }
.technical-measures-layout .equipment-tree-card{ min-height: 520px; }

/* Page Mesures : séparation claire entre documentation et réévaluation. */
.module-subtabs{ margin: -3px 0 15px; display: flex; gap: 8px; border-bottom: 1px solid #e2e9f2; }.module-subtabs button{ min-width: 190px; padding: 9px 13px 10px; display: grid; grid-template-columns: 25px 1fr; gap: 2px 8px; border: 0; border-bottom: 2px solid transparent; color: #526783; background: transparent; text-align: left; }.module-subtabs button > span:first-child{ grid-row: span 2; color: #1767ed; font-size: 18px; }.module-subtabs button > span:nth-child(2){ font-size: 12px; font-weight: 700; }.module-subtabs button small{ color: #8192a8; font-size: 9px; }.module-subtabs button.active{ color: #1767ed; border-bottom-color: #1767ed; background: #f7fbff; }
.technical-measures-workspace,
.reassessment-workspace{ display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 12px; align-items: stretch; min-height: calc(100vh - 255px); }.technical-measures-list,
.reassessment-list{ min-width: 0; padding: 0; overflow: hidden; }.technical-list-heading{ min-height: 64px; padding: 0 14px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #e5ebf2; }.technical-list-heading h3{ margin: 0 0 3px; color: #203c66; font-size: 14px; }.technical-list-heading small{ color: #8192a8; font-size: 10px; }.technical-list-items{ display: grid; }.technical-list-item{ width: 100%; min-height: 72px; padding: 9px 11px; display: grid; grid-template-columns: 29px minmax(0, 1fr) auto; gap: 7px; align-items: center; border: 0; border-bottom: 1px solid #edf1f5; color: #405678; background: transparent; text-align: left; }.technical-list-item:hover,
.technical-list-item.selected{ background: #f0f6ff; }.technical-list-item.selected{ box-shadow: inset 3px 0 0 #1767ed; }.technical-list-item > span:not(.measure-type){ min-width: 0; display: grid; gap: 3px; }.technical-list-item b{ color: #2d456b; font-size: 10px; }.technical-list-item small{ overflow: hidden; color: #8192a8; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }.technical-list-item em{ color: #1767ed; font-size: 9px; font-style: normal; font-weight: 700; }.technical-list-item > strong{ font-size: 9px; white-space: nowrap; }.technical-list-footer{ min-height: 43px; padding: 0 12px; display: flex; align-items: center; justify-content: space-between; color: #8192a8; font-size: 9px; border-top: 1px solid #e5ebf2; }.technical-measure-editor,
.reassessment-editor{ min-width: 0; padding: 16px; }.measure-editor-heading{ min-height: 65px; padding-bottom: 12px; display: flex; justify-content: space-between; gap: 14px; border-bottom: 1px solid #e5ebf2; }.measure-editor-heading small{ color: #1767ed; font-size: 10px; font-weight: 800; letter-spacing: .05em; }.measure-editor-heading h2{ margin: 5px 0 4px; color: #1d3558; font-family: 'DM Sans', sans-serif; font-size: 19px; }.measure-editor-heading p{ margin: 0; color: #69809e; font-size: 10px; }.technical-measure-editor-grid{ margin-top: 13px; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(180px, .9fr); gap: 14px; }.technical-measure-visual{ margin-top: 11px; padding-top: 0; border-top: 0; }.documentation-preview.large{ min-height: 156px; }.documentation-preview.large span{ font-size: 34px; }.technical-measure-editor .measure-functions{ margin-top: 13px; }.status-good{ color: #159b60; }.status-pending{ color: #e88917; }.technical-measure-editor .measure-association{ margin-top: 15px; }.reassessment-list .technical-list-item{ min-height: 81px; }.reassessment-score-header{ margin-top: 12px; display: grid; grid-template-columns: minmax(0, 1fr) 24px minmax(0, 1fr); gap: 8px; align-items: center; }.reassessment-score-header .initial-risk-result,
.reassessment-score-header .measure-after-result{ margin: 0; min-height: 100px; }.reassessment-score-header .initial-risk-result strong{ font-size: 22px; }.reassessment-score-header .initial-risk-result > span{ font-size: 8px; }.comparison-arrow{ color: #8094ae; font-size: 19px; text-align: center; }.measure-after-result.compact > div:first-child{ min-height: 65px; }.measure-after-result.compact > div:first-child strong{ font-size: 22px; }.measure-after-result.compact .measure-after-level{ min-height: 35px; padding: 8px; font-size: 10px; }.reassessment-editor .measure-influence-card{ margin-top: 12px; }.criterion-comparison{ margin-top: 12px; padding: 13px; border: 1px solid #dfe7f0; border-radius: 6px; background: #fff; }.criterion-comparison .measure-section-heading{ margin-bottom: 9px; }.criterion-comparison-grid{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }.criterion-comparison-grid > div{ min-height: 45px; padding: 7px; display: grid; grid-template-columns: 35px 1fr; gap: 1px 6px; align-items: center; border: 1px solid #e1e8f0; border-radius: 4px; background: #fafbfd; }.criterion-comparison-grid b{ grid-row: span 2; color: #1767ed; font-size: 10px; }.criterion-comparison-grid span{ color: #526783; font-size: 10px; }.criterion-comparison-grid strong{ font-size: 9px; }.delta-improved,
.comparison-improved{ color: #159b60; }.delta-degraded,
.comparison-degraded{ color: #df3a3e; }.delta-stable,
.comparison-stable{ color: #8795a8; }.comparison-global{ padding: 5px 8px; border-radius: 4px; font-size: 9px; }.reassessment-actions{ min-height: 48px; display: flex; align-items: center; justify-content: flex-end; gap: 9px; color: #159b60; font-size: 10px; }.reassessment-actions span{ margin-right: auto; }

/* Synthèse dashboard risques / mesures. */
.dashboard-synthesis-panel{ margin-top: 12px; padding: 13px 15px; }.synthesis-status{ padding: 5px 8px; border-radius: 4px; color: #159b60; background: #e5f7ec; font-size: 10px; font-weight: 800; }.synthesis-overview{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }.synthesis-overview > div{ min-height: 58px; padding: 8px 10px; display: grid; grid-template-columns: 34px 1fr; grid-template-rows: auto auto; column-gap: 7px; border: 1px solid #e5ebf2; border-radius: 5px; background: #fafbfd; }.synthesis-overview strong{ grid-row: span 2; color: #1767ed; font-family: 'Space Grotesk', sans-serif; font-size: 22px; }.synthesis-overview span{ color: #30476c; font-size: 10px; font-weight: 700; }.synthesis-overview small{ color: #8192a8; font-size: 8px; }.synthesis-warning{ color: #e88917 !important; }.synthesis-blue{ color: #1767ed !important; }.synthesis-green{ color: #159b60 !important; }.synthesis-table{ margin-top: 10px; }.synthesis-table-head,
.synthesis-table-row{ display: grid; grid-template-columns: 58px 1.3fr 1.4fr 1fr 75px; gap: 8px; align-items: center; }.synthesis-table-head{ min-height: 25px; color: #8192a8; font-size: 8px; font-weight: 800; text-transform: uppercase; }.synthesis-table-row{ min-height: 32px; border-top: 1px solid #edf1f5; color: #526783; font-size: 9px; }.synthesis-table-row b{ color: #1767ed; font-size: 10px; }.synthesis-table-row strong{ color: #405678; }.synthesis-table-row strong i{ color: #159b60; font-style: normal; }.synthesis-table-row em{ width: max-content; padding: 4px 6px; border-radius: 4px; font-size: 8px; font-style: normal; font-weight: 800; }.synthesis-managed{ color: #159b60; background: #e5f7ec; }.synthesis-pending{ color: #e88917; background: #fff0d9; }.synthesis-neutral{ color:#626262; background:#ededed; }.dashboard-synthesis-panel .reference-outline-button{ margin-top: 10px; }

/* Confort responsive des quatre rubriques Équipement et des deux vues Mesures. */
.equipment-reference-tabs{ height: auto; min-height: 48px; flex-wrap: wrap; }.equipment-reference-tabs button{ flex: 1 1 160px; }
@media (max-width: 900px) { .technical-measures-workspace,
.reassessment-workspace{ grid-template-columns: 1fr; }.technical-measures-list,
.reassessment-list{ min-height: 0; }.technical-measure-editor-grid{ grid-template-columns: 1fr; }.synthesis-overview{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 720px) { .documentation-media,
.technical-measure-editor-grid,
.reassessment-score-header{ grid-template-columns: 1fr; }.documentation-help{ grid-column: 1; }.synthesis-overview,
.synthesis-table-head,
.synthesis-table-row,
.criterion-comparison-grid{ grid-template-columns: 1fr; }.synthesis-table-head{ display: none; }.synthesis-table-row{ gap: 3px; padding: 7px 0; }.reassessment-actions{ align-items: flex-start; flex-direction: column; }.reassessment-actions span{ margin-right: 0; } }

/* Évaluation après mesure : Pev et résultat restent dans le même flux de lecture. */
.cascade-pev-priority{ margin-bottom: 9px; padding: 9px 11px; display: grid; grid-template-columns: minmax(0, 1fr) 230px auto; gap: 10px; align-items: center; border: 1px solid #b9d2ff; border-radius: 6px; background: #f7fbff; }.cascade-pev-priority > div:first-child{ display: flex; align-items: center; gap: 9px; }.cascade-pev-priority strong{ display: block; color: #294d78; font-size: 11px; }.cascade-pev-priority small{ display: block; margin-top: 3px; color: #69809e; font-size: 9px; }.cascade-pev-priority > span:last-child{ color: #1767ed; font-size: 10px; font-weight: 800; white-space: nowrap; }.cascade-result-priority{ margin-top: 0; margin-bottom: 11px; }.cascade-result-priority > p{ display: none; }.cascade-result-advice{ margin-top: 9px; overflow: hidden; border: 1px solid #dfe7f0; border-radius: 6px; background: #fafbfd; }.cascade-result-advice p{ margin: 0; padding: 9px 13px; color: #405678; font-size: 10px; line-height: 1.4; }.shield-check-icon{ width: 31px; height: 31px; position: relative; display: inline-block; flex: 0 0 31px; margin-right: 8px; color: transparent; font-size: 0; vertical-align: -8px; }.shield-check-icon::before,
.nav-icon-shield-check::before{ content: ''; position: absolute; background: #1767ed; clip-path: polygon(50% 0, 93% 16%, 88% 66%, 50% 100%, 12% 66%, 7% 16%); }.shield-check-icon::before{ inset: 1px 3px; }.shield-check-icon::after,
.nav-icon-shield-check::after{ content: '✓'; position: absolute; color: #fff; font-size: 15px; font-weight: 900; }.shield-check-icon::after{ left: 8px; top: 5px; }.nav-icon-shield-check{ width: 20px; height: 22px; position: relative; color: transparent !important; font-size: 0 !important; }.nav-icon-shield-check::before{ inset: 2px 3px; }.nav-icon-shield-check::after{ left: 6px; top: 3px; font-size: 10px; }.evaluation-after-heading h1{ display: flex; align-items: center; }.evaluation-after-workspace{ min-height: calc(100vh - 205px); }.after-measure-selection{ margin-top: 12px; padding: 10px 11px; display: grid; grid-template-columns: 34px minmax(190px, .8fr) minmax(220px, 1.2fr); gap: 8px 10px; align-items: center; border: 1px solid #b9d2ff; border-radius: 6px; background: #f7fbff; }.after-measure-selection > .shield-check-icon{ margin: 0; }.after-measure-selection > label{ display: grid; gap: 4px; color: #69809e; font-size: 10px; font-weight: 700; }.after-measure-selection select{ width: 100%; min-height: 31px; padding: 0 8px; border: 1px solid #b8cde2; border-radius: 5px; color: #21466e; background: #fff; font: inherit; font-size: 10px; font-weight: 700; }.after-measure-selection > div:nth-child(3){ display: grid; gap: 3px; }.after-measure-selection > div:nth-child(3) strong{ color: #294d78; font-size: 11px; }.after-measure-selection > div:nth-child(3) small{ color: #8192a8; font-size: 9px; }.after-measure-description{ grid-column: 2 / -1; }.after-measure-description textarea{ min-height: 40px !important; }.after-measure-visual{ grid-column: 1 / -1; margin-top: 2px; padding-top: 8px; grid-template-columns: 90px minmax(0, 1fr); }.after-measure-visual .documentation-preview{ min-height: 45px; }.after-measure-visual .documentation-preview span{ font-size: 16px; }.criterion-effect{ grid-column: 1 / -1; display: block; margin-top: 2px; padding-top: 4px; border-top: 1px solid #e1e8f0; font-size: 9px; font-weight: 800; }.measure-influence-field > small + .criterion-effect{ color: inherit; }
@media (max-width: 720px) { .cascade-pev-priority,
.after-measure-selection{ grid-template-columns: 1fr; align-items: start; }.cascade-pev-priority > span:last-child{ white-space: normal; }.after-measure-description,
.after-measure-visual{ grid-column: 1; }.shield-check-icon{ margin-right: 4px; } }
@media (min-width: 721px) and (max-width: 1300px) { .cascade-pev-priority{ grid-template-columns: minmax(0, 1fr); align-items: start; }.cascade-pev-priority .criterion-select{ grid-column: 1; }.cascade-pev-priority > span:last-child{ white-space: normal; }.cascade-result-priority > div:first-child{ grid-template-columns: minmax(0, 1fr) 82px; }.cascade-result-priority > div:first-child span{ line-height: 1.25; } }
.cascade-pev-actions{ display: flex; align-items: center; justify-content: flex-end; gap: 8px; }.cascade-pev-actions span{ color: #1767ed; font-size: 10px; font-weight: 800; white-space: nowrap; }.cascade-pev-actions .button{ min-height: 30px; margin: 0; padding: 0 10px; font-size: 10px; white-space: nowrap; }.nav-item .nav-icon-shield-check{ width: 20px; height: 22px; position: relative; display: inline-block; color: transparent !important; font-size: 0 !important; }.nav-item .nav-icon-shield-check::before{ content: ''; position: absolute; inset: 2px 3px; background: #1767ed; clip-path: polygon(50% 0, 93% 16%, 88% 66%, 50% 100%, 12% 66%, 7% 16%); }.nav-item .nav-icon-shield-check::after{ content: '✓'; position: absolute; left: 6px; top: 3px; color: #fff; font-size: 10px; font-weight: 900; }
@media (min-width: 721px) and (max-width: 1300px) { .cascade-pev-priority .cascade-pev-actions{ grid-column: 1; align-items: flex-start; justify-content: space-between; }.cascade-pev-actions span{ white-space: normal; } }

/* Le menu reste ouvert : sa largeur se règle par glissement sur la poignée latérale. */
.anr-sidebar{ position: relative; width: var(--sidebar-width, 290px); flex: 0 0 var(--sidebar-width, 290px); min-width: 220px; max-width: 460px; transition: width .08s linear, flex-basis .08s linear; }
.sidebar-topbar{ min-height: 47px; padding: 10px 16px 0; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.sidebar-tree-caption{ overflow: hidden; color: #7894b1; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-resize-hint{ color: #5f7d9d; font-size: 8px; white-space: nowrap; }
.sidebar-resize-handle{ width: 8px; position: absolute; z-index: 4; top: 0; right: -4px; bottom: 0; padding: 0; border: 0; border-right: 1px solid transparent; background: transparent; cursor: col-resize; }
.sidebar-resize-handle:hover,
.menu-resizing .sidebar-resize-handle{ border-right-color: #2d8cff; background: rgba(45, 140, 255, .12); }
.menu-resizing,
.menu-resizing *{ cursor: col-resize !important; user-select: none !important; }
.theme-light .sidebar-tree-caption{ color: #6685a3; }.theme-light .sidebar-resize-hint{ color: #8ca0b6; }
@media (max-width: 1050px) and (min-width: 721px) { .anr-sidebar{ width: var(--sidebar-width, 240px); flex-basis: var(--sidebar-width, 240px); } }
@media (max-width: 720px) { .anr-sidebar{ width: 100%; flex-basis: 100%; min-width: 0; max-width: none; }.sidebar-topbar,
.sidebar-resize-handle{ display: none; } }

/* Fiche Généralités ouverte depuis l’arborescence globale. */
.generalities-grid{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }.generalities-panel{ min-height: 235px; padding: 16px; }.generalities-panel .reference-panel-heading{ margin-bottom: 15px; }.generalities-panel .reference-panel-heading h3{ font-size: 15px; }.generalities-fields{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }.generalities-fields label{ display: grid; gap: 5px; color: #69809e; font-size: 10px; font-weight: 800; }.generalities-fields input,
.generalities-fields select,
.generalities-fields textarea{ width: 100%; padding: 8px 9px; border: 1px solid #b8cde2; border-radius: 5px; color: #21466e; background: #fff; font: inherit; font-size: 11px; }.generalities-fields textarea{ min-height: 67px; resize: vertical; }.generalities-fields input[readonly]{ color: #666; background: #f1f1f1; }.field-wide{ grid-column: 1 / -1; }.generalities-revision-panel{ grid-column: 1 / -1; min-height: 190px; }.generalities-revision-panel .button{ margin-top: 15px; }.generalities-saved{ margin-left: 10px; color: #159b60; font-size: 10px; font-weight: 800; }
@media (max-width: 720px) { .generalities-grid,
.generalities-fields{ grid-template-columns: 1fr; }.generalities-revision-panel,
.field-wide{ grid-column: auto; }.generalities-saved{ display: block; margin: 10px 0 0; } }

/* Mesures techniques : synthèse puis fiche détaillée inspirée de la V1. */
.technical-measures-summary{ display: grid; gap: 13px; }.technical-measures-summary-hero{ min-height: 132px; padding: 20px 22px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }.technical-measures-summary-hero h2{ margin-top: 6px; color: #e5eff9; font-size: 24px; }.technical-measures-summary-hero p{ max-width: 700px; margin: 7px 0 0; color: #a9bbce; font-size: 11px; line-height: 1.5; }.technical-measures-summary-count{ min-width: 125px; padding: 10px 14px; display: flex; align-items: center; gap: 10px; border-left: 1px solid #41617f; }.technical-measures-summary-count strong{ color: #8fc8ff; font-family: 'Space Grotesk', sans-serif; font-size: 35px; }.technical-measures-summary-count small{ color: #a9bbce; font-size: 10px; line-height: 1.3; }.technical-measures-summary-list{ padding: 16px; }.technical-measures-summary-list .reference-panel-heading{ margin-bottom: 13px; }.technical-measure-summary-table{ overflow: hidden; border: 1px solid #294662; border-radius: 6px; }.technical-measure-summary-head,
.technical-measure-summary-row{ display: grid; grid-template-columns: 90px minmax(220px, 1.8fr) 1.2fr 100px 22px; gap: 12px; align-items: center; }.technical-measure-summary-head{ min-height: 34px; padding: 0 13px; color: #8ba6c0; background: #142b47; font-size: 9px; font-weight: 800; text-transform: uppercase; }.technical-measure-summary-row{ min-height: 69px; padding: 8px 13px; border-top: 1px solid #294662; color: #a9bbce; font-size: 10px; }.technical-measure-summary-row:hover{ background: #17365d; }.technical-measure-summary-row > strong{ color: #8fc8ff; font-size: 11px; }.technical-measure-summary-row > span:nth-child(2){ display: grid; gap: 4px; }.technical-measure-summary-row b{ color: #e5eff9; font-size: 11px; }.technical-measure-summary-row small{ color: #819bb5; font-size: 9px; line-height: 1.25; }.technical-measure-summary-row em{ display: block; width: max-content; padding: 4px 6px; border-radius: 4px; color: #70e0ad; background: #173f39; font-size: 9px; font-style: normal; font-weight: 800; }.technical-measure-summary-row .row-arrow{ color: #8fc8ff; font-size: 20px; text-align: center; }
.technical-measure-v1-card{ min-height: calc(100vh - 210px); padding: 20px 22px; }.technical-measure-v1-heading{ display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; padding-bottom: 14px; border-bottom: 1px solid #294662; }.technical-measure-v1-heading h2{ margin-top: 6px; color: #e5eff9; font-size: 23px; }.technical-measure-v1-context{ margin: 15px 0 18px; padding: 11px 13px; display: flex; align-items: center; gap: 10px; border-left: 4px solid #e5b400; background: #142b47; }.technical-measure-v1-context strong{ color: #e5eff9; font-size: 11px; }.technical-measure-v1-context small{ display: block; margin-top: 3px; color: #a9bbce; font-size: 9px; }.technical-measure-v1-grid{ display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr); gap: 25px; }.technical-measure-v1-fields{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px 15px; }.technical-measure-v1-fields .field-wide{ grid-column: 1 / -1; }.technical-measure-v1-fields .documentation-field{ color: #8fc8ff; font-size: 11px; }.technical-measure-v1-fields .documentation-field input,
.technical-measure-v1-fields .documentation-field select,
.technical-measure-v1-fields .documentation-field textarea{ min-height: 33px; color: #e2edf8; background: #0f2035; border-color: #41617f; font-size: 11px; }.technical-measure-v1-fields .documentation-field textarea{ min-height: 155px; }.measure-standard-check{ grid-column: 1 / -1; display: flex; align-items: center; gap: 8px; color: #a9bbce; font-size: 10px; }.measure-standard-check input{ accent-color: #2d8cff; }.technical-measure-v1-media{ display: grid; grid-template-columns: 1fr 1fr; gap: 8px 12px; align-content: start; }.technical-measure-media-title{ grid-column: span 1; color: #8fc8ff; font-size: 11px; }.technical-measure-media-box{ min-height: 205px; border: 1px solid #41617f; border-radius: 0; color: #a9bbce; background: #0f2035; }.technical-measure-media-box span{ font-size: 34px; }.technical-measure-media-box small{ max-width: 125px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.technical-measure-v1-media .documentation-field{ grid-column: span 1; color: #8fc8ff; font-size: 9px; }.technical-measure-v1-media .documentation-field input{ min-height: 29px; padding: 5px; color: #e2edf8; background: #172d48; border-color: #41617f; font-size: 9px; }.technical-measure-v1-actions{ margin-top: 20px; padding-top: 14px; display: flex; gap: 9px; border-top: 1px solid #294662; }.technical-measure-v1-card .evaluation-saved{ margin-top: 10px; }.theme-light .technical-measures-summary-hero h2,
.theme-light .technical-measure-v1-heading h2{ color: #203c66; }.theme-light .technical-measures-summary-hero p,
.theme-light .technical-measures-summary-count small{ color: #69809e; }.theme-light .technical-measures-summary-count{ border-color: #dfe7f0; }.theme-light .technical-measure-summary-table{ border-color: #dfe7f0; }.theme-light .technical-measure-summary-head{ color: #8192a8; background: #f3f7fb; }.theme-light .technical-measure-summary-row{ border-color: #e5ebf2; color: #526783; }.theme-light .technical-measure-summary-row:hover{ background: #f0f6ff; }.theme-light .technical-measure-summary-row b{ color: #405678; }.theme-light .technical-measure-summary-row small{ color: #8192a8; }.theme-light .technical-measure-summary-row em{ color: #159b60; background: #e5f7ec; }.theme-light .technical-measure-v1-card{ color: #405678; }.theme-light .technical-measure-v1-heading{ border-color: #e5ebf2; }.theme-light .technical-measure-v1-context{ background: #fff8de; }.theme-light .technical-measure-v1-context strong{ color: #294d78; }.theme-light .technical-measure-v1-context small{ color: #69809e; }.theme-light .technical-measure-v1-fields .documentation-field{ color: #1767ed; }.theme-light .technical-measure-v1-fields .documentation-field input,
.theme-light .technical-measure-v1-fields .documentation-field select,
.theme-light .technical-measure-v1-fields .documentation-field textarea{ color: #21466e; background: #fff; border-color: #b8cde2; }.theme-light .technical-measure-media-title{ color: #1767ed; }.theme-light .technical-measure-media-box{ border-color: #b8cde2; color: #69809e; background: #f7fbff; }.theme-light .technical-measure-v1-media .documentation-field{ color: #1767ed; }.theme-light .technical-measure-v1-media .documentation-field input{ color: #21466e; background: #fff; border-color: #b8cde2; }.theme-light .technical-measure-v1-actions{ border-color: #e5ebf2; }
@media (max-width: 900px) { .technical-measure-v1-grid{ grid-template-columns: 1fr; }.technical-measure-v1-media{ max-width: 620px; }.technical-measure-summary-head{ display: none; }.technical-measure-summary-row{ grid-template-columns: 70px minmax(0, 1fr) 70px 22px; }.technical-measure-summary-row > span:nth-child(3){ display: none; } }
@media (max-width: 720px) { .technical-measures-summary-hero,
.technical-measure-v1-heading{ align-items: flex-start; flex-direction: column; }.technical-measures-summary-count{ border-left: 0; border-top: 1px solid #41617f; padding-left: 0; padding-top: 8px; }.technical-measure-v1-fields,
.technical-measure-v1-media{ grid-template-columns: 1fr; }.technical-measure-v1-media .documentation-field,
.technical-measure-media-title{ grid-column: auto; }.technical-measure-media-box{ min-height: 140px; }.technical-measure-v1-actions{ align-items: flex-start; flex-direction: column; }.technical-measure-summary-row{ grid-template-columns: 64px minmax(0, 1fr) 20px; }.technical-measure-summary-row > span:nth-child(4){ display: none; } }

/* Fiche MT : médias alignés et usages de la mesure regroupés en bas. */
.technical-measure-v1-media{ align-items: start; }.technical-measure-media-column{ min-width: 0; display: grid; grid-template-rows: auto minmax(205px, 1fr) auto; gap: 8px; align-content: start; }.technical-measure-media-column .documentation-field{ min-width: 0; }.technical-measure-media-column .documentation-field input{ width: 100%; }.technical-measure-risk-usage{ margin-top: 22px; padding-top: 15px; border-top: 1px solid #294662; }.technical-measure-risk-usage .reference-panel-heading{ margin-bottom: 9px; }.technical-measure-risk-usage h3{ color: #e5eff9; font-size: 14px; }.technical-measure-risk-list{ display: grid; border: 1px solid #294662; border-radius: 6px; overflow: hidden; }.technical-measure-risk-list a{ min-height: 52px; padding: 8px 11px; display: grid; grid-template-columns: 65px minmax(0, 1fr) minmax(180px, 1fr) 20px; gap: 9px; align-items: center; border-top: 1px solid #294662; color: #a9bbce; font-size: 10px; }.technical-measure-risk-list a:first-child{ border-top: 0; }.technical-measure-risk-list a:hover{ background: #17365d; }.technical-measure-risk-list strong{ color: #8fc8ff; }.technical-measure-risk-list span{ color: #e5eff9; }.technical-measure-risk-list small{ color: #819bb5; }.technical-measure-risk-list .row-arrow{ color: #8fc8ff; font-size: 18px; text-align: center; }.theme-light .technical-measure-risk-usage{ border-color: #e5ebf2; }.theme-light .technical-measure-risk-usage h3{ color: #203c66; }.theme-light .technical-measure-risk-list{ border-color: #dfe7f0; }.theme-light .technical-measure-risk-list a{ border-color: #e5ebf2; color: #526783; }.theme-light .technical-measure-risk-list a:hover{ background: #f0f6ff; }.theme-light .technical-measure-risk-list span{ color: #405678; }.theme-light .technical-measure-risk-list small{ color: #8192a8; }.theme-light .technical-measure-risk-list .row-arrow{ color: #1767ed; }
@media (max-width: 720px) { .technical-measure-media-column{ grid-template-rows: auto minmax(140px, auto) auto; }.technical-measure-risk-list a{ grid-template-columns: 60px minmax(0, 1fr) 18px; }.technical-measure-risk-list small{ display: none; } }

/* Parcours détaillé du risque associé à la MT. */
.technical-measure-risk-list a{ grid-template-columns: 65px minmax(150px, .7fr) minmax(330px, 1.8fr) 20px; }.technical-measure-risk-list .technical-measure-risk-name{ min-width: 0; overflow: hidden; color: #e5eff9; text-overflow: ellipsis; white-space: nowrap; }.technical-measure-risk-path{ min-width: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }.technical-measure-risk-path span{ min-width: 0; display: grid; gap: 3px; }.technical-measure-risk-path small{ overflow: hidden; color: #819bb5; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }.technical-measure-risk-path b{ overflow: hidden; color: #a9d3f5; font-size: 9px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }.theme-light .technical-measure-risk-list .technical-measure-risk-name{ color: #405678; }.theme-light .technical-measure-risk-path small{ color: #8192a8; }.theme-light .technical-measure-risk-path b{ color: #526783; }
@media (max-width: 1100px) { .technical-measure-risk-list a{ grid-template-columns: 65px minmax(140px, .6fr) minmax(270px, 1.5fr) 20px; }.technical-measure-risk-path{ grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px 8px; } }
@media (max-width: 720px) { .technical-measure-risk-list a{ grid-template-columns: 60px minmax(0, 1fr) 18px; align-items: start; }.technical-measure-risk-list .technical-measure-risk-name{ white-space: normal; }.technical-measure-risk-path{ grid-column: 2 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); }.technical-measure-risk-path small{ display: block; }.technical-measure-risk-list .row-arrow{ grid-column: 3; grid-row: 1; } }

/* Le menu conserve son défilement fonctionnel sans afficher un second ascenseur. */
.global-tree-nav{ scrollbar-width: thin; scrollbar-color: #a8a8a8 #f3f3f3; }
.global-tree-nav::-webkit-scrollbar{ width: 9px; height: 9px; display: block; }
.global-tree-nav::-webkit-scrollbar-track{ background: #f3f3f3; }
.global-tree-nav::-webkit-scrollbar-thumb{ border: 2px solid #f3f3f3; border-radius: 8px; background: #a8a8a8; }

/* Réorganisation métier du treeview : seuls les frères compatibles deviennent des cibles. */
.global-tree-drag-handle{ width: 16px; display: grid; place-items: center; color: #8c8c8c; font-size: 13px; line-height: 1; opacity: 0; cursor: grab; transition: opacity .1s ease, color .1s ease; }
.tree-draggable:hover .global-tree-drag-handle,
.tree-draggable:focus-visible .global-tree-drag-handle{ opacity: 1; }
.tree-draggable.tree-dragging{ opacity: .45; }
.tree-draggable.tree-dragging .global-tree-drag-handle{ opacity: 1; cursor: grabbing; }
.tree-draggable.tree-drop-compatible:not(.tree-dragging){ outline: 1px dashed transparent; outline-offset: -2px; }
.tree-draggable.tree-drop-compatible:not(.tree-dragging):hover{ outline-color: #0078d4; background: #e5f2ff; }
.tree-draggable.tree-drop-target:not(.tree-dragging){ outline: 1px solid #0078d4; outline-offset: -2px; background: #e5f2ff; }
.menu-collapsed .global-tree-drag-handle{ display: none; }
.global-tree-item-actions{ display: flex; align-items: center; gap: 1px; opacity: 0; transition: opacity .1s ease; }
.tree-draggable:hover .global-tree-item-actions,
.tree-draggable:focus-visible .global-tree-item-actions,
.tree-draggable.active .global-tree-item-actions{ opacity: 1; }
.global-tree-mini-action{ width: 17px; height: 17px; display: grid; place-items: center; border: 0; color: #686868; background: transparent; cursor: pointer; }
.global-tree-mini-action:hover{ color: #1f1f1f; background: #d8d8d8; }
.global-tree-mini-action svg{ width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; }
.global-tree-mini-action.tree-delete-action{ color: #a4262c; }
.global-tree-mini-action.tree-delete-action:hover{ color: #7f1d22; background: #f0dfe0; }
.global-tree-mini-action.tree-delete-action.is-blocked{ color: #9a9a9a; }
.global-tree-mini-action.tree-delete-action.is-blocked:hover{ color: #777; background: #e3e3e3; }
.global-tree-item-actions .global-tree-drag-handle{ flex: 0 0 16px; }
.menu-collapsed .global-tree-item-actions{ display: none; }

/* MSR : catalogue MT compact et zone d'affectation par glisser-déposer. */
.after-measure-selection.mt-transfer-workspace{
    margin-top: 12px;
    padding: 13px;
    display: block;
    border: 1px solid #d6d6d6;
    border-radius: 4px;
    color: #1f1f1f;
    background: #fff;
    box-shadow: none;
}
.mt-transfer-heading{ margin-bottom: 11px; display: flex; align-items: center; gap: 9px; }
.mt-transfer-heading .shield-check-icon{ margin: 0; transform: scale(.82); }
.mt-transfer-heading > div{ display: grid; gap: 2px; }
.mt-transfer-heading strong{ color: #1f1f1f; font-size: 12px; font-weight: 600; }
.mt-transfer-heading small{ color: #6e6e6e; font-size: 9px; }
.mt-transfer-grid{ display: grid; grid-template-columns: minmax(280px, 1fr) 44px minmax(330px, 1.12fr); align-items: stretch; gap: 8px; }
.mt-transfer-panel{ min-width: 0; overflow: hidden; border: 1px solid #d6d6d6; border-radius: 4px; background: #fafafa; box-shadow: none; }
.mt-transfer-panel > header{ min-height: 42px; padding: 7px 9px; display: flex; align-items: center; justify-content: space-between; gap: 9px; border-bottom: 1px solid #d6d6d6; background: #f3f3f3; }
.mt-transfer-panel > header > div{ min-width: 0; display: grid; gap: 1px; }
.mt-transfer-panel > header strong{ overflow: hidden; color: #1f1f1f; font-size: 10px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.mt-transfer-panel > header small{ color: #6e6e6e; font-size: 8px; }
.mt-panel-count{ min-width: 24px; height: 22px; padding: 0 6px; display: grid; place-items: center; border: 1px solid #b8b8b8; border-radius: 11px; color: #555; background: #fff; font-size: 9px; font-weight: 600; }
.mt-panel-count.selected{ color: #fff; border-color: #0078d4; background: #0078d4; }
.mt-catalog-search{ height: 34px; margin: 7px; padding: 0 8px; display: grid; grid-template-columns: 16px minmax(0, 1fr); align-items: center; gap: 5px; border: 1px solid #b8b8b8; border-radius: 3px; color: #6e6e6e; background: #fff; }
.mt-catalog-search:focus-within{ border-color: #0078d4; outline: 1px solid #0078d4; }
.mt-catalog-search input{ width: 100%; min-height: 30px; padding: 0; border: 0 !important; outline: 0; color: #1f1f1f; background: transparent; font: inherit; font-size: 9px; box-shadow: none; }
.mt-transfer-list{ height: 228px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #b8b8b8 #f3f3f3; }
.mt-catalog-panel .mt-transfer-list{ height: 187px; border-top: 1px solid #e5e5e5; }
.mt-transfer-row{ min-height: 56px; padding: 6px 7px; display: grid; grid-template-columns: 42px minmax(0, 1fr) 27px; align-items: center; gap: 8px; border-bottom: 1px solid #e5e5e5; color: #333; background: #fff; cursor: grab; }
.mt-transfer-row:last-child{ border-bottom: 0; }
.mt-transfer-row:hover{ background: #f0f0f0; }
.mt-transfer-row:active{ cursor: grabbing; }
.mt-transfer-row.assigned{ grid-template-columns: 42px minmax(0, 1fr) 18px 27px; }
.mt-transfer-thumb{ width: 40px; height: 40px; overflow: hidden; display: grid; place-items: center; border: 1px solid #d6d6d6; border-radius: 3px; background: #fff; }
.mt-transfer-thumb img{ width: 100%; height: 100%; display: block; object-fit: contain; }
.mt-transfer-thumb.placeholder{ color: #0078d4; background: #f3f3f3; font-size: 15px; }
.mt-transfer-copy{ min-width: 0; display: grid; gap: 2px; }
.mt-transfer-copy b{ overflow: hidden; color: #1f1f1f; font-size: 9px; font-weight: 600; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.mt-transfer-copy small{ overflow: hidden; color: #555; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.mt-transfer-copy em{ color: #777; font-size: 8px; font-style: normal; }
.mt-transfer-button{ width: 25px; height: 25px; padding: 0; display: grid; place-items: center; border: 1px solid #b8b8b8; border-radius: 3px; color: #333; background: #fff; font: inherit; font-size: 14px; line-height: 1; cursor: pointer; box-shadow: none; }
.mt-transfer-button:hover{ color: #fff; border-color: #0078d4; background: #0078d4; }
.mt-transfer-button.remove:hover{ border-color: #c42b1c; background: #c42b1c; }
.mt-drag-handle{ color: #8a8a8a; font-size: 15px; text-align: center; cursor: grab; }
.mt-transfer-direction{ display: grid; place-content: center; gap: 3px; color: #6e6e6e; text-align: center; }
.mt-transfer-direction span{ font-size: 7px; text-transform: uppercase; letter-spacing: .08em; }
.mt-transfer-direction b{ color: #0078d4; font-size: 22px; font-weight: 400; }
.msr-drop-zone{ border-style: dashed; border-color: #8c8c8c; }
.msr-drop-zone.drag-active{ border-style: solid; border-color: #0078d4; outline: 2px solid rgba(0,120,212,.16); background: #f5faff; }
.mt-transfer-empty{ height: 100%; min-height: 70px; padding: 14px; display: grid; place-content: center; gap: 4px; color: #6e6e6e; font-size: 9px; text-align: center; }
.mt-transfer-empty strong{ color: #444; font-size: 10px; font-weight: 600; }
.mt-transfer-empty small{ color: #777; font-size: 8px; }
.mt-transfer-footer{ margin-top: 9px; display: grid; grid-template-columns: minmax(220px, .72fr) minmax(300px, 1.28fr); gap: 9px; }
.mt-transfer-footer .measure-selection-summary{ min-width: 0; padding: 8px 10px; display: grid; align-content: center; gap: 3px; border: 1px solid #d6d6d6; border-radius: 3px; background: #f7f7f7; box-shadow: none; }
.mt-transfer-footer .measure-selection-summary strong{ color: #1f1f1f; font-size: 13px; font-weight: 600; }
.mt-transfer-footer .measure-selection-summary small{ overflow: hidden; color: #555; font-size: 8px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.mt-transfer-footer .after-measure-description{ display: grid; gap: 4px; color: #555; font-size: 9px; font-weight: 600; }
.mt-transfer-footer .after-measure-description textarea{ min-height: 58px !important; resize: vertical; }
.technical-measure-media-box img{ max-width: 100%; max-height: 150px; object-fit: contain; }
@media (max-width: 980px){
    .mt-transfer-grid{ grid-template-columns: 1fr; }
    .mt-transfer-direction{ min-height: 25px; grid-auto-flow: column; align-items: center; }
    .mt-transfer-direction b{ transform: rotate(90deg); }
    .mt-transfer-footer{ grid-template-columns: 1fr; }
}


/* Verrou final — conserver ce bloc en dernière position. */
.theme-light,
.theme-light *{ font-family: "Segoe UI", Arial, sans-serif !important; }
.theme-light :is(h1,h2,h3,h4,h5,h6,strong,b,label,th){ font-weight: 600 !important; }
.anr-header{ height: 58px !important; }
.anr-content{ min-height: calc(100vh - 58px) !important; }
.anr-page{ padding: 25px 30px 45px !important; }
.anr-page h1{ margin: 0 !important; font-size: 22px !important; line-height: 1.15 !important; letter-spacing: 0 !important; }
.anr-page h2{ font-size: 15px !important; line-height: 1.2 !important; letter-spacing: 0 !important; }
.anr-page h3{ font-size: 11px !important; line-height: 1.25 !important; letter-spacing: 0 !important; }
.reference-page-heading p{ font-size: 9px !important; line-height: 1.35 !important; }
.reference-refresh{ width: auto !important; height: 28px !important; min-height: 28px !important; padding: 0 9px !important; font-size: 9px !important; }
.reference-context{ min-height: 70px !important; padding: 10px 13px !important; }
.dashboard-reference-main .reference-stat{ min-height: 63px !important; padding: 8px !important; }
.dashboard-reference-main .reference-panel{ padding: 9px 10px !important; }
.reference-outline-button{ height: 24px !important; min-height: 24px !important; padding: 0 7px !important; font-size: 9px !important; }
.risk-level-donut{ width: 79px !important; height: 79px !important; flex-basis: 79px !important; }
.reassessment-ring{ width: 70px !important; height: 70px !important; border-width: 7px !important; }
.reassessment-ring span{ font-size: 16px !important; }
.machine-preview{ height: 126px !important; }
.global-tree-nav{ padding: 9px 7px 10px !important; }
.global-tree-line{ min-height: 23px !important; padding: 3px 5px !important; grid-template-columns: 13px 17px minmax(0,1fr) auto !important; gap: 4px !important; border-radius: 3px !important; }
.global-tree-copy strong{ font-size: 9px !important; line-height: 1.2 !important; }
.global-tree-copy small{ font-size: 7px !important; line-height: 1.2 !important; }
.global-tree-toggle{ width: 13px !important; font-size: 10px !important; }
.global-tree-icon{ font-size: 11px !important; }
.global-tree-add{ font-size: 12px !important; }

.theme-light .anr-main,
.theme-light .global-tree-nav,
.theme-light .sidebar-help{ filter: grayscale(1); }
.theme-light :is(.header-icon-button,.module-cubes,.eyebrow,.project-save-state,.chevron,.language-selector,.language-code,.header-action,.user-chip,.user-copy,.user-copy small,.header-divider,.sidebar-tree-caption,.sidebar-resize-hint){ color: #4f4f4f !important; border-color: #bcbcbc !important; }
.theme-light :is(.header-icon-button,.language-selector,.language-code,.header-action,.avatar){ background: #eeeeee !important; }
.theme-light .module-cubes i{ background: #777777 !important; }
.theme-light .header-divider{ background: #c4c4c4 !important; }

@media (max-width:720px) { .anr-page{ padding:18px 12px 32px !important; } .anr-page h1{ font-size:19px !important; } .anr-page h2{ font-size:14px !important; } }

/* Dernière couche intentionnelle : elle doit rester à la fin du fichier. */
.theme-light,
.theme-light *{
    font-family: "Segoe UI", Arial, sans-serif !important;
}

.theme-light :is(h1, h2, h3, h4, h5, h6, strong, b, label, th){
    font-weight: 600 !important;
}

.anr-header{ height: 58px !important; }
.anr-content{ min-height: calc(100vh - 58px) !important; }
.anr-page{ padding: 25px 30px 45px !important; }
.anr-page h1{ margin: 0 !important; font-size: 22px !important; line-height: 1.15 !important; letter-spacing: 0 !important; }
.anr-page h2{ font-size: 15px !important; line-height: 1.2 !important; letter-spacing: 0 !important; }
.anr-page h3{ font-size: 11px !important; line-height: 1.25 !important; letter-spacing: 0 !important; }
.reference-page-heading p{ font-size: 9px !important; line-height: 1.35 !important; }
.reference-refresh{ width: auto !important; height: 28px !important; min-height: 28px !important; padding: 0 9px !important; font-size: 9px !important; }
.reference-context{ min-height: 70px !important; padding: 10px 13px !important; }
.dashboard-reference-main .reference-stat{ min-height: 63px !important; padding: 8px !important; }
.dashboard-reference-main .reference-panel{ padding: 9px 10px !important; }
.reference-outline-button{ height: 24px !important; min-height: 24px !important; padding: 0 7px !important; font-size: 9px !important; }
.risk-level-donut{ width: 79px !important; height: 79px !important; flex-basis: 79px !important; }
.reassessment-ring{ width: 70px !important; height: 70px !important; border-width: 7px !important; }
.reassessment-ring span{ font-size: 16px !important; }
.machine-preview{ height: 126px !important; }
.global-tree-nav{ padding: 9px 7px 10px !important; }
.global-tree-line{ min-height: 23px !important; padding: 3px 5px !important; grid-template-columns: 13px 17px minmax(0, 1fr) auto !important; gap: 4px !important; border-radius: 3px !important; }
.global-tree-copy strong{ font-size: 9px !important; line-height: 1.2 !important; }
.global-tree-copy small{ font-size: 7px !important; line-height: 1.2 !important; }
.global-tree-toggle{ width: 13px !important; font-size: 10px !important; }
.global-tree-icon{ font-size: 11px !important; }
.global-tree-add{ font-size: 12px !important; }

/* Le contenu métier est rendu sans saturation : aucun ancien bleu ne peut réapparaître. */
.theme-light .anr-main,
.theme-light .global-tree-nav,
.theme-light .sidebar-help{
    filter: grayscale(1);
}

/* Header et pied de menu restent hors filtre pour préserver les logos. */
.theme-light :is(.header-icon-button, .module-cubes, .eyebrow, .project-save-state, .chevron, .language-selector, .language-code, .header-action, .user-chip, .user-copy, .user-copy small, .header-divider, .sidebar-tree-caption, .sidebar-resize-hint){
    color: #4f4f4f !important;
    border-color: #bcbcbc !important;
}
.theme-light :is(.header-icon-button, .language-selector, .language-code, .header-action, .avatar){ background: #eeeeee !important; }
.theme-light .module-cubes i{ background: #777777 !important; }
.theme-light .header-divider{ background: #c4c4c4 !important; }

@media (max-width: 720px) {
    .anr-page{ padding: 18px 12px 32px !important; }
    .anr-page h1{ font-size: 19px !important; }
    .anr-page h2{ font-size: 14px !important; }
}

/* ========================================================================== */
/* Système visuel final : Visual Studio flat,
monochrome et typographie unique */
/* ========================================================================== */
.theme-light{
    --ui-font: "Segoe UI", Arial, sans-serif;
    --ui-weight-regular: 400;
    --ui-weight-semibold: 600;
    font-family: var(--ui-font) !important;
    font-size: 12px;
    font-weight: var(--ui-weight-regular);
    line-height: 1.35;
}

.theme-light *,
.theme-light *::before,
.theme-light *::after{
    font-family: var(--ui-font) !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

.theme-light :is(h1, h2, h3, h4, h5, h6, strong, b, label, th){
    font-weight: var(--ui-weight-semibold) !important;
}

.theme-light :is(.panel-kicker, .eyebrow, .sidebar-tree-caption, .sidebar-resize-hint, .synthesis-table-head){
    font-weight: var(--ui-weight-semibold) !important;
    letter-spacing: .04em !important;
}

/* Échelle commune et densité réellement réduite d'environ 25 %. */
.anr-header{ height: 58px; gap: 10px; padding: 0 24px; }
.anr-content{ min-height: calc(100vh - 58px); }
.anr-brand{ width: 126px; }
.anr-brand img{ width: 106px; }
.header-icon-button{ width: 28px; height: 28px; border-radius: 3px; font-size: 15px; }
.active-project{ min-width: 200px; padding-left: 16px; gap: 2px 10px; }
.active-project .eyebrow{ font-size: 8px; }
.project-name{ font-size: 10px; }
.project-save-state{ font-size: 8px; }
.header-action{ padding: 6px 8px; border-radius: 3px; font-size: 10px; }
.language-selector{ min-height: 28px; font-size: 10px; }
.avatar{ width: 27px; height: 27px; font-size: 9px; }
.user-copy strong{ font-size: 10px; }
.user-copy small{ font-size: 8px; }
.sidebar-topbar{ min-height: 35px; padding: 7px 12px 0; }
.sidebar-tree-caption{ font-size: 8px; }
.sidebar-resize-hint{ font-size: 7px; }
.global-tree-nav{ padding: 9px 7px 10px; }
.global-tree-line{ min-height: 23px; padding: 3px 5px; grid-template-columns: 13px 17px minmax(0, 1fr) auto; gap: 4px; border-radius: 3px; }
.global-tree-copy strong{ font-size: 9px; line-height: 1.2; }
.global-tree-copy small{ font-size: 7px; line-height: 1.2; }
.global-tree-toggle{ width: 13px; font-size: 10px; }
.global-tree-icon{ font-size: 11px; }
.global-tree-add{ font-size: 12px; }
.sidebar-footer{ padding: 12px 16px 16px; gap: 9px; }
.sidebar-help{ margin: 0; padding: 9px 10px; gap: 8px; border-radius: 4px; }
.help-icon{ width: 18px; height: 18px; font-size: 9px; }
.sidebar-help strong{ font-size: 9px; }
.sidebar-help small,
.version-label{ font-size: 8px; }
.anr-page{ padding: 25px 30px 45px; }
.anr-page h1{ font-size: 22px; line-height: 1.18; }
.anr-page h2{ font-size: 15px; line-height: 1.22; }
.anr-page h3{ font-size: 11px; line-height: 1.25; }
.reference-page-heading{ margin-bottom: 8px; }
.reference-page-heading p{ margin-top: 4px; font-size: 9px; }
.reference-refresh{ min-height: 28px; padding: 5px 9px; border-radius: 3px; font-size: 9px; }
.panel{ border-radius: 3px; }
.reference-context{ min-height: 70px; padding: 10px 13px; border-radius: 3px; }
.context-block{ min-height: 41px; padding: 0 13px; gap: 8px; }
.context-block-icon{ width: 24px; height: 24px; border-radius: 3px; font-size: 14px; }
.dashboard-page .context-block small{ font-size: 9px; }
.dashboard-page .context-block strong{ font-size: 10px; }
.dashboard-page .context-block span:last-child{ font-size: 8px; }
.dashboard-page .context-block em{ font-size: 8px; }
.reference-stat-grid{ margin-top: 9px; gap: 7px; }
.dashboard-reference-main .reference-stat{ min-height: 63px; padding: 8px; }
.reference-stat .stat-icon{ width: 24px; height: 24px; border-radius: 3px; font-size: 14px; }
.reference-stat strong{ font-size: 17px; }
.reference-stat small{ font-size: 9px; }
.reference-stat em{ font-size: 8px; }
.reference-panels-grid{ margin-top: 9px; gap: 7px; }
.dashboard-reference-main .reference-panel{ padding: 9px 10px; }
.reference-panel-heading{ margin-bottom: 7px; }
.reference-panel-heading h3{ font-size: 11px; }
.reference-panel-subtitle{ font-size: 8px; }
.reference-outline-button{ min-height: 24px; margin-top: 6px; border-radius: 3px; font-size: 9px; }
.dashboard-synthesis-panel{ margin-top: 9px; padding: 10px 11px; }
.synthesis-overview{ gap: 6px; }
.synthesis-overview > div{ min-height: 44px; padding: 6px 8px; grid-template-columns: 26px 1fr; column-gap: 5px; border-radius: 3px; }
.synthesis-overview strong{ font-size: 17px; }
.synthesis-overview span{ font-size: 9px; }
.synthesis-overview small{ font-size: 7px; }
.synthesis-table-head{ min-height: 20px; font-size: 7px; }
.synthesis-table-row{ min-height: 25px; font-size: 8px; }
.synthesis-table-row b{ font-size: 8px; }
.synthesis-table-row em,
.synthesis-status{ font-size: 7px; font-weight: 600 !important; }
.project-preview-card{ padding: 10px 12px; }
.machine-preview{ height: 126px; border-radius: 3px; }
.project-preview-card dl{ margin-top: 12px; gap: 7px 5px; }
.project-preview-card dt,
.project-preview-card dd{ font-size: 8px; }

/* Variables d'état neutralisées : les composants historiques ne réinjectent plus de couleurs. */
.theme-light{
    --blue: #555555;
    --blue-soft: #eeeeee;
    --green: #555555;
    --green-soft: #eeeeee;
    --amber: #6a6a6a;
    --amber-soft: #eeeeee;
    --purple: #707070;
    --purple-soft: #eeeeee;
    --theme-page: #f3f3f3;
    --theme-surface: #ffffff;
    --theme-line: #d4d4d4;
    --theme-ink: #202020;
    --theme-muted: #6b6b6b;
}

/* Surfaces claires : blanc,
gris très clair,
accent uniquement sur la sélection. */
.theme-light :is(.anr-header, .sidebar-footer){ background: #e8e8e8 !important; border-color: #d0d0d0 !important; }
.theme-light :is(.anr-sidebar, .anr-main){ background: #f3f3f3 !important; border-color: #d4d4d4 !important; }
.theme-light :is(.panel, .reference-context, .reference-stat, .reference-panel, .project-preview-card, .dashboard-synthesis-panel){ background: #ffffff !important; border-color: #d4d4d4 !important; }
.theme-light :is(.context-block, .synthesis-overview > div, .sidebar-help, .machine-preview, .reference-stat .stat-icon, .context-block-icon, .reference-activity .activity-bullet, .avatar, .synthesis-status){ color: #333333 !important; background: #f0f0f0 !important; border-color: #d4d4d4 !important; }
.theme-light :is(.reference-refresh, .reference-outline-button, .project-edit-button, .header-action){ color: #333333 !important; background: #ececec !important; border-color: #bcbcbc !important; }
.theme-light :is(.reference-refresh, .reference-outline-button, .project-edit-button, .header-action):hover{ color: #111111 !important; background: #dddddd !important; border-color: #9b9b9b !important; }
.theme-light :is(.synthesis-table-row b, .synthesis-table-row strong i, .text-green, .text-orange, .synthesis-warning, .synthesis-blue, .synthesis-green, .project-status-pill, .context-block em, .context-block em.validated){ color: #444444 !important; }
.theme-light :is(.project-status-pill, .context-block em, .context-block em.validated, .synthesis-managed, .synthesis-pending){ background: #e8e8e8 !important; }
.theme-light .reassessment-ring{ border-color: #d8d8d8 !important; border-top-color: #777777 !important; border-right-color: #777777 !important; }
.theme-light .reassessment-ring span{ color: #333333 !important; }


/* Icônes et sélection : accents limités,
sans colorer les cartes entières. */
.theme-light :is(.global-tree-icon, .global-tree-add, .row-arrow, .context-block-icon, .stat-icon, .activity-bullet){ color: #5c6670 !important; }
.theme-light .global-tree-line.active{ color: #202020 !important; background: #dceaf5 !important; box-shadow: inset 3px 0 0 #4d85ad !important; }
.theme-light .global-tree-line:hover{ color: #202020 !important; background: #e7e7e7 !important; }

/* L'illustration du projet et les graphiques restent dans la gamme de gris. */
.theme-light .machine-arm::before{ border-color: #777777 !important; }
.theme-light .machine-arm i{ background: #777777 !important; }
.theme-light .risk-level-donut{ background: conic-gradient(#c4c4c4 0 20%, #989898 20% 60%, #686868 60% 100%) !important; }
.theme-light :is(.legend-insignificant, .legend-low, .legend-limited, .legend-medium, .legend-high, .legend-extreme){ background: #777777 !important; }
.status-dot{ background: #8a8a8a !important; }

@media (max-width: 720px) {
    .anr-header{ height: 54px; padding: 0 15px; }
    .anr-content{ min-height: calc(100vh - 54px); }
    .anr-page{ padding: 18px 12px 32px; }
    .anr-page h1{ font-size: 19px; }
    .anr-page h2{ font-size: 14px; }
    .anr-page h3{ font-size: 11px; }
}

/* Refonte finale Visual Studio : surfaces monochromes,
accent réservé aux états actifs et aux icônes. */
.theme-light{
    --vs-accent: #0078d4;
    --vs-accent-soft: #e5f1fb;
}

.theme-light,
.theme-light button,
.theme-light input,
.theme-light select,
.theme-light textarea,
.theme-light h1,
.theme-light h2,
.theme-light h3,
.theme-light h4{
    font-family: 'Segoe UI', Inter, Arial, sans-serif !important;
}
.theme-light h1,
.theme-light h2,
.theme-light h3,
.theme-light h4{ letter-spacing: normal; }

/* Densité compacte : environ 25 % de réduction sur les grands titres,
actions et espacements. */
.anr-page{ padding: 34px 40px 60px; }
.anr-page h1{ font-size: 29px; }
.anr-page h2{ font-size: 19px; }
.anr-page h3{ font-size: 14px; }
.reference-page-heading{ margin-bottom: 10px; }
.reference-page-heading p{ margin-top: 5px; font-size: 10px; }
.button{ min-height: 32px; padding: 0 12px; border-radius: 4px; font-size: 11px; }
.panel{ border-radius: 4px; box-shadow: none; }
.reference-panel-heading{ margin-bottom: 9px; }

/* Clair : blanc et gris neutres. */
.theme-light{ color: #1f1f1f; background: #f3f3f3; }
.theme-light .anr-header{ color: #1f1f1f; background: #e6e6e6; border-bottom-color: #cfcfcf; box-shadow: 0 1px 5px rgba(0,0,0,.08); }
.theme-light .anr-sidebar,
.theme-light .anr-main{ background: #f3f3f3; }
.theme-light .sidebar-footer{ background: #ededed; border-top-color: #d6d6d6; }
.theme-light .panel,
.theme-light .reference-context,
.theme-light .reference-stat,
.theme-light .reference-panel,
.theme-light .reference-risk-table,
.theme-light .project-preview-card,
.theme-light .equipment-tree-card,
.theme-light .equipment-detail-card,
.theme-light .equipment-summary-card,
.theme-light .evaluation-card,
.theme-light .risk-reference-list,
.theme-light .risk-detail-panel,
.theme-light .measures-reference-list,
.theme-light .measure-detail-reference{ color: #1f1f1f; background: #fff; border-color: #d6d6d6; box-shadow: none; }
.theme-light p,
.theme-light small,
.theme-light dt,
.theme-light .reference-page-heading p,
.theme-light .reference-panel-subtitle{ color: #6e6e6e; }
.theme-light strong,
.theme-light h1,
.theme-light h2,
.theme-light h3,
.theme-light h4{ color: #1f1f1f; }
.theme-light input,
.theme-light select,
.theme-light textarea{ color: #1f1f1f; background: #fff; border-color: #b8b8b8; }
.theme-light .button-primary,
.theme-light .button-secondary,
.theme-light .button-outline{ color: #2f2f2f; background: #e6e6e6; border-color: #b8b8b8; box-shadow: none; }
.theme-light .button-primary:hover,
.theme-light .button-secondary:hover,
.theme-light .button-outline:hover{ color: #1f1f1f; background: #d6d6d6; border-color: #8c8c8c; }
.theme-light .global-tree-line{ color: #444; }
.theme-light .global-tree-line:hover{ color: #1f1f1f; background: #e8e8e8; }
.theme-light .global-tree-line.active{ color: #005a9e; background: var(--vs-accent-soft); box-shadow: inset 3px 0 0 var(--vs-accent); }
.theme-light .global-tree-copy small{ color: #777; }
.theme-light .global-tree-branch,
.theme-light .global-tree-children{ border-color: #b8b8b8; }


/* Les icônes restent l’unique accent visuel ; les encadrés sélectionnés gardent leur état. */
.theme-light .global-tree-icon,
.theme-light .global-tree-add,
.theme-light .icon-dashboard,
.theme-light .icon-machine,
.theme-light .icon-element,
.theme-light .icon-gear,
.theme-light .icon-hazard,
.theme-light .icon-zone,
.theme-light .icon-access,
.theme-light .icon-mode,
.theme-light .icon-risk-scenario,
.theme-light .icon-risk,
.theme-light .icon-measure,
.theme-light .row-arrow,
.theme-light .risk-tree-icon,
.theme-light .risk-tree-measure-icon,
.theme-light .shield-check-icon,
.theme-light .comparison-arrow{ color: var(--vs-accent); }
.theme-light .tag-blue,
.theme-light .risk-heading-reference,
.theme-light .criterion-score,
.theme-light .criterion-effect,
.theme-light .panel-kicker{ color: #555; background: transparent; }

/* Badges et états non sélectionnés : gris neutre,
sans arc-en-ciel. */
.theme-light .risk-tree-item em,
.theme-light .risk-tree-item em.high,
.theme-light .risk-tree-item em.medium,
.theme-light .risk-tree-item em.limited,
.theme-light .risk-tree-item em.low,
.theme-light .risk-level-chip,
.theme-light .measure-summary-status,
.theme-light .measure-summary-status.pending,
.theme-light .synthesis-managed,
.theme-light .synthesis-pending,
.theme-light .score-severity,
.theme-light .score-avoidance,
.theme-light .score-exposure,
.theme-light .score-occurrence,
.theme-light .score-frequency{ color: #444; background: #e6e6e6; }
.theme-light .risk-comparison-level,
.theme-light .measure-after-level{ color: #fff; background: #5a5a5a; }

/* Images et schémas : cadres également neutres. */
.theme-light .documentation-preview,
.theme-light .machine-element-tree-thumb,
.theme-light .machine-parent-visual,
.theme-light .zone-tree-thumb{ border-color: #b8b8b8; background: #fafafa; }

@media (max-width: 720px) {
    .anr-page{ padding: 24px 16px 42px; }
    .anr-page h1{ font-size: 24px; }
    .anr-page h2{ font-size: 17px; }
    .anr-page h3{ font-size: 13px; }
}

/* Graphiques et indicateurs : même gamme de gris ; seuls les pictogrammes restent accentués. */
.theme-light .risk-level-donut{ background: conic-gradient(#b8b8b8 0 20%, #969696 20% 60%, #6e6e6e 60% 100%); }
.theme-light .risk-level-donut::before{ background: #fff; }
.theme-light .risk-level-donut span{ color: inherit; }
.theme-light .legend-insignificant,
.theme-light .legend-low,
.theme-light .legend-limited,
.theme-light .legend-medium,
.theme-light .legend-high,
.theme-light .legend-extreme{ background: #8c8c8c; }
.theme-light .stat-danger .stat-icon,
.theme-light .stat-success .stat-icon,
.theme-light .stat-warning .stat-icon,
.theme-light .stat-blue .stat-icon,
.theme-light .stat-purple .stat-icon,
.theme-light .stat-orange .stat-icon{ color: var(--vs-accent); background: var(--vs-accent-soft); }
.theme-light .synthesis-warning,
.theme-light .synthesis-blue,
.theme-light .synthesis-green{ color: #555 !important; }

/* Style flat : aucune ombre portée ou ombre de texte. */
.theme-light *,
.theme-light *::before,
.theme-light *::after{
    box-shadow: none !important;
    text-shadow: none !important;
}

/* Comparatif avant / après : deux cartes miroir avec le niveau en bandeau inférieur. */
.reassessment-score-header .risk-comparison-result{ min-width: 0; min-height: 112px; overflow: hidden; display: grid; grid-template-rows: 1fr auto; border: 1px solid #dfe7f0; border-radius: 6px; background: #fff; }
.risk-comparison-main{ min-height: 76px; padding: 10px 14px; display: grid; align-content: center; gap: 7px; background: #fff; }
.risk-comparison-main small{ color: #69809e; font-size: 10px; }
.risk-comparison-main strong{ color: #1d3558; font-family: 'Space Grotesk', sans-serif; font-size: 24px; line-height: 1; }
.risk-comparison-level{ min-height: 36px; padding: 8px 10px; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 10px; font-weight: 800; line-height: 1.2; text-align: center; }
.risk-comparison-initial .risk-comparison-level{ background: #ed7d31; }
.risk-comparison-after .risk-comparison-level{ background: #4472c4; }
@media (max-width: 720px) { .reassessment-score-header .risk-comparison-result{ min-height: 100px; } }

/* La conclusion vient après la cascade des critères,
avant l’enregistrement. */
.reassessment-editor.reassessment-editor-detail{ display: flex; flex-direction: column; }
.reassessment-editor-detail > .measure-editor-heading{ order: 1; }
.reassessment-editor-detail > .after-measure-selection{ order: 2; }
.reassessment-editor-detail > .measure-influence-card{ order: 3; }
.reassessment-editor-detail > .reassessment-score-header{ order: 4; }
.reassessment-editor-detail > .measure-follow-up-panel{ order: 5; }
.reassessment-editor-detail > .reassessment-actions{ order: 6; }
.reassessment-editor-detail > .evaluation-saved{ order: 7; }

/* RR et OBS : enfants documentaires des mesures appliquées. */
.measure-follow-up-panel{ margin-top: 12px; padding: 12px; border: 1px solid #d6d6d6; background: #fafafa; }
.measure-follow-up-panel .measure-section-heading{ margin-bottom: 9px; }
.follow-up-create-actions{ display: flex; gap: 7px; flex-wrap: wrap; }
.measure-follow-up-list{ display: grid; border-top: 1px solid #dddddd; }
.measure-follow-up-row{ min-height: 52px; padding: 7px 9px; display: grid; grid-template-columns: 58px minmax(0,1fr) auto 14px; gap: 9px; align-items: center; color: #303030; border-bottom: 1px solid #e2e2e2; text-decoration: none; }
.measure-follow-up-row:hover{ background: #f0f0f0; }
.measure-follow-up-row > span:nth-child(2){ min-width: 0; display: grid; gap: 2px; }
.measure-follow-up-row strong{ font-size: 11px; }
.measure-follow-up-row small{ overflow: hidden; color: #626262; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.measure-follow-up-row em{ color: #626262; font-size: 9px; font-style: normal; font-weight: 700; }
.measure-follow-up-empty{ padding: 16px; color: #666666; font-size: 10px; text-align: center; }
.follow-up-reference{ min-height: 28px; padding: 4px 7px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid currentColor; font-size: 9px; font-weight: 800; letter-spacing: .03em; }
.follow-up-reference.rr{ color: #9b5a00; background: #fff4dd; }
.follow-up-reference.obs{ color: #087a85; background: #e4f5f6; }
.follow-up-detail-page{ padding: 15px; container-type: inline-size; }
.follow-up-parent-context{ min-height: 60px; padding: 10px; display: grid; grid-template-columns: 70px minmax(0,1fr); gap: 6px 12px; align-items: center; border: 1px solid #d6d6d6; background: #f3f3f3; }
.follow-up-parent-context > div{ display: grid; gap: 5px; }
.follow-up-parent-context > em{ grid-column: 2; }
.follow-up-parent-context strong{ font-size: 12px; }
.follow-up-parent-context small,
.follow-up-parent-context em{ color: #5f5f5f; font-size: 9px; font-style: normal; }
.follow-up-editor-grid{ margin-top: 13px; display: grid; grid-template-columns: minmax(0,1.7fr) minmax(230px,.7fr); gap: 14px; align-items: stretch; }
.follow-up-fields{ display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; align-content: start; }
.follow-up-fields .field-wide{ grid-column: 1 / -1; }
.follow-up-fields textarea{ min-height: 88px; resize: vertical; }
.follow-up-fields .observation-description{ min-height: 185px; }
.follow-up-media,
.observation-purpose-card{ padding: 11px; border: 1px solid #d6d6d6; background: #f5f5f5; }
.follow-up-media{ display: grid; gap: 9px; align-content: start; }
.follow-up-media > small{ color: #666666; font-size: 9px; }
.follow-up-pictogram-source-actions{ min-width:0; display:grid; grid-template-columns:minmax(0,1fr) minmax(145px,.55fr); gap:7px; align-items:end; }
.follow-up-pictogram-source-actions .documentation-source-button{ min-height:43px; }
.follow-up-pictogram-preview{ min-height: 215px; display: grid; place-items: center; overflow: hidden; border: 1px solid #bdbdbd; background: #ffffff; }
.follow-up-pictogram-preview img{ width: 100%; height: 215px; object-fit: contain; }
.residual-warning-placeholder{ width: 150px; height: 132px; position: relative; display: grid; place-items: center; color: #202020; background: #f3c647; clip-path: polygon(50% 0,100% 100%,0 100%); }
.residual-warning-placeholder::after{ content: ''; position: absolute; inset: 13px 16px 14px; border: 7px solid #202020; clip-path: polygon(50% 0,100% 100%,0 100%); }
.residual-warning-placeholder span{ z-index: 1; margin-top: 43px; font-size: 42px; font-weight: 900; }
.observation-purpose-card{ display: grid; gap: 10px; align-content: start; }
.observation-purpose-card h3{ margin: 5px 0 0; font-size: 14px; }
.observation-purpose-card p{ margin: 0; color: #5f5f5f; font-size: 10px; line-height: 1.55; }
.follow-up-actions{ min-height: 52px; margin-top: 12px; padding-top: 10px; display: flex; gap: 10px; align-items: center; justify-content: flex-end; border-top: 1px solid #dddddd; }
.follow-up-actions span{ margin-right: auto; color: #555555; font-size: 10px; }
.follow-up-empty-state{ padding: 24px; }
.measure-follow-up-tree{ margin-bottom: 2px; }

@media (max-width: 900px) {
    .follow-up-editor-grid{ grid-template-columns: 1fr; }
}
@container (max-width: 760px) {
    .follow-up-editor-grid{ grid-template-columns: 1fr; }
    .follow-up-fields{ grid-template-columns: 1fr; }
    .follow-up-fields .field-wide{ grid-column: 1; }
    .follow-up-pictogram-preview,
.follow-up-pictogram-preview img{ min-height: 175px; height: 175px; }
}
@media (max-width: 720px) {
    .follow-up-fields{ grid-template-columns: 1fr; }
    .follow-up-fields .field-wide{ grid-column: 1; }
    .measure-follow-up-row{ grid-template-columns: 54px minmax(0,1fr) 12px; }
    .measure-follow-up-row > em{ display: none; }
    .follow-up-actions{ align-items: stretch; flex-direction: column; }
    .follow-up-actions span{ margin-right: 0; }
}

/* Un seul ascenseur pour le contenu desktop,
y compris avec un zoom navigateur à 150 %. */
@media (min-width: 721px){
    html, body { height: 100%; overflow: hidden; }
}
@media (max-width: 720px) {
    html,
body{ height: auto; overflow: visible; }
}

/* Fiche R : contexte parent compact,
identique au principe ED/CD et ZD/AC. */
.risk-detail-layout{ min-height: calc(100vh - 220px); }
.risk-detail-editor{ width: 100%; }
.risk-parent-context{ margin: 0 0 16px; padding: 11px 13px; display: grid; grid-template-columns: 62px minmax(0, 1fr); gap: 12px; align-items: center; border-left: 4px solid #2d8cff; background: #142b47; }
.risk-parent-context .criterion-context-code{ align-self: stretch; display: grid; place-items: center; }
.risk-parent-context-main{ min-width: 0; display: grid; gap: 4px; }
.risk-parent-context-main strong{ color: #e5eff9; font-size: 11px; }
.risk-parent-context-main a{ color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.risk-parent-context-main small{ color: #a9bbce; font-size: 9px; line-height: 1.4; }
.risk-parent-context-links{ display: flex; flex-wrap: wrap; gap: 6px 12px; }
.risk-parent-context-links a{ color: #a9d3f5; font-size: 9px; text-decoration: none; }
.risk-parent-context-links a:hover{ text-decoration: underline; }
.dashboard-synthesis-actions{ display: flex; flex-wrap: wrap; gap: 8px; }
.dashboard-synthesis-actions .reference-outline-button{ flex: 1 1 220px; }
.theme-light .risk-parent-context{ border-color: #0078d4; background: #f0f6ff; }
.theme-light .risk-parent-context-main strong{ color: #294d78; }
.theme-light .risk-parent-context-main small{ color: #6e6e6e; }
.theme-light .risk-parent-context-links a{ color: #005a9e; }
@media (max-width: 720px) { .risk-parent-context{ grid-template-columns: 1fr; } }

/* Risque incomplet : Pev doit être défini avant tout calcul RIS. */
.risk-evaluation-pending{ padding: 5px 8px; border-radius: 4px; color: #f0cb8a; background: #453b29; font-size: 9px; font-style: normal; font-weight: 700; line-height: 1.25; text-align: center; white-space: nowrap; }
.risk-level-chip.pending{ color: #f0cb8a; background: #453b29; }
.cascade-result-level.pending{ color: #f0cb8a; background: #453b29; }
.theme-light .risk-evaluation-pending,
.theme-light .risk-level-chip.pending,
.theme-light .cascade-result-level.pending{ color: #9a6a13; background: #fff4d9; }

/* Sélection MT : cartes lisibles,
état sélectionné explicite et résumé de la combinaison. */
.measure-choice-heading{ display: grid; gap: 4px; margin-bottom: 10px; }
.measure-choice-heading strong{ color: #e5eff9; font-size: 13px; }
.measure-choice-heading small{ color: #a9bbce; font-size: 9px; }
.measure-choice-grid{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.measure-choice-card{ min-height: 82px; padding: 10px 11px; position: relative; display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 9px; align-items: start; border: 1px solid #294662; border-radius: 6px; color: #a9bbce; background: #142b47; cursor: pointer; transition: border-color .12s ease, background .12s ease, transform .12s ease; }
.measure-choice-card:hover{ border-color: #6f9ac2; background: #17365d; transform: translateY(-1px); }
.measure-choice-card input{ position: absolute; opacity: 0; pointer-events: none; }
.measure-choice-check{ width: 21px; height: 21px; display: grid; place-items: center; border: 1px solid #6988a5; border-radius: 5px; color: transparent; background: #0e2034; font-size: 13px; font-weight: 800; }
.measure-choice-card.selected{ border-color: #8fc8ff; background: #1b3b60; box-shadow: inset 3px 0 0 #8fc8ff; }
.measure-choice-card.selected .measure-choice-check{ border-color: #8fc8ff; color: #10253d; background: #8fc8ff; }
.measure-choice-content{ min-width: 0; display: grid; gap: 3px; }
.measure-choice-content b{ overflow: hidden; color: #e5eff9; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.measure-choice-content small{ color: #a9bbce; font-size: 8px; }
.measure-choice-content em{ color: #819bb5; font-size: 8px; font-style: normal; }
.measure-selection-summary{ min-width: 180px; padding: 12px; display: grid; align-content: start; gap: 5px; border: 1px solid #294662; border-radius: 6px; background: #10243b; }
.measure-selection-summary strong{ color: #e5eff9; font-size: 20px; }
.measure-selection-summary small{ color: #a9bbce; font-size: 9px; line-height: 1.35; }
.measure-selection-summary em{ color: #819bb5; font-size: 9px; font-style: normal; line-height: 1.4; }
.theme-light .measure-choice-heading strong{ color: #1f1f1f; }
.theme-light .measure-choice-heading small{ color: #6e6e6e; }
.theme-light .measure-choice-card{ border-color: #d6d6d6; color: #555; background: #f7f7f7; }
.theme-light .measure-choice-card:hover{ border-color: #8c8c8c; background: #e8e8e8; }
.theme-light .measure-choice-check{ border-color: #b8b8b8; color: transparent; background: #fff; }
.theme-light .measure-choice-card.selected{ border-color: #0078d4; background: #e5f2ff; box-shadow: inset 3px 0 0 #0078d4; }
.theme-light .measure-choice-card.selected .measure-choice-check{ border-color: #0078d4; color: #fff; background: #0078d4; }
.theme-light .measure-choice-content b{ color: #1f1f1f; }
.theme-light .measure-choice-content small{ color: #555; }
.theme-light .measure-choice-content em{ color: #6e6e6e; }
.theme-light .measure-selection-summary{ border-color: #d6d6d6; background: #f7f7f7; }
.theme-light .measure-selection-summary strong{ color: #1f1f1f; }
.theme-light .measure-selection-summary small,
.theme-light .measure-selection-summary em{ color: #555; }
@media (max-width: 900px) { .measure-choice-grid{ grid-template-columns: 1fr; } }
@media (max-width: 720px) { .measure-selection-summary{ min-width: 0; grid-column: 1; } }

/* ZD/AC : synthèse,
fiche zone parent puis fiche accès enfant. */
.zones-access-summary{ display: grid; gap: 13px; }
.zones-access-summary-hero{ min-height: 132px; padding: 20px 22px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.zones-access-summary-hero h2{ margin-top: 6px; color: #e5eff9; font-size: 24px; }
.zones-access-summary-hero p{ max-width: 700px; margin: 7px 0 0; color: #a9bbce; font-size: 11px; line-height: 1.5; }
.zones-access-summary-list{ padding: 16px; }
.zone-tree-list{ display: grid; gap: 8px; }
.zone-tree-item{ overflow: hidden; border: 1px solid #294662; border-radius: 6px; }
.zone-tree-parent,
.zone-tree-children a{ min-height: 58px; padding: 9px 13px; display: grid; grid-template-columns: 66px minmax(0, 1fr) 22px; gap: 9px; align-items: center; color: #a9bbce; text-decoration: none; }
.zone-tree-parent{ background: #142b47; }
.zone-tree-parent:hover,
.zone-tree-children a:hover{ background: #17365d; }
.zone-tree-parent strong,
.zone-tree-children strong{ display: block; color: #e5eff9; font-size: 11px; }
.zone-tree-parent small,
.zone-tree-children small{ display: block; margin-top: 3px; color: #819bb5; font-size: 9px; }
.zone-tree-children{ margin-left: 25px; border-left: 1px dotted #41617f; }
.zone-tree-children a{ min-height: 48px; border-top: 1px solid #294662; grid-template-columns: 28px minmax(0, 1fr) 22px; }
.zone-tree-thumb{ width: 58px; height: 42px; display: grid; place-items: center; border: 1px solid #c9d5e2; border-radius: 5px; color: #59636d; background: linear-gradient(145deg, #fff, #eef3f7); font-size: 22px; }
.zone-tree-thumb img{ width: 100%; height: 100%; display: block; object-fit: cover; }
.zone-parent-page,
.access-detail-page{ min-height: calc(100vh - 210px); padding: 20px 22px; }
.zone-parent-grid{ margin-top: 17px; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(250px, .75fr); gap: 18px; }
.zone-parent-fields{ min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 14px; align-content: start; }
.zone-parent-fields .field-wide{ grid-column: 1 / -1; }
.zone-parent-fields textarea{ min-height: 135px; }
.zone-parent-media{ min-width: 0; display: grid; align-content: start; gap: 8px; }
.zone-parent-media > small{ color: #8192a8; font-size: 8px; }
.access-documentation-card{ margin-top: 16px; padding: 14px; display: grid; grid-template-columns: minmax(0, 1fr) 180px; gap: 15px; border: 1px solid var(--theme-line, #dfe7f0); border-radius: 6px; background: var(--theme-surface, #fff); }
.access-documentation-fields{ min-width: 0; display: grid; align-content: start; }
.access-documentation-fields textarea{ min-height: 76px; }
.access-evaluation-card{ margin-top: 18px; }
.zone-v1-card,.access-v1-card{ min-height: 0; height: max-content; padding: 16px 18px; }
.zone-v1-fields{ margin-top: 12px; gap: 8px 12px; }
.zone-v1-fields .documentation-field{ gap: 6px; }
.zone-v1-fields textarea{ min-height: 92px; resize: vertical; }
.access-v1-card .machine-element-detail-context{ margin: 8px 0; }
.access-v1-fields{ display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px 12px; }
.access-v1-fields .access-name-field{ grid-column: 1 / -1; }
.access-v1-fields .access-name-field input{ max-width: calc(50% - 6px); }
.access-v1-fields textarea{ min-height: 58px; resize: vertical; }
.access-v1-evaluation{ margin-top: 10px; }
.access-v1-evaluation .editable-criterion-row{ grid-template-columns: 42px minmax(160px,.7fr) minmax(220px,1fr) minmax(240px,1fr); }
.access-v1-evaluation .criterion-remark{ min-height: 58px; height: 58px; resize: vertical; }
.zone-v1-card .hazardous-case-documentation,
.access-v1-card .hazardous-case-documentation{ margin-top: 12px; }
.score-occurrence{ color: #d33f45; background: #ffe8e9; }
.theme-light .zones-access-summary-hero h2,
.theme-light .zone-parent-page h2,
.theme-light .access-detail-page h2{ color: #1f1f1f; }
.theme-light .zones-access-summary-hero p{ color: #6e6e6e; }
.theme-light .zone-tree-item{ border-color: #d6d6d6; }
.theme-light .zone-tree-parent{ background: #f7f7f7; }
.theme-light .zone-tree-parent:hover,
.theme-light .zone-tree-children a:hover{ background: #e8e8e8; }
.theme-light .zone-tree-parent strong,
.theme-light .zone-tree-children strong{ color: #1f1f1f; }
.theme-light .zone-tree-parent small,
.theme-light .zone-tree-children small{ color: #6e6e6e; }
.theme-light .zone-tree-children{ border-color: #b8b8b8; }
.theme-light .zone-tree-children a{ border-color: #d6d6d6; }
.theme-light .zone-tree-thumb{ border-color: #b8b8b8; background: #fff; }
@media (max-width: 720px) {
    .zone-parent-page,
.access-detail-page{ padding: 15px; }
    .zone-parent-grid,
.zone-parent-fields,
.access-documentation-card{ grid-template-columns: 1fr; }
    .zone-parent-fields .field-wide{ grid-column: auto; }
    .access-v1-fields{ grid-template-columns: 1fr; }
    .access-v1-fields .access-name-field{ grid-column: auto; }
    .access-v1-fields .access-name-field input{ max-width: none; }
    .access-v1-evaluation .editable-criterion-row{ grid-template-columns: 36px minmax(0,1fr); }
}

/* Modes de fonctionnement : synthèse et fiche documentaire avec F au niveau du mode. */
.operating-modes-summary{ display: grid; gap: 13px; }
.operating-modes-summary-hero{ min-height: 132px; padding: 20px 22px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.operating-modes-summary-hero h2{ margin-top: 6px; color: #e5eff9; font-size: 24px; }
.operating-modes-summary-hero p{ max-width: 700px; margin: 7px 0 0; color: #a9bbce; font-size: 11px; line-height: 1.5; }
.operating-modes-summary-list{ padding: 16px; }
.operating-mode-list{ display: grid; gap: 8px; }
.operating-mode-summary-item{ min-height: 68px; padding: 11px 14px; display: grid; grid-template-columns: 32px minmax(0, 1fr) auto 22px; gap: 11px; align-items: center; border: 1px solid #294662; border-radius: 6px; color: #a9bbce; text-decoration: none; }
.operating-mode-summary-item:hover{ background: #17365d; }
.operating-mode-summary-item strong{ display: block; color: #e5eff9; font-size: 11px; }
.operating-mode-summary-item small{ display: block; max-width: 640px; margin-top: 4px; overflow: hidden; color: #819bb5; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.operating-mode-icon{ width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid currentColor; border-radius: 5px; color: #8fc8ff; font-size: 19px; }
.operating-mode-summary-thumb{ overflow: hidden; background: #fff; }
.operating-mode-summary-thumb img{ width: 100%; height: 100%; display: block; object-fit: cover; }
.operating-mode-score{ padding: 5px 8px; border-radius: 4px; color: #b9d9ff; background: #142b47; font-size: 10px; font-weight: 700; white-space: nowrap; }
.operating-mode-summary-item .row-arrow{ color: #8fc8ff; font-size: 19px; text-align: center; }
.operating-mode-detail-page{ min-height: calc(100vh - 210px); padding: 20px 22px; }
.operating-mode-detail-grid{ margin-top: 17px; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(250px, .75fr); gap: 18px; }
.operating-mode-fields{ min-width: 0; display: grid; grid-template-columns: 1fr; align-content: start; }
.operating-mode-fields textarea{ min-height: 150px; }
.operating-mode-media{ min-width: 0; display: grid; align-content: start; gap: 8px; }
.operating-mode-media-box{ min-height: 218px; display: grid; align-content: center; justify-items: center; gap: 9px; color: #69809e; background: #f7fbff; }
.operating-mode-media-box > span{ font-size: 48px; }
.operating-mode-media-box img{ width: 100%; height: 180px; object-fit: contain; }
.operating-mode-media-box small{ max-width: 100%; overflow: hidden; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.operating-mode-evaluation-card{ margin-top: 18px; }
.operating-mode-v1-card{ min-height: 0; height: max-content; padding: 16px 18px; }
.operating-mode-v1-card .machine-element-detail-context{ margin: 8px 0; }
.operating-mode-v1-fields{ display: grid; grid-template-columns: minmax(260px,.7fr) minmax(0,1.3fr); gap: 8px 12px; }
.operating-mode-v1-fields textarea{ min-height: 62px; resize: vertical; }
.operating-mode-v1-evaluation{ margin-top: 10px; }
.operating-mode-v1-evaluation .editable-criterion-row{ grid-template-columns: 42px minmax(170px,.7fr) minmax(220px,1fr) minmax(240px,1fr); }
.operating-mode-v1-evaluation .criterion-remark{ min-height: 58px; height: 58px; resize: vertical; }
.operating-mode-v1-card .hazardous-case-documentation{ margin-top: 12px; }
.score-frequency{ color: #4c79bf; background: #e9f1ff; }
.theme-light .operating-modes-summary-hero h2,
.theme-light .operating-mode-detail-page h2{ color: #1f1f1f; }
.theme-light .operating-modes-summary-hero p{ color: #6e6e6e; }
.theme-light .operating-mode-summary-item{ border-color: #d6d6d6; color: #555; }
.theme-light .operating-mode-summary-item:hover{ background: #e8e8e8; }
.theme-light .operating-mode-summary-item strong{ color: #1f1f1f; }
.theme-light .operating-mode-summary-item small{ color: #6e6e6e; }
.theme-light .operating-mode-icon{ color: #555; }
.theme-light .operating-mode-score{ color: #444; background: #ededed; }
.theme-light .operating-mode-summary-item .row-arrow{ color: #555; }
.theme-light .operating-mode-media-box{ border-color: #b8b8b8; color: #555; background: #f7f7f7; }
@media (max-width: 720px) {
    .operating-modes-summary-hero{ align-items: flex-start; flex-direction: column; }
    .operating-mode-summary-item{ grid-template-columns: 32px minmax(0, 1fr) 22px; }
    .operating-mode-score{ grid-column: 2; justify-self: start; }
    .operating-mode-detail-page{ padding: 15px; }
    .operating-mode-detail-grid{ grid-template-columns: 1fr; }
    .operating-mode-v1-fields{ grid-template-columns: 1fr; }
    .operating-mode-v1-evaluation .editable-criterion-row{ grid-template-columns: 36px minmax(0,1fr); }
}

/* Risques et mesures : synthèses dynamiques puis fiches d'évaluation. */
.risks-summary, .measures-summary{ display: grid; gap: 13px; }
.risk-scenario-panel{ padding: 16px; }
.risk-scenario-heading{ align-items: flex-start; }
.risk-scenario-counts{ display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.risk-scenario-counts span,
.risk-scenario-total{
    padding: 4px 7px;
    border: 1px solid #c8c8c8;
    border-radius: 2px;
    color: #555;
    background: #f3f3f3;
    font-size: 9px;
    font-weight: 600;
    white-space: nowrap;
}
.risk-scenario-empty{
    min-height: 58px;
    padding: 11px 12px;
    display: grid;
    align-content: center;
    gap: 3px;
    border: 1px solid #d4d4d4;
    border-left: 3px solid #787878;
    color: #666;
    background: #f7f7f7;
    font-size: 9px;
}
.risk-scenario-empty strong{ color: #252525; font-size: 10px; }
.risk-scenario-toolbar{
    min-height: 41px;
    padding: 6px 8px;
    display: flex;
    align-items: center;
    gap: 14px;
    border: 1px solid #d1d1d1;
    background: #f3f3f3;
    color: #555;
    font-size: 9px;
}
.risk-scenario-toolbar strong{ color: #252525; font-size: 9px; }
.risk-scenario-toolbar span + span{ padding-left: 14px; border-left: 1px solid #c9c9c9; }
.risk-scenario-operation-message{ padding: 6px 9px; border: 1px solid #b8d6b8; background: #f0f8f0; color: #365f36; font-size: 9px; }
.risk-scenario-list{ display: grid; border: 1px solid #d1d1d1; border-top: 0; }
.risk-scenario-list-heading{
    min-height: 27px;
    padding: 5px 9px;
    display: grid;
    grid-template-columns: minmax(210px, 1fr) minmax(210px, 1fr) minmax(145px, .7fr) minmax(140px, .6fr) minmax(190px, .8fr);
    align-items: center;
    gap: 12px;
    border-bottom: 1px solid #d1d1d1;
    color: #686868;
    background: #f3f3f3;
    font-size: 8px;
    font-weight: 600;
    letter-spacing: .035em;
    text-transform: uppercase;
}
.risk-scenario-column-heading{ display: flex; align-items: center; gap: 5px; }
.risk-scenario-pev-heading,
.risk-scenario-risk-heading{ display: grid; gap: 1px; line-height: 1.15; text-transform: none; }
.risk-scenario-pev-heading strong,
.risk-scenario-risk-heading strong{ color: #4b4b4b; font-size: 8px; letter-spacing: .035em; text-transform: uppercase; }
.risk-scenario-pev-heading small,
.risk-scenario-risk-heading small{ color: #777; font-size: 7.5px; font-weight: 500; letter-spacing: 0; white-space: normal; }
.risk-scenario-risk-heading{ width: 100%; justify-items: end; text-align: right; }
.risk-scenario-sort-button{ width: 20px; height: 19px; padding: 0; display: grid; place-items: center; border: 1px solid #b8b8b8; color: #666; background: #fff; font-size: 10px; line-height: 1; cursor: pointer; }
.risk-scenario-sort-button:hover{ border-color: #888; color: #252525; background: #e8e8e8; }
.risk-scenario-sort-button.active{ border-color: #0078d4; color: #005a9e; background: #e8f3fb; font-weight: 700; }
.risk-scenario-row{
    min-height: 70px;
    padding: 9px;
    display: grid;
    grid-template-columns: minmax(210px, 1fr) minmax(210px, 1fr) minmax(145px, .7fr) minmax(140px, .6fr) minmax(190px, .8fr);
    align-items: center;
    gap: 12px;
    border-top: 1px solid #dedede;
    background: #fff;
}
.risk-scenario-list-heading + .risk-scenario-row{ border-top: 0; }
.risk-scenario-row.created{ border-left: 3px solid #4f8a5b; }
.risk-scenario-row.ignored{ border-left: 3px solid #8a8a8a; background: #fafafa; }
.risk-scenario-row.outside{ border-left: 3px solid #b67516; background: #fffaf0; }
.risk-scenario-row.incomplete{ border-left: 3px solid #b67516; }
.risk-scenario-entity{ min-width: 0; }
.risk-scenario-entity strong,
.risk-scenario-entity small{ display: flex; min-width: 0; align-items: center; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.risk-scenario-entity strong{ gap: 7px; color: #252525; font-size: 10px; font-weight: 600; }
.risk-scenario-entity small{ margin-top: 5px; color: #666; font-size: 8.5px; }
.risk-scenario-entity small b{ margin: 0 3px; color: #444; font-weight: 600; }
.risk-scenario-reference{
    flex: 0 0 auto;
    min-width: 47px;
    padding: 3px 5px;
    border-left: 3px solid #0078d4;
    color: #174f7d;
    background: #eef5fb;
    font-size: 8.5px;
    font-weight: 700;
    text-align: center;
}
.risk-scenario-exposure .risk-scenario-reference{ border-left-color: #6b52a3; color: #55417f; background: #f3f0f8; }
.risk-scenario-mode .risk-scenario-reference{ border-left-color: #b47719; color: #765018; background: #faf4ea; }
.risk-scenario-pev{ min-width: 0; }
.scenario-pev-select{ width: 100%; min-height: 30px; padding: 4px 25px 4px 7px; border: 1px solid #aaa; color: #252525; background: #fff; font-size: 9px; }
.scenario-pev-select:disabled{ color: #888; background: #f1f1f1; }
.risk-scenario-pev > strong{ display: block; overflow: hidden; color: #252525; font-size: 9px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.risk-scenario-pev > span{ color: #777; font-size: 9px; }
.risk-scenario-pev.has-value .scenario-pev-select,
.risk-scenario-pev.has-value > strong{
    border-color: var(--pev-light, #777);
    color: var(--pev-light, #252525) !important;
    background: var(--pev-light-surface, #f1f1f1);
    font-weight: 700;
}
.risk-scenario-pev.has-value > strong{ width: max-content; max-width: 100%; padding: 5px 7px; border: 1px solid var(--pev-light, #777); }
.scenario-add-button{ min-width: 72px; }
.risk-scenario-status{ min-width: 0; display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 5px; }
.risk-scenario-status > small{ max-width: 220px; overflow: hidden; color: #666; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.scenario-status{ padding: 4px 6px; border: 1px solid #c5c5c5; border-radius: 2px; color: #555; background: #f1f1f1; font-size: 8px; font-weight: 600; white-space: nowrap; }
.scenario-status.created{ border-color: #9abf9f; color: #386742; background: #eff7f0; }
.scenario-status.warning,
.scenario-status.incomplete{ border-color: #d7b880; color: #805611; background: #fff7e7; }
.scenario-status.ignored{ color: #666; background: #ededed; }
.risk-scenario-ignore-editor{ width: 100%; display: grid; grid-template-columns: minmax(130px, 1fr) auto auto; gap: 5px; }
.risk-scenario-ignore-editor input{ min-width: 0; min-height: 27px; padding: 4px 6px; border: 1px solid #aaa; color: #252525; background: #fff; font-size: 9px; }
.risk-outside-scenario-panel{ padding: 16px; }
.risk-outside-scenario-list{ display: grid; gap: 6px; margin-top: 10px; }
.risk-outside-scenario-row{
    min-height: 58px;
    padding: 8px 10px;
    display: grid;
    grid-template-columns: 24px minmax(240px, 1fr) minmax(260px, 1fr) auto 18px;
    align-items: center;
    gap: 10px;
    border: 1px solid #d6c39f;
    border-left: 3px solid #b67516;
    color: #252525;
    background: #fffaf0;
    text-decoration: none;
}
.risk-outside-scenario-row:hover{ background: #fff5e2; }
.risk-outside-scenario-row > span{ min-width: 0; }
.risk-outside-scenario-row strong,
.risk-outside-scenario-row small{ display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.risk-outside-scenario-row strong{ font-size: 9.5px; }
.risk-outside-scenario-row small{ margin-top: 4px; color: #666; font-size: 8.5px; }
.risk-outside-scenario-row em{ padding: 4px 6px; border: 1px solid #d7b880; color: #805611; background: #fff7e7; font-size: 8px; font-style: normal; font-weight: 600; white-space: nowrap; }
.risk-outside-icon{ width: 20px; height: 20px; display: grid; place-items: center; color: #9a6516; font-size: 13px; font-weight: 700; }
.risks-summary-hero,
.measures-summary-hero{ min-height: 132px; padding: 20px 22px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.risks-summary-hero h2,
.measures-summary-hero h2{ margin-top: 6px; color: #e5eff9; font-size: 24px; }
.risks-summary-hero p,
.measures-summary-hero p{ max-width: 720px; margin: 7px 0 0; color: #a9bbce; font-size: 11px; line-height: 1.5; }
.risks-summary-list,
.measures-summary-list,
.measures-inventory-summary{ padding: 16px; }
.risk-tree-list,
.measure-risk-tree-list{ display: grid; gap: 8px; }
.risk-tree-item,
.measure-risk-summary-item{ min-height: 70px; padding: 11px 14px; display: grid; grid-template-columns: 32px minmax(0, 1fr) auto 22px; gap: 11px; align-items: center; border: 1px solid #294662; border-radius: 6px; color: #a9bbce; text-decoration: none; }
.risk-tree-item:hover,
.measure-risk-summary-item:hover{ background: #17365d; }
.risk-tree-icon{ width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid currentColor; border-radius: 5px; color: #8fc8ff; font-size: 18px; }
.risk-tree-item strong,
.measure-risk-summary-item strong{ display: block; color: #e5eff9; font-size: 11px; }
.risk-tree-item small,
.measure-risk-summary-item small{ display: block; margin-top: 3px; color: #819bb5; font-size: 9px; }
.risk-tree-item em{ padding: 5px 8px; border-radius: 4px; color: #d4d4d4; background: #2d2d30; font-size: 10px; font-style: normal; font-weight: 700; white-space: nowrap; }
.risk-tree-item em.high,
.risk-level-chip.high{ color: #f2b4b7; background: #44292b; }
.risk-tree-item em.medium,
.risk-level-chip.medium{ color: #f0cb8a; background: #453b29; }
.risk-tree-item em.limited,
.risk-level-chip.limited{ color: #d3d3a0; background: #3a3b2c; }
.risk-tree-item em.low,
.risk-level-chip.low{ color: #b7d5c0; background: #293a30; }
.risk-tree-item .row-arrow,
.measure-risk-summary-item .row-arrow{ color: #8fc8ff; font-size: 19px; text-align: center; }
.measure-risk-summary-item{ grid-template-columns: 32px minmax(0, 1fr) auto 22px; }
.measure-risk-summary-item .shield-check-icon{ font-size: 22px; }
.measure-risk-summary-item em{ display: block; margin-top: 5px; color: #c2d4e6; font-size: 9px; font-style: normal; }
.measure-summary-status{ padding: 5px 8px; border-radius: 4px; color: #b7d5c0; background: #293a30; font-size: 9px; font-weight: 700; white-space: nowrap; }
.measure-summary-status.pending{ color: #f0cb8a; background: #453b29; }
.measure-inventory-grid{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.measure-inventory-grid a{ min-height: 74px; padding: 11px 12px; display: grid; align-content: center; gap: 3px; border: 1px solid #294662; border-radius: 6px; color: #a9bbce; text-decoration: none; }
.measure-inventory-grid a:hover{ background: #17365d; }
.measure-inventory-grid strong{ color: #e5eff9; font-size: 11px; }
.measure-inventory-grid span{ color: #a9bbce; font-size: 10px; }
.measure-inventory-grid small{ color: #819bb5; font-size: 9px; }
.risk-detail-top,
.measure-detail-top{ margin-bottom: 13px; }
.risk-detail-top h1,
.measure-detail-top h1{ display: flex; align-items: center; gap: 8px; }
.risk-heading-reference{ color: #8fc8ff; font-size: .7em; }
.risk-detail-layout{ min-height: calc(100vh - 220px); }
.risk-path-context{ margin: 0 0 15px; padding: 11px 13px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; border-left: 4px solid #2d8cff; background: #142b47; }
.risk-path-context span{ min-width: 0; display: grid; gap: 4px; }
.risk-path-context small{ color: #819bb5; font-size: 8px; text-transform: uppercase; }
.risk-path-context strong{ overflow: hidden; color: #e5eff9; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.reassessment-editor-detail{ min-height: calc(100vh - 220px); }
.theme-light .risks-summary-hero h2,
.theme-light .measures-summary-hero h2{ color: #1f1f1f; }
.theme-light .risks-summary-hero p,
.theme-light .measures-summary-hero p{ color: #6e6e6e; }
.theme-light .risk-tree-item,
.theme-light .measure-risk-summary-item,
.theme-light .measure-inventory-grid a{ border-color: #d6d6d6; color: #555; }
.theme-light .risk-tree-item:hover,
.theme-light .measure-risk-summary-item:hover,
.theme-light .measure-inventory-grid a:hover{ background: #e8e8e8; }
.theme-light .risk-tree-icon{ color: #555; }
.theme-light .risk-tree-item strong,
.theme-light .measure-risk-summary-item strong,
.theme-light .measure-inventory-grid strong{ color: #1f1f1f; }
.theme-light .risk-tree-item small,
.theme-light .measure-risk-summary-item small,
.theme-light .measure-inventory-grid small{ color: #6e6e6e; }
.theme-light .risk-tree-item em{ color: #444; background: #ededed; }
.theme-light .risk-tree-item em.high,
.theme-light .risk-level-chip.high{ color: #a33e43; background: #ffe8e9; }
.theme-light .risk-tree-item em.medium,
.theme-light .risk-level-chip.medium{ color: #9a6a13; background: #fff4d9; }
.theme-light .risk-tree-item em.limited,
.theme-light .risk-level-chip.limited{ color: #6c711e; background: #f1f3d8; }
.theme-light .risk-tree-item em.low,
.theme-light .risk-level-chip.low{ color: #39724d; background: #e3f2e8; }
.theme-light .risk-tree-item .row-arrow,
.theme-light .measure-risk-summary-item .row-arrow{ color: #555; }
.theme-light .measure-risk-summary-item em,
.theme-light .measure-inventory-grid span{ color: #555; }
.theme-light .measure-summary-status{ color: #39724d; background: #e3f2e8; }
.theme-light .measure-summary-status.pending{ color: #9a6a13; background: #fff4d9; }
.theme-light .risk-path-context{ border-color: #0078d4; background: #f0f6ff; }
.theme-light .risk-path-context small{ color: #6e6e6e; }
.theme-light .risk-path-context strong{ color: #294d78; }
.theme-light .risk-heading-reference{ color: #0078d4; }
@media (max-width: 820px) {
    .risk-scenario-row{ grid-template-columns: minmax(0, 1fr); }
    .risk-scenario-list-heading{ display: none; }
    .risk-scenario-entity,
    .risk-scenario-pev,
    .risk-scenario-status{ grid-column: 1; justify-content: flex-start; }
    .risk-path-context{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .measure-inventory-grid{ grid-template-columns: 1fr; }
    .risk-outside-scenario-row{ grid-template-columns: 24px minmax(0, 1fr) 18px; }
    .risk-outside-scenario-row > span:nth-child(3),
    .risk-outside-scenario-row > em{ grid-column: 2; }
}
@media (max-width: 720px) {
    .risk-scenario-toolbar{ align-items: flex-start; flex-direction: column; gap: 5px; }
    .risk-scenario-toolbar span + span{ padding-left: 0; border-left: 0; }
    .risk-scenario-heading{ align-items: flex-start; flex-direction: column; }
    .risk-scenario-counts{ justify-content: flex-start; }
    .risk-scenario-ignore-editor{ grid-template-columns: 1fr; }
    .risks-summary-hero,
.measures-summary-hero{ align-items: flex-start; flex-direction: column; }
    .risk-tree-item,
.measure-risk-summary-item{ grid-template-columns: 32px minmax(0, 1fr) 22px; }
    .risk-tree-item em,
.measure-summary-status{ grid-column: 2; justify-self: start; }
    .risk-detail-top,
.measure-detail-top{ align-items: flex-start; flex-direction: column; }
    .risk-path-context{ grid-template-columns: 1fr; }
}

/* Hiérarchie Risques → évaluation R → mesures appliquées. */
.risk-tree-group{ overflow: hidden; border: 1px solid #294662; border-radius: 6px; }
.risk-tree-group .risk-tree-item{ border: 0; border-radius: 0; }
.risk-summary-toggle{ width:20px; height:22px; padding:0; display:grid; place-items:center; border:0; color:#8fc8ff; background:transparent; font-family:inherit; font-size:14px; font-weight:700; line-height:1; cursor:pointer; }
.risk-summary-toggle:hover{ background:#244462; }
.risk-summary-toggle:focus-visible{ outline:1px solid #0078d4; outline-offset:1px; }
.risk-summary-toggle.empty{ color:#66798c; cursor:default; }
.risk-tree-main{ min-width:0; display:grid; grid-template-columns:32px minmax(0,1fr); gap:11px; align-items:center; color:inherit; text-decoration:none; }
.risk-tree-item > .row-arrow{ color:inherit; text-decoration:none; }
.risk-tree-measures{ margin-left: 25px; border-left: 1px dotted #41617f; }
.risk-tree-measure{ min-height: 48px; padding: 9px 14px; display: grid; grid-template-columns: 28px minmax(0, 1fr) 22px; gap: 10px; align-items: center; border-top: 1px solid #294662; color: #a9bbce; text-decoration: none; }
.risk-tree-measure:hover{ background: #17365d; }
.risk-tree-measure-icon{ width: 23px; height: 23px; display: grid; place-items: center; color: #8fc8ff; font-size: 16px; }
.risk-tree-measure strong{ display: block; color: #e5eff9; font-size: 10px; }
.risk-tree-measure small{ display: block; margin-top: 3px; color: #819bb5; font-size: 8px; }
.risk-tree-measure .row-arrow{ color: #8fc8ff; font-size: 18px; text-align: center; }
.cascade-pev-remark{ min-width: 0; display: grid; gap: 4px; }
.cascade-pev-remark textarea{ min-height: 48px; resize: vertical; }
.theme-light .risk-tree-group{ border-color: #d6d6d6; }
.theme-light .risk-summary-toggle{ color:#555; }
.theme-light .risk-summary-toggle:hover{ background:#e8e8e8; }
.theme-light .risk-summary-toggle.empty{ color:#aaa; }
.theme-light .risk-tree-measures{ border-color: #b8b8b8; }
.theme-light .risk-tree-measure{ border-color: #d6d6d6; color: #555; }
.theme-light .risk-tree-measure:hover{ background: #e8e8e8; }
.theme-light .risk-tree-measure-icon,
.theme-light .risk-tree-measure .row-arrow{ color: #555; }
.theme-light .risk-tree-measure strong{ color: #1f1f1f; }
.theme-light .risk-tree-measure small{ color: #6e6e6e; }
@media (min-width: 721px) and (max-width: 1300px) { .cascade-pev-priority .cascade-pev-remark{ grid-column: 1; } }
@media (max-width: 720px) { .risk-tree-measures{ margin-left: 15px; }.cascade-pev-remark{ grid-column: 1; }.cascade-pev-remark textarea{ width: 100%; } }

.risk-no-msr{ min-height:52px; padding:8px 9px; display:grid; grid-template-columns:70px minmax(0,1fr) auto; gap:10px; align-items:center; border-bottom:1px solid #e2e2e2; color:#303030; }
.risk-no-msr > span:nth-child(2){ min-width:0; display:grid; gap:2px; }
.risk-no-msr strong{ font-size:11px; }
.risk-no-msr small{ color:#626262; font-size:9px; }
.follow-up-reference.no-msr{ color:#626262; background:#ededed; }
@media (max-width:720px){ .risk-no-msr{ grid-template-columns:64px minmax(0,1fr); }.risk-no-msr .button{ grid-column:2; justify-self:start; } }

/* ED/CD : liens explicites,
miniatures et documentation V1. */
.machine-element-tree-parent{ grid-template-columns: 66px minmax(0, 1fr) 22px; }
.machine-element-tree-thumb{ width: 58px; height: 42px; position: relative; overflow: hidden; display: grid; place-items: center; border: 1px solid #c9d5e2; border-radius: 5px; background: linear-gradient(145deg, #ffffff, #eef3f7); }
.machine-thumb-mark{ color: #59636d; font-size: 21px; line-height: 1; }
.machine-element-tree-thumb i,
.machine-element-tree-thumb b{ position: absolute; display: block; background: #d49a12; }
.machine-element-tree-thumb i{ width: 30px; height: 3px; left: 14px; bottom: 9px; transform: rotate(-25deg); }
.machine-element-tree-thumb b{ width: 5px; height: 22px; left: 34px; bottom: 10px; transform: rotate(27deg); }
.machine-element-detail-actions{ display: flex; flex-wrap: wrap; gap: 7px; justify-content: flex-end; }
.machine-element-detail-actions .button{ margin-top: 0; }
.machine-parent-visual{ width: 100%; height: 128px; position: relative; overflow: hidden; border: 1px solid #c9d5e2; border-radius: 5px; background: linear-gradient(145deg, #ffffff, #eef3f7); }
.machine-parent-visual::before{ content: ''; width: 68%; height: 58%; position: absolute; left: 12%; top: 19%; border: 2px solid #75808a; background: repeating-linear-gradient(90deg, transparent 0 24%, #c3cad0 25% 26%); }
.machine-parent-visual::after{ content: ''; width: 38%; height: 2px; position: absolute; left: 42%; top: 59%; background: #d49a12; transform: rotate(-25deg); box-shadow: 14px -22px 0 1px #d49a12; }
.machine-parent-visual span,
.machine-parent-visual i,
.machine-parent-visual b{ position: absolute; display: block; }
.machine-parent-visual span{ width: 7px; height: 7px; left: 53%; top: 44%; border-radius: 50%; background: #d49a12; }
.machine-parent-visual i{ width: 5px; height: 36%; left: 63%; top: 44%; background: #d49a12; transform: rotate(29deg); }
.machine-parent-visual b{ width: 34%; height: 5px; left: 31%; bottom: 12%; border-radius: 3px; background: #555e66; }
.machine-parent-visual.large{ height: 145px; }
.case-documentation-card{ margin-top: 16px; padding: 14px; display: grid; grid-template-columns: minmax(0, 1fr) 180px; gap: 15px; border: 1px solid var(--theme-line, #dfe7f0); border-radius: 6px; background: var(--theme-surface, #fff); }
.case-documentation-fields{ min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr); align-content: start; }
.case-documentation-fields .documentation-field{ color: #1767ed; }
.case-documentation-fields .documentation-field input,
.case-documentation-fields .documentation-field textarea{ color: #21466e; background: #fff; border-color: #b8cde2; }
.case-documentation-fields textarea{ min-height: 90px; }
.case-documentation-actions{ margin-top: 11px; display: flex; align-items: center; gap: 10px; }
.case-parent-thumbnail{ min-width: 0; display: grid; align-content: start; gap: 6px; color: #69809e; font-size: 10px; font-weight: 700; }
.case-parent-thumbnail em{ overflow: hidden; color: #8192a8; font-size: 8px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.machine-element-evaluation-card .criterion-name strong{ color: #2f3440; }
.machine-element-evaluation-card .criterion-code{ color: #2f3440; background: transparent; border: 1px solid #cfd5dc; }
.machine-element-evaluation-card .criterion-score{ display: inline-block; width: max-content; padding: 3px 6px; border-radius: 4px; font-weight: 800; }
.machine-element-evaluation-card .score-severity{ color: #d33f45; background: #ffe8e9; }
.machine-element-evaluation-card .score-avoidance{ color: #c77612; background: #fff0dd; }
.machine-element-evaluation-card .score-exposure{ color: #b48712; background: #fff4d7; }
.criterion-context-code{ color: #4d5661; background: #eef1f4; }
.machine-element-detail-context a{ color: inherit; font-weight: 800; text-decoration: underline; text-underline-offset: 2px; }
.machine-element-tree-thumb img{ width: 100%; height: 100%; display: block; object-fit: cover; }
.machine-parent-image{ width: 100%; height: 128px; display: block; object-fit: contain; border-radius: 4px; }
.machine-parent-image.large{ height: 145px; }
@media (max-width: 720px) { .machine-element-detail-actions{ justify-content: flex-start; }.case-documentation-card{ grid-template-columns: 1fr; }.case-parent-thumbnail{ max-width: 260px; }.case-documentation-actions{ align-items: flex-start; flex-direction: column; } }

/* Fiche CD alignée sur ANR Tool V1 : documentation puis critères hérités. */
.case-documentation-fields .case-body-parts{ min-height: 76px; }
.anr-page:has(.hazardous-case-v1-card){ padding-top: 8px !important; padding-bottom: 0 !important; }
.hazardous-case-v1-card{ min-height: 0; height: max-content; container-type: inline-size; padding: 12px 18px; }
.hazardous-case-v1-card .technical-measure-v1-heading{ gap: 6px; padding-bottom: 6px; }
.hazardous-case-v1-card .panel-kicker{ display: none; }
.hazardous-case-v1-card .technical-measure-v1-heading h2{ margin-top: 3px; font-size: 18px; }
.hazardous-case-v1-card .entity-delete-control small{ max-width: 220px; font-size: 8px; }
.hazardous-case-v1-card .machine-element-detail-context{ margin: 5px 0; padding: 4px 8px; }
.hazardous-case-v1-card .machine-element-detail-context .criterion-context-code{ width: 30px; height: 30px; font-size: 10px; }
.hazardous-case-v1-card .machine-element-detail-context strong{ font-size: 10px; }
.hazardous-case-v1-card .machine-element-detail-context small{ margin-top: 1px; font-size: 8px; }
.hazardous-case-v1-fields{ margin-top: 5px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px 9px; }
.hazardous-case-v1-fields .case-name-field{ grid-column: 1 / -1; }
.hazardous-case-v1-fields .case-name-field input{ max-width: calc(50% - 5px); }
.hazardous-case-v1-fields .technical-measure-title-text{ overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.hazardous-case-v1-fields .documentation-field textarea{ min-height: 42px; height: 42px; padding-top: 6px; padding-bottom: 6px; resize: vertical; }
.hazardous-case-v1-fields .documentation-field input{ min-height: 36px; }
.hazardous-case-workspace{ margin-top:10px; display:grid; grid-template-columns:minmax(0,1.8fr) minmax(330px,.8fr); gap:12px; align-items:start; }
.hazardous-case-v1-card .machine-element-evaluation-card{ min-width:0; margin:0; display:block; }
.hazardous-case-v1-card .machine-element-evaluation-card .evaluation-title,
.hazardous-case-v1-card .machine-element-evaluation-card .evaluation-actions{ grid-column: 1 / -1; }
.hazardous-case-v1-card .machine-element-evaluation-card .evaluation-title{ min-height: 30px; padding: 0 11px; }
.hazardous-case-v1-card .criterion-editor-grid-three{ grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
.hazardous-case-v1-card .machine-element-evaluation-card .editable-criterion-row{ min-height: 0; padding: 7px 9px; display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 4px 7px; border-right: 1px solid #edf1f6; border-bottom: 0; }
.hazardous-case-v1-card .machine-element-evaluation-card .editable-criterion-row:nth-of-type(4){ border-right: 0; }
.hazardous-case-v1-card .machine-element-evaluation-card .criterion-code{ width: 30px; height: 30px; font-size: 10px; }
.hazardous-case-v1-card .machine-element-evaluation-card .criterion-name{ gap: 2px; }
.hazardous-case-v1-card .machine-element-evaluation-card .criterion-name small,
.hazardous-case-v1-card .machine-element-evaluation-card .criterion-value > small,
.hazardous-case-v1-card .machine-element-evaluation-card .criterion-note > small{ display: none; }
.hazardous-case-v1-card .machine-element-evaluation-card .criterion-value,
.hazardous-case-v1-card .machine-element-evaluation-card .criterion-note{ grid-column: 1 / -1; }
.hazardous-case-v1-card .machine-element-evaluation-card .criterion-value{ display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 4px; }
.hazardous-case-v1-card .machine-element-evaluation-card .criterion-select{ min-height: 31px; }
.hazardous-case-v1-card .machine-element-evaluation-card .criterion-score{ margin: 0; white-space: nowrap; }
.hazardous-case-v1-card .machine-element-evaluation-card .criterion-remark{ min-height: 52px; height: 52px; padding: 7px 8px; resize: vertical; }
.hazardous-case-v1-card .machine-element-evaluation-card .evaluation-actions{ min-height: 34px; padding: 6px 11px; }
.hazardous-case-workspace > .hazardous-case-documentation{ min-width:0; margin-top:0; padding-top:0; border-top:0; }
.hazardous-case-documentation{ min-width: 0; margin-top: 10px; padding-top: 10px; display: grid; grid-template-rows: auto auto auto auto; gap: 8px; border-top: 1px solid #d6d6d6; container-type:inline-size; }
.hazardous-case-document-frame{ height: 190px; }
.hazardous-case-document-viewer img,
.hazardous-case-document-viewer video{ width: 100%; height: 100%; display: block; object-fit: contain; background: #202020; }
.hazardous-case-document-viewer img{ background: #f7f7f7; }
.case-document-icon{ width: 31px; height: 35px; display: grid; place-items: center; border: 1px solid #c8c8c8; color: #555; background: #fff; font-size: 8px; font-weight: 800; }
.case-document-icon.large{ width: 46px; height: 52px; font-size: 11px; }
.hazardous-case-document-tabs .case-document-image > span:first-child{ color: #1767ed; }
.hazardous-case-document-tabs .case-document-video > span:first-child{ color: #7a4ca0; }
.hazardous-case-document-tabs .case-document-pdf > span:first-child{ color: #a4262c; }
.hazardous-case-document-tabs .case-document-step > span:first-child{ color: #168f78; }
.hazardous-case-documentation.is-expanded .hazardous-case-document-frame{ width: 100%; height: 100%; min-height: 0; }
.hazardous-case-documentation.is-expanded .hazardous-case-document-viewer img,
.hazardous-case-documentation.is-expanded .hazardous-case-document-viewer video{ width: 100%; height: 100%; object-fit: contain; }
@container (max-width: 900px){
    .hazardous-case-v1-card .technical-measure-v1-heading{ display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,auto); align-items: start; }
    .hazardous-case-v1-card .entity-heading-actions{ width: auto; max-width: 420px; margin-left: auto; justify-content: flex-end; flex-wrap: wrap; }
    .hazardous-case-v1-fields{ grid-template-columns: repeat(2,minmax(0,1fr)); }
    .hazardous-case-workspace{ grid-template-columns:1fr; }
    .hazardous-case-workspace > .hazardous-case-documentation{ margin-top:2px; padding-top:10px; border-top:1px solid #d6d6d6; }
}
@container (max-width: 360px){
    .hazardous-case-v1-card .technical-measure-v1-heading{ display: flex; align-items: flex-start; flex-direction: column; }
    .hazardous-case-v1-card .entity-heading-actions{ width: 100%; margin-left: 0; justify-content: flex-start; }
    .hazardous-case-v1-fields{ grid-template-columns: 1fr; }
    .hazardous-case-v1-fields .case-name-field{ grid-column: 1; }
    .hazardous-case-v1-fields .case-name-field input{ max-width: none; }
    .hazardous-case-v1-card .criterion-editor-grid-three{ grid-template-columns:1fr !important; }
    .hazardous-case-v1-card .machine-element-evaluation-card .editable-criterion-row{ border-right: 0; border-bottom: 1px solid #edf1f6; }
}
.criterion-remark{ width: 100%; min-height: 64px; padding: 8px; border: 1px solid #b8cde2; border-radius: 5px; color: #526783; background: #fff; font: inherit; font-size: 10px; line-height: 1.35; resize: vertical; }
.machine-element-evaluation-card .criterion-select:disabled{ opacity: 1; color: #526783; background: #f3f5f7; cursor: not-allowed; }

/* Fiche documentaire de l'élément parent : aucune évaluation à ce niveau. */
.machine-element-parent-page{ min-height: calc(100vh - 210px); padding: 20px 22px; }
.machine-element-parent-grid{ margin-top: 17px; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(250px, .75fr); gap: 18px; }
.machine-element-parent-fields{ min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 14px; align-content: start; }
.machine-element-parent-fields .field-wide{ grid-column: 1 / -1; }
.machine-element-parent-fields .documentation-field{ color: #1767ed; }
.machine-element-parent-fields .documentation-field input,
.machine-element-parent-fields .documentation-field textarea{ color: #21466e; background: #fff; border-color: #b8cde2; }
.machine-element-parent-fields textarea{ min-height: 135px; }
.machine-element-parent-media{ min-width: 0; display: grid; align-content: start; gap: 8px; }
.machine-element-parent-media .documentation-field{ color: #1767ed; }
.machine-element-parent-media .documentation-field input{ color: #21466e; background: #fff; border-color: #b8cde2; }
.machine-element-parent-media-box{ min-height: 218px; border-color: #b8cde2; color: #69809e; background: #f7fbff; }
.machine-element-parent-media-box span{ font-size: 42px; }
.machine-element-parent-actions{ grid-column: 1 / -1; margin-top: 14px; display: flex; align-items: center; gap: 12px; }
.machine-element-child-cases{ margin-top: 22px; padding-top: 16px; border-top: 1px solid #e5ebf2; }
.machine-element-child-case-list{ display: grid; gap: 7px; }
.machine-element-child-case-list a{ min-height: 56px; padding: 9px 12px; display: grid; grid-template-columns: 28px minmax(0, 1fr) 20px; gap: 9px; align-items: center; border: 1px solid #dfe7f0; border-radius: 5px; color: #526783; text-decoration: none; }
.machine-element-child-case-list a:hover{ background: #f0f6ff; }
.machine-element-child-case-list strong{ display: block; color: #405678; font-size: 11px; }
.machine-element-child-case-list small{ display: block; margin-top: 3px; color: #8192a8; font-size: 9px; }
.machine-element-child-case-list .tree-warning{ color: #d77f13; }
.machine-element-child-case-list .row-arrow{ color: #1767ed; font-size: 18px; text-align: center; }
.machine-element-v1-fields{ margin-top: 12px; }
.machine-element-v1-fields textarea{ min-height: 72px; resize: vertical; }
.machine-element-v1-card .hazardous-case-documentation{ margin-top: 12px; }
.machine-element-child-case-list a{ grid-template-columns: 50px minmax(0,1fr) 20px; }


@media (max-width: 720px) {
    .machine-element-parent-page{ padding: 15px; }
    .machine-element-parent-grid,
.machine-element-parent-fields{ grid-template-columns: 1fr; }
    .machine-element-parent-fields .field-wide{ grid-column: auto; }
    .machine-element-parent-actions{ align-items: flex-start; flex-direction: column; }
}

/* Éléments et cas dangereux : synthèse puis fiche du cas enfant. */
.machine-elements-summary{ display: grid; gap: 13px; }.machine-elements-summary-hero{ min-height: 132px; padding: 20px 22px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }.machine-elements-summary-hero h2{ margin-top: 6px; color: #e5eff9; font-size: 24px; }.machine-elements-summary-hero p{ max-width: 700px; margin: 7px 0 0; color: #a9bbce; font-size: 11px; line-height: 1.5; }.machine-elements-summary-count{ min-width: 125px; padding: 10px 14px; display: flex; align-items: center; gap: 10px; border-left: 1px solid #41617f; }.machine-elements-summary-count strong{ color: #8fc8ff; font-family: 'Space Grotesk', sans-serif; font-size: 35px; }.machine-elements-summary-count small{ color: #a9bbce; font-size: 10px; line-height: 1.3; }.machine-elements-summary-list{ padding: 16px; }.machine-elements-summary-list .reference-panel-heading{ margin-bottom: 13px; }.machine-element-tree-list{ display: grid; gap: 8px; }.machine-element-tree-item{ overflow: hidden; border: 1px solid #294662; border-radius: 6px; }.machine-element-tree-parent,
.machine-element-tree-children a{ min-height: 58px; padding: 9px 13px; display: grid; grid-template-columns: 28px minmax(0, 1fr) 22px; gap: 9px; align-items: center; color: #a9bbce; text-decoration: none; }.machine-element-tree-parent{ background: #142b47; }.machine-element-tree-parent:hover,
.machine-element-tree-children a:hover{ background: #17365d; }.machine-element-tree-parent strong,
.machine-element-tree-children strong{ display: block; color: #e5eff9; font-size: 11px; }.machine-element-tree-parent small,
.machine-element-tree-children small{ display: block; margin-top: 3px; color: #819bb5; font-size: 9px; }.machine-element-tree-children{ margin-left: 25px; border-left: 1px dotted #41617f; }.machine-element-tree-children a{ min-height: 48px; border-top: 1px solid #294662; }.machine-element-tree-children .tree-node-icon{ color: #e88917; }.machine-element-tree-list .row-arrow{ color: #8fc8ff; font-size: 19px; text-align: center; }.machine-element-detail-page{ min-height: calc(100vh - 210px); padding: 20px 22px; }.machine-element-detail-heading{ display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; padding-bottom: 14px; border-bottom: 1px solid #294662; }.machine-element-detail-heading h2{ margin-top: 6px; color: #e5eff9; font-size: 23px; }.machine-element-detail-context{ margin: 15px 0 18px; padding: 11px 13px; display: flex; align-items: center; gap: 10px; border-left: 4px solid #2d8cff; background: #142b47; }.machine-element-detail-context strong{ color: #e5eff9; font-size: 11px; }.machine-element-detail-context small{ display: block; margin-top: 3px; color: #a9bbce; font-size: 9px; }.machine-element-evaluation-card{ margin-top: 18px; }.theme-light .machine-elements-summary-hero h2,
.theme-light .machine-element-detail-heading h2{ color: #203c66; }.theme-light .machine-elements-summary-hero p,
.theme-light .machine-elements-summary-count small{ color: #69809e; }.theme-light .machine-elements-summary-count{ border-color: #dfe7f0; }.theme-light .machine-element-tree-item{ border-color: #dfe7f0; }.theme-light .machine-element-tree-parent{ background: #f3f7fb; }.theme-light .machine-element-tree-parent:hover,
.theme-light .machine-element-tree-children a:hover{ background: #f0f6ff; }.theme-light .machine-element-tree-parent strong,
.theme-light .machine-element-tree-children strong{ color: #405678; }.theme-light .machine-element-tree-parent small,
.theme-light .machine-element-tree-children small{ color: #8192a8; }.theme-light .machine-element-tree-children{ border-color: #b9c7d7; }.theme-light .machine-element-tree-children a{ border-color: #e5ebf2; }.theme-light .machine-element-detail-heading{ border-color: #e5ebf2; }.theme-light .machine-element-detail-context{ background: #f0f6ff; }.theme-light .machine-element-detail-context strong{ color: #294d78; }.theme-light .machine-element-detail-context small{ color: #69809e; }

/* Miniatures MT : première image de la mesure, dans une colonne fixe. */
.technical-measures-summary-list{
    container-type: inline-size;
}
.technical-measure-summary-table .technical-measure-summary-head,
.technical-measure-summary-table .technical-measure-summary-row{
    grid-template-columns: 72px 62px minmax(180px, 1.8fr) minmax(120px, 1.1fr) 92px 22px;
}
.technical-measure-summary-thumb{
    width: 58px;
    height: 42px;
    overflow: hidden;
    display: grid;
    place-items: center;
    border: 1px solid #c8c8c8;
    border-radius: 4px;
    color: #168f78;
    background: #fafafa;
}
.technical-measure-summary-thumb img{
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    background: #fff;
}
.technical-measure-summary-copy{
    min-width: 0;
    display: grid;
    gap: 4px;
    overflow: hidden;
}
.technical-measure-summary-copy b,
.technical-measure-summary-copy small{
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
@media (max-width: 900px){
    .technical-measure-summary-table .technical-measure-summary-row{
        grid-template-columns: 64px 54px minmax(0, 1fr) 76px 20px;
    }
    .technical-measure-summary-row > span:nth-child(3){ display: grid; }
    .technical-measure-summary-row > span:nth-child(4){ display: none; }
    .technical-measure-summary-thumb{ width: 50px; height: 38px; }
}
@media (max-width: 720px){
    .technical-measure-summary-table .technical-measure-summary-row{
        grid-template-columns: 58px 48px minmax(0, 1fr) 20px;
    }
    .technical-measure-summary-row > span:nth-child(5){ display: none; }
    .technical-measure-summary-thumb{ width: 44px; height: 34px; }
}
@container (max-width: 850px){
    .technical-measure-summary-table .technical-measure-summary-head,
    .technical-measure-summary-table .technical-measure-summary-row{
        grid-template-columns: 64px 54px minmax(0, 1fr) 78px 20px;
    }
    .technical-measure-summary-head > span:nth-child(4),
    .technical-measure-summary-row > span:nth-child(4){ display: none; }
    .technical-measure-summary-row > span:nth-child(3){ display: grid; }
    .technical-measure-summary-thumb{ width: 50px; height: 38px; }
}
@container (max-width: 620px){
    .technical-measure-summary-table .technical-measure-summary-head{ display: none; }
    .technical-measure-summary-table .technical-measure-summary-row{
        grid-template-columns: 58px 48px minmax(0, 1fr) 20px;
    }
    .technical-measure-summary-row > span:nth-child(5){ display: none; }
    .technical-measure-summary-thumb{ width: 44px; height: 34px; }
}

/* Miniatures ED/CD : colonnes fixes et images contenues, sans recouvrement du texte. */
.machine-element-tree-list .machine-element-tree-parent{
    grid-template-columns: 66px minmax(0, 1fr) 22px;
}
.machine-element-tree-list .machine-element-tree-children a{
    grid-template-columns: 50px minmax(0, 1fr) 22px;
}
.machine-element-tree-copy{
    min-width: 0;
    overflow: hidden;
}
.machine-element-tree-copy strong,
.machine-element-tree-copy small{
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.machine-element-tree-thumb,
.machine-element-tree-child-thumb{
    position: relative;
    overflow: hidden;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border: 1px solid #c9d5e2;
    border-radius: 4px;
    background: #fafafa;
}
.machine-element-tree-thumb{
    width: 58px;
    height: 42px;
}
.machine-element-tree-child-thumb{
    width: 42px;
    height: 32px;
}
.machine-element-tree-thumb img,
.machine-element-tree-child-thumb img{
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    background: #fff;
}
.machine-element-tree-child-thumb .tree-node-icon{
    margin: 0;
}
.theme-light .machine-element-tree-child-thumb{
    border-color: #c8c8c8;
    background: #fafafa;
}

/* Aperçu agrandi des miniatures de listes, sans modifier la mise en page. */
.technical-measure-summary-table,
.machine-element-tree-item{
    overflow: visible;
}
.technical-measure-summary-row,
.machine-element-tree-parent,
.machine-element-tree-children a{
    position: relative;
}
.technical-measure-summary-row:hover,
.machine-element-tree-parent:hover,
.machine-element-tree-children a:hover{
    z-index: 30;
}
.technical-measure-summary-thumb,
.machine-element-tree-thumb,
.machine-element-tree-child-thumb{
    position: relative;
}
.technical-measure-summary-thumb:has(> .list-image-hover-preview),
.machine-element-tree-thumb:has(> .list-image-hover-preview),
.machine-element-tree-child-thumb:has(> .list-image-hover-preview){
    overflow: visible;
    cursor: zoom-in;
}
.technical-measure-summary-thumb > .list-image-hover-preview,
.machine-element-tree-thumb > .list-image-hover-preview,
.machine-element-tree-child-thumb > .list-image-hover-preview{
    width: 230px;
    height: 170px;
    max-width: none;
    max-height: none;
    position: absolute;
    left: calc(100% + 10px);
    top: -8px;
    z-index: 50;
    visibility: hidden;
    opacity: 0;
    object-fit: contain;
    pointer-events: none;
    border: 1px solid #8c8c8c;
    border-radius: 3px;
    background: #fff;
    transition: opacity .1s ease;
}
.technical-measure-summary-thumb:hover > .list-image-hover-preview,
.machine-element-tree-thumb:hover > .list-image-hover-preview,
.machine-element-tree-child-thumb:hover > .list-image-hover-preview{
    visibility: visible;
    opacity: 1;
}
@media (hover: none){
    .list-image-hover-preview{ display: none !important; }
}
@media (max-width: 720px) { .machine-elements-summary-hero,
.machine-element-detail-heading{ align-items: flex-start; flex-direction: column; }.machine-elements-summary-count{ border-left: 0; border-top: 1px solid #41617f; padding-left: 0; padding-top: 8px; }.machine-element-tree-children{ margin-left: 15px; }.machine-element-detail-page{ padding: 15px; } }

/* Palette Visual Studio claire : blanc et gris très clair. */
.theme-light{ --theme-page: #f3f3f3; --theme-surface: #ffffff; --theme-line: #d6d6d6; --theme-ink: #1f1f1f; --theme-muted: #6e6e6e; color: var(--theme-ink); background: var(--theme-page); }.theme-light .anr-header{ color: #1f1f1f; background: #e6e6e6; border-bottom-color: #cfcfcf; box-shadow: 0 2px 8px rgba(0,0,0,.08); }.theme-light .anr-sidebar{ background: #f3f3f3; border-right-color: #d6d6d6; }.theme-light .anr-main{ background: #f3f3f3; }.theme-light .sidebar-footer{ background: #ededed; border-top-color: #d6d6d6; }.theme-light .panel,
.theme-light .reference-context,
.theme-light .reference-stat,
.theme-light .reference-panel,
.theme-light .reference-risk-table,
.theme-light .project-preview-card,
.theme-light .equipment-tree-card,
.theme-light .equipment-detail-card,
.theme-light .equipment-summary-card,
.theme-light .evaluation-card,
.theme-light .risk-reference-list,
.theme-light .risk-detail-panel,
.theme-light .measures-reference-list,
.theme-light .measure-detail-reference{ color: #1f1f1f; background: #ffffff; border-color: #d6d6d6; box-shadow: 0 2px 8px rgba(0,0,0,.06); }.theme-light h1,
.theme-light h2,
.theme-light h3,
.theme-light h4,
.theme-light strong{ color: #1f1f1f; }.theme-light p,
.theme-light small,
.theme-light dt,
.theme-light .reference-page-heading p{ color: #6e6e6e; }.theme-light .global-tree-line{ color: #444444; }.theme-light .global-tree-line:hover{ color: #0078d4; background: #e8e8e8; }.theme-light .global-tree-line.active{ color: #005a9e; background: #dbeeff; box-shadow: inset 3px 0 0 #0078d4; }.theme-light .global-tree-copy small{ color: #777777; }.theme-light .button-primary{ color: #ffffff; background: #0078d4; border-color: #0078d4; }.theme-light .button-primary:hover{ background: #106ebe; }.theme-light input,
.theme-light select,
.theme-light textarea{ border-color: #b8b8b8; }.theme-light .technical-measure-v1-fields .documentation-field input,
.theme-light .technical-measure-v1-fields .documentation-field select,
.theme-light .technical-measure-v1-fields .documentation-field textarea{ color: #1f1f1f; background: #ffffff; border-color: #b8b8b8; }

/* Arborescence globale façon ANR Tool V1 : navigation et point d'entrée de manipulation. */
.global-tree-nav{ flex: 1; min-height: 0; overflow-y: auto; padding: 12px 9px 13px; color: #526783; scrollbar-width: thin; }
.global-tree-line{ width: 100%; min-height: 29px; padding: 4px 6px; display: grid; grid-template-columns: 16px 22px minmax(0, 1fr) auto; align-items: center; gap: 5px; border: 0; border-radius: 5px; color: #526783; background: transparent; font: inherit; text-align: left; text-decoration: none; cursor: pointer; }
.global-tree-line:hover{ color: #1767ed; background: #f1f6fc; }.global-tree-line.active{ color: #1767ed; background: #e8f2ff; box-shadow: inset 3px 0 0 #1767ed; }
.global-tree-copy{ min-width: 0; display: grid; gap: 1px; }.global-tree-copy strong{ overflow: hidden; color: inherit; font-size: 10px; line-height: 1.18; text-overflow: ellipsis; white-space: nowrap; }.global-tree-copy small{ overflow: hidden; color: #8a9bb0; font-size: 8px; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; }
.global-tree-demo-locked{ color:#7b8796; cursor:not-allowed; }.global-tree-demo-locked:hover{ color:#59697c; background:#f3f5f7; }.global-tree-demo-locked .global-tree-icon{ color:#7b8796; }.global-tree-demo-locked .global-tree-copy small{ color:#a05a00; }.global-tree-lock{ color:#8a9bb0; font-size:12px; line-height:1; }
.global-tree-toggle{ width: 16px; color: #7e91aa; font-size: 13px; line-height: 1; text-align: center; }.tree-spacer{ visibility: hidden; }.global-tree-icon{ width: 17px; height: 17px; display: grid; place-items: center; color: #1767ed; line-height: 1; }.global-tree-icon svg{ width: 15px; height: 15px; display: block; overflow: visible; fill: none; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }.global-tree-icon .icon-fill{ fill: currentColor; stroke: none; opacity: .14; }.global-tree-add{ margin-left: auto; color: #1767ed; opacity: 0; font-size: 15px; line-height: 1; }.global-tree-line:hover .global-tree-add{ opacity: 1; }
.global-tree-project-line{ margin-bottom: 5px; padding-top: 8px; padding-bottom: 8px; border-bottom: 1px solid #e5ebf2; border-radius: 0; }.global-tree-project-line .global-tree-icon{ color: #e5a400; }.global-tree-dashboard{ margin-bottom: 5px; }.global-tree-section{ margin-top: 4px; }.global-tree-branch,
.global-tree-children{ margin-left: 9px; padding-left: 10px; border-left: 1px dotted #b9c7d7; }.global-tree-children{ margin-left: 19px; padding-left: 9px; }.global-tree-children.compact-children{ margin-top: 1px; }.global-tree-branch > .global-tree-line,
.global-tree-children > .global-tree-line{ position: relative; }.global-tree-branch > .global-tree-line::before,
.global-tree-children > .global-tree-line::before{ content: ''; position: absolute; left: -10px; width: 9px; border-top: 1px dotted #b9c7d7; }.global-tree-children > .global-tree-line::before{ left: -9px; width: 8px; }
.menu-collapsed .global-tree-nav{ padding-right: 7px; padding-left: 7px; }.menu-collapsed .global-tree-copy,
.menu-collapsed .global-tree-toggle,
.menu-collapsed .global-tree-add{ display: none; }.menu-collapsed .global-tree-line{ grid-template-columns: 1fr; justify-items: center; padding-right: 3px; padding-left: 3px; }.menu-collapsed .global-tree-branch,
.menu-collapsed .global-tree-children{ margin-left: 0; padding-left: 0; border-left: 0; }.menu-collapsed .global-tree-project-line{ border-bottom: 0; }.menu-collapsed .global-tree-section{ margin-top: 2px; }
@media (max-width: 720px) { .global-tree-nav{ display: flex; flex-direction: column; overflow-x: hidden; }.global-tree-copy small{ display: none; }.global-tree-line{ min-height: 34px; }.global-tree-add{ opacity: 1; } }
.global-tree-nav{ scrollbar-width: thin; scrollbar-color: #a8a8a8 #f3f3f3; -ms-overflow-style: auto; }
.global-tree-nav::-webkit-scrollbar{ width: 9px; height: 9px; display: block; }
.global-tree-nav::-webkit-scrollbar-track{ background: #f3f3f3; }
.global-tree-nav::-webkit-scrollbar-thumb{ border: 2px solid #f3f3f3; border-radius: 8px; background: #a8a8a8; }


/* Session multi-projets */
.global-tree-project + .global-tree-project{ margin-top: 10px; padding-top: 8px; border-top: 1px solid var(--theme-line, #d6d6d6); }
.global-tree-project-actions{ position: sticky; top: -9px; z-index: 6; margin: -9px -7px 8px; padding: 8px 7px 6px; border-bottom: 1px solid #d6d6d6; background: #f3f3f3; }
.global-tree-copy-hint{ margin: 2px 10px 8px; color: #777; font-size: 8px; line-height: 1.35; }
.global-tree-project-header{ position: relative; }.global-tree-project-header .global-tree-project-line{ padding-right: 30px !important; }.global-tree-project-close{ width: 22px; height: 22px; position: absolute; top: 50%; right: 5px; z-index: 2; display: grid; place-items: center; translate: 0 -50%; border: 0; border-radius: 3px; color: #666; background: transparent; font: inherit; font-size: 15px; line-height: 1; cursor: pointer; }.global-tree-project-close:hover:not(:disabled){ color: #9d2020; background: #eadede; }.global-tree-project-close:disabled{ opacity: .25; cursor: default; }
.global-tree-file-actions{ margin: 0 2px 4px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; }
.global-tree-file-actions button{ min-width: 0; height: 29px; position: relative; display: flex; align-items: center; justify-content: center; gap: 5px; padding: 0 5px; border: 1px solid #c8c8c8; border-radius: 2px; color: #3f3f3f; background: #f7f7f7; font: inherit; font-size: 8px; cursor: pointer; }
.global-tree-file-actions button:hover:not(:disabled){ border-color: #8c8c8c; color: #202020; background: #e9e9e9; }
.global-tree-file-actions button:disabled{ color: #8a8a8a; background: #f0f0f0; opacity: .55; cursor: default; }
.global-tree-file-actions svg{ width: 14px; height: 14px; flex: 0 0 14px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.global-tree-save-all.has-pending::after{ content:""; width:5px; height:5px; position:absolute; top:3px; right:3px; border-radius:50%; background:#d17b00; }
.global-tree-operation-message{ margin: 5px 4px 3px; color: #316532; font-size: 8px; line-height: 1.35; }.global-tree-operation-message.error{ color: #a12626; }
.global-tree-project-header .global-tree-project-line{ padding-right: 134px !important; }
.global-tree-project-file-actions{ position: absolute; top: 50%; right: 4px; z-index: 3; display: flex; align-items: center; translate: 0 -50%; }
.global-tree-project-file-actions button{ width: 30px; height: 30px; display: grid; place-items: center; border: 0; border-radius: 2px; color: #4d4d4d; background: transparent; font: inherit; font-size: 17px; line-height: 1; cursor: pointer; }
.global-tree-project-file-actions svg{ width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.global-tree-project-file-actions button:hover{ color: #222; background: #e2e2e2; }
.global-tree-project-file-actions .project-collapse-button{ color: #526783; }
.global-tree-project-file-actions .global-tree-project-close{ position: static; translate: none; }
.project-dirty-mark{ margin-left: 3px; color: #d17b00; font-size: 6px; font-style: normal; vertical-align: middle; }
.project-import-preview{ overflow: hidden; }.project-import-preview img{ width: 100%; height: 100%; display: block; object-fit: contain; }

/* Sélecteur du module actif */
.module-selector-button{ width: auto !important; min-width: 174px; height: 38px !important; padding: 5px 9px !important; display: grid; grid-template-columns: 25px minmax(0,1fr) 12px; align-items: center; gap: 8px; border-radius: 3px !important; text-align: left; }
.module-selector-button:hover{ border-color: #8a8a8a; background: #e4e4e4 !important; }
.module-selector-copy{ min-width: 0; display: grid; gap: 1px; line-height: 1.05; }.module-selector-copy small{ color: #737373; font-size: 7px; font-weight: 700; letter-spacing: .09em; }.module-selector-copy strong{ overflow: hidden; color: #292929; font-size: 10px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.module-selector-chevron{ color: #666; font-size: 10px; text-align: right; }
.module-selector-button .module-cubes{ width: 23px; height: 23px; }.module-selector-button .module-cubes i{ width: 8px; height: 8px; border: 0; border-radius: 2px; background: #6d6d6d !important; }.module-selector-button .module-cubes i:nth-child(1){ left: 1px; top: 12px; }.module-selector-button .module-cubes i:nth-child(2){ left: 11px; top: 12px; }.module-selector-button .module-cubes i:nth-child(3){ left: 11px; top: 2px; }.module-selector-button .module-cubes i.detached{ left: 18px; top: 0; background: #2878b5 !important; transform: rotate(12deg) translateY(-2px); }

/* Menu blanc et redimensionnement direct sans latence de rendu. */
.theme-light .anr-sidebar,
.theme-light .global-tree-nav,
.theme-light .global-tree-project-actions,
.theme-light .sidebar-footer{ background: #ffffff !important; }
.anr-sidebar{ transition: none !important; will-change: width, flex-basis; }
.menu-resizing .anr-sidebar{ transition: none !important; }
.menu-resizing .anr-main{ pointer-events: none; }

/* Arborescence regroupée et défilement fiable dans la hauteur de la fenêtre. */
.dashboard-reference-grid.dashboard-without-preview{ grid-template-columns: minmax(0, 1fr); }
.dashboard-reference-grid.dashboard-without-preview .dashboard-reference-main{ grid-column: 1; grid-row: 1; }

/* Statut global du projet : lecture séquentielle du cycle métier. */
.dashboard-project-status{ margin-top:10px; padding:0; overflow:hidden; }
.dashboard-status-summary{ min-height:92px; padding:14px 17px; display:grid; grid-template-columns:42px minmax(0,1fr) 120px; gap:13px; align-items:center; border-left:4px solid currentColor; }
.dashboard-status-icon{ width:38px; height:38px; display:grid; place-items:center; border:1px solid currentColor; }
.dashboard-status-icon .global-tree-icon{ width:23px; height:23px; }
.dashboard-status-copy{ min-width:0; display:grid; gap:3px; }
.dashboard-status-copy > small{ font-size:8px; font-weight:700; letter-spacing:.08em; }
.dashboard-status-copy h2{ margin:0; font-size:17px; line-height:1.2; }
.dashboard-status-copy p{ max-width:980px; margin:0; font-size:9px; line-height:1.45; }
.dashboard-status-progress{ min-height:50px; padding-left:15px; display:grid; align-content:center; border-left:1px solid currentColor; }
.dashboard-status-progress strong{ font-size:22px; line-height:1; }
.dashboard-status-progress span{ margin-top:4px; font-size:8px; }
.dashboard-workflow{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border-top:1px solid; border-bottom:1px solid; }
.dashboard-workflow-stage{ min-width:0; min-height:62px; padding:9px 10px; display:grid; grid-template-columns:25px minmax(0,1fr); gap:7px; align-items:center; border-left:1px solid; color:inherit; text-decoration:none; }
.dashboard-workflow-stage:first-child{ border-left:0; }
.dashboard-workflow-stage > b{ width:23px; height:23px; display:grid; place-items:center; border:1px solid; font-size:9px; }
.dashboard-workflow-stage > span{ min-width:0; display:grid; gap:2px; }
.dashboard-workflow-stage strong{ font-size:9px; }
.dashboard-workflow-stage small{ overflow:hidden; font-size:7px; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.dashboard-primary-action{ min-height:48px; padding:8px 14px 8px 17px; display:flex; align-items:center; justify-content:space-between; gap:14px; }
.dashboard-primary-action > span{ min-width:0; display:grid; gap:2px; }
.dashboard-primary-action > span b{ font-size:8px; text-transform:uppercase; }
.dashboard-primary-action > span strong{ font-size:9px; }
.dashboard-primary-action .button{ flex:0 0 auto; min-height:31px; }
.dashboard-completeness{ min-width:0; display:flex; flex-direction:column; }
.dashboard-completeness-total{ min-width:58px; display:flex; align-items:baseline; justify-content:flex-end; gap:4px; }
.dashboard-completeness-total b{ font-size:18px; line-height:1; }
.dashboard-completeness-total small{ font-size:8px; }
.dashboard-completeness-empty{ min-height:132px; display:flex; align-items:center; justify-content:center; gap:9px; }
.dashboard-completeness-empty .global-tree-icon{ width:24px; height:24px; }
.dashboard-completeness-empty span{ display:grid; gap:2px; }
.dashboard-completeness-empty strong{ font-size:10px; }
.dashboard-completeness-empty small{ font-size:8px; }
.dashboard-check-groups{ min-height:0; border-bottom:1px solid; }
.dashboard-check-group{ border-top:1px solid; }
.dashboard-check-group > summary{ min-height:43px; padding:7px 4px; display:grid; grid-template-columns:22px minmax(0,1fr) 28px 12px; align-items:center; gap:8px; cursor:pointer; list-style:none; }
.dashboard-check-group > summary::-webkit-details-marker{ display:none; }
.dashboard-check-group > summary .global-tree-icon{ width:17px; height:17px; }
.dashboard-check-group > summary > span{ min-width:0; display:grid; gap:2px; }
.dashboard-check-group > summary strong{ font-size:10px; }
.dashboard-check-group > summary small{ font-size:8px; }
.dashboard-check-group > summary > b{ font-size:13px; text-align:right; }
.dashboard-check-group > summary > i{ font-size:15px; font-style:normal; transition:transform .12s ease; }
.dashboard-check-group[open] > summary > i{ transform:rotate(90deg); }
.dashboard-check-items{ max-height:210px; overflow-y:auto; scrollbar-width:thin; }
.dashboard-check-item{ min-height:44px; padding:7px 5px 7px 31px; display:grid; grid-template-columns:18px minmax(0,1fr) 12px; align-items:center; gap:8px; border-top:1px solid; text-decoration:none; }
.dashboard-check-marker{ width:16px; height:16px; display:grid; place-items:center; border:1px solid; border-radius:50%; font-size:9px; font-weight:800; }
.dashboard-check-item > span:nth-child(2){ min-width:0; display:grid; gap:2px; }
.dashboard-check-item strong{ overflow:hidden; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.dashboard-check-item small{ overflow:hidden; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.dashboard-check-item > i{ font-size:15px; font-style:normal; }
@container (max-width:1000px){
    .dashboard-status-summary{ grid-template-columns:38px minmax(0,1fr); }
    .dashboard-status-progress{ grid-column:2; min-height:0; padding:0; display:flex; align-items:baseline; gap:7px; border-left:0; }
    .dashboard-status-progress strong{ font-size:16px; }
    .dashboard-workflow{ grid-template-columns:repeat(2,minmax(0,1fr)); }
    .dashboard-workflow-stage{ border-top:1px solid; }
}
@container (max-width:600px){
    .dashboard-status-summary{ grid-template-columns:1fr; }
    .dashboard-status-icon{ display:none; }
    .dashboard-status-progress{ grid-column:1; }
    .dashboard-workflow{ grid-template-columns:1fr; }
    .dashboard-workflow-stage{ border-left:0; }
    .dashboard-primary-action{ align-items:flex-start; flex-direction:column; }
}

@media (min-width: 721px){
    html, body, #app{ height: 100%; overflow: hidden; }
    .anr-shell{ height: 100vh !important; min-height: 0 !important; overflow: hidden !important; }
    .anr-content{ height: calc(100vh - 58px) !important; min-height: 0 !important; }
    .anr-sidebar{ height: 100%; min-height: 0; display: grid; grid-template-rows: minmax(0, 1fr) auto; }
    .anr-main{ height: 100%; min-height: 0; }
    .anr-main{ overflow-x: hidden; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #a8a8a8 #f3f3f3; }
    .global-tree-nav{ min-height: 0; max-height: 100%; overflow-x: hidden; overflow-y: scroll !important; scrollbar-gutter: stable; }
    .anr-main::-webkit-scrollbar{ width: 10px; }
    .anr-main::-webkit-scrollbar-track{ background: #f3f3f3; }
    .anr-main::-webkit-scrollbar-thumb{ border: 2px solid #f3f3f3; border-radius: 8px; background: #a8a8a8; }
}

/* Accueil affiché lorsque tous les projets sont fermés. */
@media (min-width: 721px){
    .anr-main-scroll:has(.project-welcome-page){ overflow-y: hidden; }
    .anr-page:has(.project-welcome-page){
        height: 100%;
        min-height: 0;
        padding-top: 16px !important;
        padding-bottom: 16px !important;
    }
}
.project-welcome-page{
    width: min(760px, calc(100% - 48px));
    height: 100%;
    min-height: 0;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #252525;
    text-align: center;
    transition: background-color .12s ease, outline-color .12s ease;
}
.project-welcome-page.is-project-drag-over{
    outline: 2px dashed #126fd1;
    outline-offset: -8px;
    background: #edf6ff;
}
.project-welcome-page.is-project-drag-over .project-welcome-open{
    border-color: #0f62b8;
    background: #0f62b8;
}
.project-welcome-mark{
    width: 68px;
    height: 68px;
    margin-bottom: 14px;
    display: grid;
    place-items: center;
}
.project-welcome-mark img{ width: 100%; height: 100%; display: block; }
.project-welcome-kicker{
    color: #666666;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .16em;
}
.project-welcome-page h1{
    margin: 8px 0 10px;
    color: #1f1f1f;
    font-size: 30px;
    font-weight: 600;
    line-height: 1.2;
}
.project-welcome-page > p{
    max-width: 600px;
    margin: 0;
    color: #5b5b5b;
    font-size: 15px;
    line-height: 1.55;
}
.project-welcome-open{
    min-width: 290px;
    margin-top: 20px;
    padding: 11px 18px;
    display: flex;
    align-items: center;
    gap: 13px;
    color: #ffffff;
    text-align: left;
    border: 1px solid #126fd1;
    border-radius: 3px;
    background: #126fd1;
}
.project-welcome-open:hover{ background: #0f62b8; border-color: #0f62b8; }
.project-welcome-open > span:first-child{ font-size: 22px; font-weight: 300; line-height: 1; }
.project-welcome-open strong,
.project-welcome-open small{ display: block; }
.project-welcome-open strong{ color: #ffffff !important; font-size: 14px; font-weight: 600; }
.project-welcome-open small{ margin-top: 2px; color: rgba(255,255,255,.82) !important; font-size: 11px; }
.project-welcome-new{ margin-top: 10px; padding: 7px 14px; border: 1px solid #bdbdbd; border-radius: 2px; color: #333; background: #fff; font: inherit; font-size: 11px; cursor: pointer; }
.project-welcome-new:hover{ border-color: #858585; background: #ededed; }
.project-welcome-message{ margin: 12px 0 0 !important; color: #3b6f3c !important; font-size: 11px !important; }.project-welcome-message.error{ color: #a12626 !important; }
.project-welcome-features{
    width: 100%;
    margin-top: 34px;
    padding-top: 16px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid #d8d8d8;
}
.project-welcome-features > span{
    min-width: 0;
    padding: 5px 20px;
    display: grid;
    grid-template-columns: 24px 1fr;
    column-gap: 8px;
    color: #333333;
    text-align: left;
}
.project-welcome-features > span + span{ border-left: 1px solid #e0e0e0; }
.project-welcome-features .global-tree-icon{
    grid-row: 1 / 3;
    color: #1683ff;
    font-size: 19px;
    font-style: normal;
}
.project-welcome-features b{ font-size: 13px; font-weight: 600; }
.project-welcome-features small{ margin-top: 2px; color: #6a6a6a; font-size: 11px; }
@media (max-width: 720px){
    .project-welcome-page{ width: calc(100% - 28px); min-height: 520px; }
    .project-welcome-features{ grid-template-columns: 1fr; gap: 14px; }
    .project-welcome-features > span + span{ border-left: 0; }
}

/* Ascenseur de l'arborescence : volontairement permanent et visible. */
.global-tree-nav{
    margin-right: 8px;
    scrollbar-width: auto !important;
    scrollbar-color: #666666 #dedede !important;
}
.global-tree-nav::-webkit-scrollbar{
    width: 14px !important;
    height: 14px !important;
    display: block !important;
    background: #dedede !important;
}
.global-tree-nav::-webkit-scrollbar-track{
    background: #dedede !important;
    border-left: 1px solid #c4c4c4;
}
.global-tree-nav::-webkit-scrollbar-thumb{
    min-height: 48px;
    border: 3px solid #dedede !important;
    border-radius: 8px;
    background: #666666 !important;
}
.global-tree-nav::-webkit-scrollbar-thumb:hover{
    background: #444444 !important;
}

/* La poignée de largeur ne doit jamais intercepter la scrollbar du menu. */
.sidebar-resize-handle{
    width: 6px;
    right: -3px;
}

/* Méthode active : lecture détaillée du snapshot propre au projet. */
.criteria-method-overview{ padding: 16px; }
.criteria-method-metadata{ margin-top: 12px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border: 1px solid #d6d6d6; }
.criteria-method-metadata > div{ min-width: 0; padding: 10px 12px; display: grid; gap: 3px; }
.criteria-method-metadata > div:not(:nth-child(3n+1)){ border-left: 1px solid #e1e1e1; }
.criteria-method-metadata > div:nth-child(n+4){ border-top: 1px solid #e1e1e1; }
.criteria-method-metadata small{ color: #686868; font-size: 8px; }
.criteria-method-metadata strong{ overflow: hidden; color: #282828; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.criteria-method-layout{ margin-top: 12px; display: grid; grid-template-columns: minmax(0,1fr) 330px; gap: 12px; align-items: start; }
.criteria-definition-panel,.criteria-method-card{ padding: 15px; }
.criteria-definition-list{ display: grid; gap: 10px; }
.criteria-definition-card{ overflow: hidden; border: 1px solid #d6d6d6; background: #fff; }
.criteria-definition-card header{ min-height: 48px; padding: 8px 10px; display: grid; grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; gap: 9px; background: #f3f3f3; border-bottom: 1px solid #d6d6d6; }
.criteria-definition-card header .criterion-code{ width: 30px; height: 30px; display: grid; place-items: center; border: 0; border-radius: 2px; font-size: 10px; }
.criteria-definition-card header strong,.criteria-definition-card header small{ display: block; }
.criteria-definition-card header strong{ font-size: 10px; font-weight: 600; }
.criteria-definition-card header small{ margin-top: 2px; color: #696969; font-size: 8px; font-weight: 400; }
.criteria-definition-card header em{ color: #666; font-size: 8px; font-style: normal; }
.criteria-option-table > div{ min-height: 34px; padding: 6px 10px; display: grid; grid-template-columns: 72px 44px minmax(130px,1fr) minmax(0,1.2fr); align-items: center; gap: 8px; border-top: 1px solid #ededed; }
.criteria-option-table > div:first-child{ border-top: 0; }
.criteria-option-table code{ color: #555; font: inherit; font-size: 8px; }
.criteria-option-table b{ min-height: 22px; display: grid; place-items: center; border-radius: 2px; font-size: 9px; }
.criteria-option-table span{ color: #2c2c2c; font-size: 9px; }
.criteria-option-table small{ color: #707070; font-size: 8px; }
.criteria-method-sidebar{ display: grid; gap: 12px; }
.criteria-method-card .reference-panel-heading{ margin-bottom: 10px; }
.criteria-calculation-row{ padding: 9px 0; display: grid; gap: 6px; border-top: 1px solid #e2e2e2; }
.criteria-calculation-row:first-of-type{ border-top: 0; }
.criteria-calculation-row span strong,.criteria-calculation-row span small{ display: block; }
.criteria-calculation-row span strong{ font-size: 10px; }.criteria-calculation-row span small{ color: #707070; font-size: 8px; }
.criteria-calculation-row code{ padding: 7px 8px; color: #313131; background: #f1f1f1; font: inherit; font-size: 8px; }
.criteria-scale-block + .criteria-scale-block{ margin-top: 12px; padding-top: 12px; border-top: 1px solid #d6d6d6; }
.criteria-scale-block > strong{ display: block; margin-bottom: 6px; font-size: 10px; }.criteria-scale-block > strong small{ color: #777; font-size: 8px; font-weight: 400; }
.criteria-scale-block > p{ margin:0 0 7px; color:#626b75; font-size:8px; line-height:1.4; }
.criteria-scale-block > div{ min-height: 27px; display: grid; grid-template-columns: 48px 1fr; align-items: center; gap: 7px; border-top: 1px solid #ededed; }
.criteria-scale-block > div b{ min-height: 19px; display: grid; place-items: center; border-radius: 2px; font-size: 8px; }.criteria-scale-block > div span{ padding:4px 0; display:grid; gap:2px; font-size:8px; }.criteria-scale-block > div span small{ color:#727a83; font-size:7px; line-height:1.3; }
.criteria-rule-row{ padding: 9px 0; display: grid; gap: 3px; border-top: 1px solid #e2e2e2; }.criteria-rule-row:first-of-type{ border-top: 0; }
.criteria-rule-row strong{ font-size: 9px; font-weight: 600; }.criteria-rule-row small{ color: #707070; font-size: 8px; }
@media (max-width:1500px){ .criteria-method-layout{ grid-template-columns: 1fr; }.criteria-method-sidebar{ grid-row: 1; grid-template-columns: repeat(3,minmax(0,1fr)); }.criteria-definition-panel{ grid-row: 2; } }
@media (max-width:720px){ .criteria-method-metadata{ grid-template-columns: 1fr; }.criteria-method-metadata > div{ border-left: 0 !important; border-top: 1px solid #e1e1e1; }.criteria-method-metadata > div:first-child{ border-top: 0; }.criteria-method-sidebar{ grid-template-columns: 1fr; }.criteria-option-table > div{ grid-template-columns: 62px 40px 1fr; }.criteria-option-table small{ grid-column: 1 / -1; } }

/* Shared deletion pattern: all entity delete controls belong at the far right of the page heading. */
.entity-heading-actions{ margin-left: auto; display: flex; align-items: flex-start; justify-content: flex-end; gap: 9px; }
.entity-delete-control{ display: grid; justify-items: end; gap: 4px; }
.entity-delete-control small{ max-width: 300px; color: #707070; font-size: 9px; line-height: 1.35; text-align: right; }
.button-danger{ border: 1px solid #a4262c; color: #a4262c; background: transparent; box-shadow: none; }
.button-danger:hover:not(:disabled){ color: #fff; background: #a4262c; }
.button-danger:disabled{ border-color: #c8c8c8; color: #8a8a8a; background: #f2f2f2; cursor: not-allowed; opacity: 1; }
@media (max-width:720px){ .entity-heading-actions{ width: 100%; align-items: stretch; flex-direction: column; }.entity-delete-control{ justify-items: stretch; }.entity-delete-control small{ max-width: none; text-align: left; } }

.technical-measure-media-heading{ min-height: 25px; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.technical-measure-media-actions{ display: flex; align-items: center; gap: 2px; }
.media-expand-button{ min-width: 25px; height: 25px; padding: 0 6px; display: grid; place-items: center; border: 0; color: #555; background: transparent; font: inherit; font-size: 11px; cursor: pointer; }
.media-expand-button:hover{ color: #1f1f1f; background: #e8e8e8; }
.media-remove-button{ width: 25px; height: 25px; padding: 0; display: grid; place-items: center; border: 0; color: #a4262c; background: transparent; cursor: pointer; }
.media-remove-button:hover{ color: #7f1d22; background: #f3e7e8; }
.media-remove-button svg{ width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }

.technical-measure-v1-media .technical-measure-documents{ grid-column: 1 / -1; min-width: 0; margin-top: 8px; padding-top: 11px; display: grid; grid-template-rows: auto minmax(0,1fr) auto auto; gap: 8px; border-top: 1px solid #d6d6d6; }
.technical-measure-media-count{ min-width: 18px; height: 18px; margin-left: 4px; padding: 0 5px; display: inline-grid; place-items: center; border: 1px solid #b8b8b8; color: #555; background: #f3f3f3; font-size: 8px; font-weight: 600; vertical-align: 1px; }
.technical-measure-document-frame{ height: 275px; min-width: 0; min-height: 0; display: grid; grid-template-rows: minmax(0,1fr) auto; overflow: hidden; border: 1px solid #b8b8b8; background: #fafafa; }
.technical-measure-document-viewer{ min-width: 0; min-height: 0; overflow: hidden; background: #e9e9e9; }
.technical-measure-document-viewer iframe{ width: 100%; height: 100%; min-width: 0; min-height: 0; display: block; border: 0; background: #fff; }
.technical-measure-document-viewer > div{ width: 100%; height: 100%; min-height: 0; display: grid; place-content: center; justify-items: center; gap: 8px; color: #666; font-size: 9px; }
.technical-measure-document-viewer > .step-document-viewer{ position:relative; display:block; place-content:normal; overflow:hidden; color:#444; background:#eef0f2; }
.step-viewer-shell{ width:100%; height:100%; min-height:0; position:relative; overflow:hidden; background:#eef0f2; }
.step-viewer-shell canvas{ width:100%; height:100%; display:block; touch-action:none; cursor:grab; }
.step-viewer-shell canvas:active{ cursor:grabbing; }
.step-viewer-toolbar{ position:absolute; top:8px; right:8px; display:flex; gap:4px; }
.step-viewer-toolbar button{ width:28px; height:28px; padding:0; display:grid; place-items:center; border:1px solid #9b9b9b; color:#252525; background:rgba(255,255,255,.94); font:inherit; font-size:15px; cursor:pointer; }
.step-viewer-toolbar button:hover{ border-color:#666; background:#fff; }
.step-viewer-help{ position:absolute; right:8px; bottom:7px; padding:4px 7px; color:#444; background:rgba(255,255,255,.9); border:1px solid #c8c8c8; font-size:8px; pointer-events:none; }
.step-viewer-loading{ width:100%; height:100%; display:grid; place-items:center; color:#555; font-size:9px; }
.step-viewer-error{ width:100%; height:100%; padding:20px; display:grid; place-content:center; justify-items:center; gap:5px; text-align:center; }
.step-viewer-error strong{ color:#a4262c; font-size:10px; }
.step-viewer-error span{ max-width:520px; color:#666; font-size:8px; }
.pdf-document-icon{ width: 31px; height: 35px; display: grid; place-items: center; color: #a4262c; background: #fff; border: 1px solid #c8c8c8; font-size: 8px; font-weight: 800; }
.pdf-document-icon.large{ width: 46px; height: 52px; font-size: 11px; }
.technical-measure-document-tabs{ min-width: 0; min-height: 52px; padding: 5px; display: flex; gap: 6px; overflow-x: auto; border-top: 1px solid #b8b8b8; background: #f3f3f3; scrollbar-width: thin; }
.technical-measure-document-tabs button{ min-width: 150px; max-width: 220px; height: 42px; padding: 4px 7px; flex: 0 0 auto; display: grid; grid-template-columns: 27px minmax(0,1fr); align-items: center; gap: 7px; border: 1px solid #b8b8b8; color: #252525; background: #fff; text-align: left; cursor: pointer; }
.technical-measure-document-tabs button.selected{ border-color: #0078d4; background: #dbeeff; box-shadow: inset 0 0 0 1px #0078d4; }
.technical-measure-document-tabs button > span:first-child{ width: 27px; height: 31px; display: grid; place-items: center; color: #a4262c; background: #fff; border: 1px solid #c8c8c8; font-size: 7px; font-weight: 800; }
.technical-measure-document-tabs button > span:last-child{ min-width: 0; }
.technical-measure-document-tabs strong,.technical-measure-document-tabs small{ display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.technical-measure-document-tabs strong{ font-size: 9px; font-weight: 600; }.technical-measure-document-tabs small{ margin-top: 2px; color: #707070; font-size: 8px; }
.technical-measure-document-caption{ min-width: 0; height: 31px; padding: 7px 9px; overflow: hidden; border-top: 1px solid #b8b8b8; color: #707070; background: #fff; font-size: 9px; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.technical-measure-document-message{ margin: 0; padding: 6px 8px; border-left: 3px solid #0078d4; color: #444; background: #f3f3f3; font-size: 9px; }
.documentation-source-actions{ min-width:0; display:grid; grid-template-columns:minmax(0,1fr); gap:8px; align-items:end; }
.documentation-source-actions.has-capture-actions{ grid-template-columns:minmax(220px,1fr) repeat(2,minmax(145px,190px)); }
.documentation-file-import{ min-width:0; }
.documentation-source-button{ min-height:43px; padding:5px 10px; display:flex; align-items:center; gap:9px; border:1px solid #9f9f9f; color:#252525; background:#f3f3f3; font:inherit; text-align:left; cursor:pointer; }
.documentation-source-button:hover{ border-color:#707070; background:#e8e8e8; }
.documentation-source-button:disabled{ color:#777; background:#ededed; cursor:wait; opacity:.72; }
.documentation-source-button svg{ width:21px; height:21px; flex:0 0 21px; fill:none; stroke:#0078d4; stroke-width:1.55; stroke-linecap:round; stroke-linejoin:round; }
.documentation-clipboard-button svg{ stroke:#7040b8; }
.documentation-source-button span{ min-width:0; display:grid; gap:1px; }
.documentation-source-button strong{ color:#252525; font-size:9px; font-weight:600; }
.documentation-source-button small{ color:#666; font-size:8px; }
.documentation-camera-backdrop{ position:fixed; inset:0; z-index:1200; padding:24px; display:grid; place-items:center; background:rgba(0,0,0,.58); }
.documentation-camera-dialog{ width:min(860px,100%); max-height:calc(100vh - 48px); display:grid; grid-template-rows:auto minmax(260px,1fr) auto; overflow:hidden; border:1px solid #8e8e8e; background:#fff; }
.documentation-camera-dialog > header{ min-height:52px; padding:9px 12px; display:flex; align-items:center; justify-content:space-between; gap:12px; border-bottom:1px solid #c8c8c8; }
.documentation-camera-dialog > header div{ min-width:0; display:grid; gap:2px; }
.documentation-camera-dialog > header h3{ margin:0; color:#252525; font-size:13px; font-weight:600; }
.documentation-camera-dialog > header small{ overflow:hidden; color:#666; font-size:8.5px; text-overflow:ellipsis; white-space:nowrap; }
.documentation-camera-dialog > header button{ width:30px; height:30px; padding:0; display:grid; place-items:center; border:0; color:#555; background:transparent; font:inherit; font-size:19px; cursor:pointer; }
.documentation-camera-dialog > header button:hover{ color:#202020; background:#e8e8e8; }
.documentation-camera-stage{ min-width:0; min-height:0; position:relative; display:grid; place-items:center; overflow:hidden; background:#202020; }
.documentation-camera-stage video,
.documentation-camera-stage > img{ width:100%; height:100%; min-height:260px; max-height:calc(100vh - 180px); display:block; object-fit:contain; background:#202020; }
.documentation-camera-state{ max-width:440px; padding:24px; position:absolute; inset:auto; display:grid; justify-items:center; gap:7px; color:#eee; text-align:center; }
.documentation-camera-state .global-tree-icon{ width:38px; height:38px; color:#54a8e8; }
.documentation-camera-state strong{ font-size:11px; font-weight:600; }
.documentation-camera-state small{ color:#c8c8c8; font-size:8.5px; line-height:1.45; }
.documentation-camera-state.is-error strong{ color:#ff6262; }
.documentation-camera-dialog > footer{ min-height:54px; padding:9px 12px; display:flex; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid #c8c8c8; background:#f5f5f5; }
.documentation-camera-dialog > footer > div{ display:flex; align-items:center; gap:6px; }
.documentation-camera-privacy{ color:#666; font-size:8.5px; }
.icon-camera{ color:#0078d4; }
@container (max-width:700px){
    .documentation-source-actions.has-capture-actions{ grid-template-columns:repeat(2,minmax(0,1fr)); }
    .documentation-source-actions.has-capture-actions .documentation-file-import{ grid-column:1 / -1; }
    .documentation-source-button{ width:100%; }
}
@container (max-width:390px){
    .documentation-source-actions.has-capture-actions{ grid-template-columns:1fr; }
    .documentation-source-actions.has-capture-actions .documentation-file-import{ grid-column:auto; }
}
@media (max-width:720px){
    .documentation-source-actions.has-capture-actions{ grid-template-columns:1fr; }
    .documentation-source-button{ width:100%; }
    .documentation-camera-backdrop{ padding:8px; }
    .documentation-camera-dialog{ max-height:calc(100vh - 16px); }
    .documentation-camera-dialog > footer{ align-items:stretch; flex-direction:column; }
    .documentation-camera-dialog > footer > div{ justify-content:flex-end; }
}

/* Risques regroupés par mode et PLr lisible directement dans l'arborescence. */
.tree-risk-mode-line{ cursor:default; }
.tree-risk-mode-line .global-tree-toggle{ padding:0; border:0; background:transparent; font:inherit; cursor:pointer; }
.tree-section-risks a[data-tree-kind="R"]{ grid-template-columns:13px 17px auto minmax(0,1fr) auto !important; }
.tree-risk-plr{ min-width:34px; padding:2px 4px; justify-self:start; color:var(--risk-plr-light,#555); border:1px solid var(--risk-plr-light,#888); background:var(--risk-plr-light-surface,#f1f1f1); font-size:7px; font-weight:700; line-height:1; text-align:center; white-space:nowrap; }
.tree-risk-plr.incomplete{ color:#6e6e6e; border-color:#b8b8b8; background:#f2f2f2; }
.menu-collapsed .tree-risk-plr{ display:none; }
.document-text-preview{ width:100%; height:100%; margin:0; padding:14px; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; color:#252525; background:#fafafa; font-size:11px; text-align:left; }
.technical-measure-document-viewer > .document-download-preview{ padding:18px; text-align:center; overflow:auto; }
.document-download-preview strong{ max-width:100%; overflow-wrap:anywhere; }
.document-download-preview > span:not(.case-document-icon){ max-width:520px; line-height:1.5; }
.document-download-preview small{ max-width:520px; color:#666; }
.annex-documents-page > .technical-measure-documents{ margin-top:14px; padding-top:0; border-top:0; }
.annex-documents-page .technical-measure-document-frame{ height:clamp(320px,55vh,650px); }
.annex-documents-page .technical-measure-document-tabs{ flex-wrap:wrap; max-height:160px; overflow:auto; }
.annex-formats-help{ margin-top:15px; color:#555; font-size:10px; line-height:1.6; }
.annex-formats-help summary{ cursor:pointer; color:#1767ed; }
.annex-formats-help p{ margin:7px 0; }
.technical-measure-documents.is-expanded{ position: fixed; inset: 12px; z-index: 1000; margin: 0 !important; padding: 62px 15px 15px !important; display: grid; grid-template-rows: minmax(0,1fr) auto auto; gap: 10px; overflow: hidden; border: 1px solid #a6a6a6; background: #fff; }
.technical-measure-documents.is-expanded .technical-measure-media-heading{ min-height: 49px; padding: 0 15px; position: absolute; inset: 0 0 auto; z-index: 3; display: flex; background: #fff; border-bottom: 1px solid #cfcfcf; }
.technical-measure-documents.is-expanded .technical-measure-media-title{ color: #252525; font-size: 14px; font-weight: 600; }
.technical-measure-documents.is-expanded .technical-measure-media-actions{ position: relative; z-index: 4; }
.technical-measure-documents.is-expanded .media-expand-button{ width: auto; min-width: 90px; border: 1px solid #8a8a8a; color: #252525; background: #fff; font-weight: 600; }
.technical-measure-documents.is-expanded .technical-measure-document-frame{ width: 100%; height: 100%; min-height: 0; }
.technical-measure-documents.is-expanded .technical-measure-document-tabs{ max-height: 58px; }
.technical-measure-documents.is-expanded .technical-measure-document-viewer,
.technical-measure-documents.is-expanded .technical-measure-document-viewer iframe{ width: 100%; height: 100%; min-height: 0; }
.technical-measure-media-column.is-expanded{ position: fixed; inset: 12px; z-index: 1000; margin: 0; padding: 62px 15px 15px; display: grid; grid-template-rows: minmax(0,1fr) auto; gap: 10px; overflow: hidden; border: 1px solid #a6a6a6; background: #fff; }
.technical-measure-media-column.is-expanded .technical-measure-media-heading{ min-height: 49px; padding: 0 15px; position: absolute; inset: 0 0 auto; z-index: 3; display: flex; background: #fff; border-bottom: 1px solid #cfcfcf; }
.technical-measure-media-column.is-expanded .technical-measure-media-title{ color: #252525; font-size: 14px; font-weight: 600; }
.technical-measure-media-column.is-expanded .technical-measure-media-actions{ position: relative; z-index: 4; }
.technical-measure-media-column.is-expanded .media-expand-button{ width: auto; min-width: 90px; border: 1px solid #8a8a8a; color: #252525; background: #fff; font-weight: 600; }
.technical-measure-media-column.is-expanded .technical-measure-media-box{ width: 100%; height: 100%; min-width: 0; min-height: 0; overflow: hidden; }
.technical-measure-media-column.is-expanded .technical-measure-media-box img{ width: 100%; height: 100%; min-width: 0; min-height: 0; max-width: 100%; max-height: 100%; display: block; object-fit: contain; }
.technical-measure-media-column.is-expanded .documentation-field{ width: 100%; }
.technical-measure-image-gallery{ grid-column: 1 / -1; grid-template-rows: auto minmax(255px,1fr) auto auto auto; }
.technical-measure-image-gallery .technical-measure-media-box{ min-height: 255px; }
.technical-measure-image-gallery .technical-measure-media-box img{ max-height: 220px; }
.technical-measure-image-thumbnails{ min-width: 0; padding: 5px; display: flex; gap: 6px; overflow-x: auto; border: 1px solid #b8b8b8; background: #f3f3f3; scrollbar-width: thin; }
.technical-measure-image-thumbnails button{ width: 54px; height: 42px; flex: 0 0 54px; padding: 2px; border: 1px solid #b8b8b8; background: #fff; cursor: pointer; }
.technical-measure-image-thumbnails button.selected{ border-color: #0078d4; box-shadow: inset 0 0 0 1px #0078d4; }
.technical-measure-image-thumbnails img{ width: 100%; height: 100%; display: block; object-fit: cover; }
.technical-measure-image-gallery.is-expanded{ grid-template-rows: minmax(0,1fr) auto auto auto; }
.technical-measure-image-gallery.is-expanded .technical-measure-media-box{ grid-template-rows: minmax(0,1fr) auto; align-content: stretch; }
.technical-measure-image-gallery.is-expanded .technical-measure-image-thumbnails{ max-height: 58px; }

/* Fiche MT : une même typographie pour les intitulés des données et des médias. */
.technical-measure-v1-card .technical-measure-title-text{
    color: #1767ed;
    font-family: inherit;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.25;
}
.generalities-documentation-section > .technical-measure-documents{ margin-top:0; padding-top:0; border-top:0; }
.generalities-documentation-section .technical-measure-document-frame{ height:320px; }
.generalities-documentation-section .technical-measure-document-tabs .case-document-tab{ min-width:150px; }
@media (max-width:900px){
    .technical-measure-v1-media .technical-measure-documents{ grid-column: 1 / -1; }
    .technical-measure-v1-media .technical-measure-documents:not(.is-expanded) .technical-measure-document-frame{ height: 280px; }
}

/* Barre d’état principale : alignée sur le footer de l’arborescence, façon Visual Studio. */
.anr-shell{ --workspace-footer-height: 24px; }
.sidebar-footer,
.main-status-footer{
    height: var(--workspace-footer-height);
    min-height: var(--workspace-footer-height);
}
.sidebar-footer,
.theme-light .sidebar-footer{
    padding: 0 9px !important;
    display: flex;
    align-items: center;
    position: relative;
    z-index: 3;
    overflow: visible;
    border-top-color: #041b46 !important;
    background: #041b46 !important;
}
.main-status-footer{
    min-width: 0;
    padding: 0 9px;
    display: grid;
    grid-template-columns: auto;
    justify-content: end;
    align-items: center;
    gap: 14px;
    border-top: 1px solid #041b46;
    color: #fff;
    background: #041b46;
    font-size: 8px;
}
.main-status-message{
    width: max-content;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 6px;
    color: #fff;
    font-size: 8px;
}
.main-status-message > span:last-child{
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.main-status-icon{
    width: 12px;
    height: 12px;
    flex: 0 0 12px;
    display: grid;
    place-items: center;
    color: #fff;
}
.main-status-icon svg{
    width: 11px;
    height: 11px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.25;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.main-status-icon.is-loading{
    font-size: 13px;
    animation: main-status-spin .9s linear infinite;
}
.main-status-icon.is-loading > span{ display: block; line-height: 1; }
@keyframes main-status-spin{ to{ transform: rotate(360deg); } }
@media (min-width: 721px){
    .anr-main{
        display: grid;
        grid-template-rows: minmax(0, 1fr) var(--workspace-footer-height);
        overflow: hidden !important;
    }
    .anr-main-scroll{
        min-height: 0;
        overflow-x: hidden;
        overflow-y: auto;
        scrollbar-width: thin;
        scrollbar-color: #a8a8a8 #f3f3f3;
    }
    .anr-main-scroll::-webkit-scrollbar{ width: 10px; }
    .anr-main-scroll::-webkit-scrollbar-track{ background: #f3f3f3; }
    .anr-main-scroll::-webkit-scrollbar-thumb{
        border: 2px solid #f3f3f3;
        border-radius: 8px;
        background: #a8a8a8;
    }
}

@media (max-width: 720px){
    .main-status-footer{
        position: sticky;
        bottom: 0;
        grid-template-columns: auto;
    }
}

/* Périmètres d’exposition CD ↔ ZD */
.exposure-scope-panel{
    margin-top: 22px;
    padding-top: 16px;
    border-top: 1px solid #dedede;
    color: #333;
}
.exposure-scope-count{
    padding: 3px 7px;
    border: 1px solid #c8c8c8;
    border-radius: 2px;
    color: #555;
    background: #f3f3f3;
    font-size: 9px;
    font-weight: 600;
}
.exposure-scope-empty{
    margin-top: 12px;
    padding: 13px;
    display: grid;
    gap: 4px;
    border: 1px solid #d4d4d4;
    border-left: 3px solid #0078d4;
    background: #f7f7f7;
    font-size: 10px;
}
.exposure-scope-empty.compact{ padding: 10px 12px; }
.exposure-scope-empty strong{ color: #252525; }
.exposure-scope-empty span{ color: #666; }
.exposure-scope-empty a{ width: fit-content; color: #0067b8; font-weight: 600; }
.exposure-check-matrix{
    margin-top: 12px;
    display: grid;
    grid-template-columns: minmax(340px, 1.25fr) minmax(260px, .75fr);
    border: 1px solid #cfcfcf;
    background: #fff;
}
.exposure-check-column{ min-width: 0; }
.exposure-check-column + .exposure-check-column{ border-left: 1px solid #cfcfcf; }
.exposure-check-column-heading{
    min-height: 50px;
    padding: 9px 11px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-bottom: 1px solid #d7d7d7;
    background: #f2f2f2;
    color: #333;
    font-size: 10px;
}
.exposure-check-column-heading strong,
.exposure-check-column-heading small{ display: block; }
.exposure-check-column-heading small{ margin-top: 2px; color: #666; font-size: 9px; font-weight: 400; }
.exposure-check-column-heading > span{ color: #666; font-size: 9px; white-space: nowrap; }
.exposure-check-list,
.exposure-mode-list{ display: grid; }
.exposure-zone-choice{ border-top: 1px solid #dedede; background: #fff; }
.exposure-zone-choice:first-child{ border-top: 0; }
.exposure-zone-choice.selected{ background: #f7fbfe; }
.exposure-check-row{
    min-width: 0;
    min-height: 34px;
    padding: 6px 10px;
    display: flex;
    align-items: center;
    gap: 8px;
    color: #333;
    font-size: 10px;
    cursor: pointer;
}
.exposure-check-row input{ flex: 0 0 auto; margin: 0; accent-color: #0078d4; }
.exposure-check-row > span{ min-width: 0; }
.exposure-check-row strong,
.exposure-check-row small{ display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.exposure-check-row strong{ color: #252525; font-size: 10px; }
.exposure-check-row small{ margin-top: 2px; color: #6a6a6a; font-size: 9px; font-weight: 400; }
.exposure-zone-check{ min-height: 43px; }
.exposure-zone-check .exposure-scope-reference{ margin-left: auto; }
.exposure-access-list{ padding: 0 10px 6px 30px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; }
.exposure-access-check{
    min-height: 30px;
    padding: 5px 7px;
    border: 1px solid #d3d3d3;
    background: #fff;
    font-size: 9px;
}
.exposure-access-check.selected{ border-color: #8ab8d8; background: #eef6fb; color: #164f73; }
.exposure-access-check:has(input:disabled){ color: #888; background: #f5f5f5; cursor: default; }
.exposure-zone-notes{ padding: 0 10px 9px 30px; display: grid; gap: 4px; color: #555; font-size: 9px; font-weight: 600; }
.exposure-zone-notes textarea{
    width: 100%;
    min-height: 44px;
    padding: 6px 8px;
    resize: vertical;
    border: 1px solid #b8b8b8;
    border-radius: 2px;
    color: #1f1f1f;
    background: #fff;
    font: inherit;
    font-weight: 400;
}
.exposure-mode-check{ min-height: 47px; border-top: 1px solid #dedede; }
.exposure-mode-check:first-child{ border-top: 0; }
.exposure-mode-check.selected{ background: #eef6fb; }
.exposure-mode-check.partial{ background: #f6f6f6; }
.exposure-mode-check:has(input:disabled){ color: #888; cursor: default; }
.exposure-mode-column .exposure-scope-empty{ margin: 10px; }
.exposure-scope-reference{
    min-width: 49px;
    padding: 4px 6px;
    display: inline-grid;
    place-items: center;
    border: 1px solid #b8b8b8;
    border-radius: 2px;
    color: #444;
    background: #fff;
    font-size: 9px;
    font-weight: 700;
}
.exposure-warning{ color: #8a5a00; font-size: 8px; }
.exposure-zone-link-list{ margin-top: 10px; display: grid; border: 1px solid #d4d4d4; }
.exposure-zone-link-list a{
    min-height: 48px;
    padding: 7px 9px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 9px;
    align-items: center;
    border-top: 1px solid #dedede;
    color: #333;
}
.exposure-zone-link-list a:first-child{ border-top: 0; }
.exposure-zone-link-list a:hover{ background: #f3f3f3; }
.exposure-zone-link-list strong{ display: block; color: #252525; font-size: 10px; }
.exposure-zone-link-list small{ display: block; margin-top: 3px; color: #6d6d6d; font-size: 9px; }
.exposure-zone-link-list .row-arrow{ color: #0078d4; font-size: 16px; }
@media (max-width: 1050px){
    .exposure-check-matrix{ grid-template-columns: 1fr; }
    .exposure-check-column + .exposure-check-column{ border-left: 0; border-top: 1px solid #cfcfcf; }
}
@media (max-width: 720px){
    .exposure-access-list{ grid-template-columns: 1fr; }
}

/* Parcours risques : synthèse R, fiche R, MSR et suites documentaires. */
.risks-summary{ display:grid; gap:12px; }
.risk-summary-metrics{ display:flex; align-items:stretch; border:1px solid currentColor; }
.risk-summary-metrics > span{ min-width:88px; padding:10px 14px; display:grid; place-items:center; gap:2px; border-left:1px solid currentColor; }
.risk-summary-metrics > span:first-child{ border-left:0; }
.risk-summary-metrics strong{ font-size:22px; line-height:1; }
.risk-summary-metrics small{ font-size:9px; text-transform:uppercase; }
.risk-summary-score,
.risk-evaluation-pending{ min-width:138px; min-height:48px; padding:5px 9px !important; display:grid; grid-template-columns:auto auto; align-content:center; gap:1px 7px; border:1px solid currentColor; border-radius:2px !important; line-height:1.1; text-align:left; }
.risk-summary-score > small,
.risk-evaluation-pending > small{ grid-row:1 / span 2; margin:0; align-self:center; font-size:8px !important; font-weight:700; }
.risk-summary-score > span,
.risk-evaluation-pending > span{ display:block; max-width:118px; margin:0; overflow:hidden; font-size:8px; font-weight:500; text-overflow:ellipsis; white-space:nowrap; }
.risk-tree-item .risk-summary-score{ font-size:16px; }
.risk-tree-measure{ grid-template-columns:28px minmax(0,1fr) auto 22px; }
.child-status{ padding:4px 7px; border:1px solid currentColor; font-size:8px; font-style:normal; font-weight:600; white-space:nowrap; }
.risk-summary-empty{ min-height:160px; display:grid; place-items:center; align-content:center; gap:7px; text-align:center; }
.risk-summary-empty strong{ font-size:14px; }
.risk-summary-empty span{ font-size:10px; }
.risk-summary-empty .button{ margin-top:4px; }
.risk-detail-layout,
.reassessment-editor-detail{ min-height:0; }
.risk-detail-editor{ container-type:inline-size; }
.risk-detail-top .entity-heading-actions,
.measure-detail-top .entity-heading-actions,
.follow-up-page-heading .entity-heading-actions{ justify-content:flex-end; }
.risk-priority-grid{ display:grid; grid-template-columns:minmax(0,1.15fr) minmax(310px,.85fr); gap:10px; align-items:stretch; }
.risk-priority-grid .cascade-pev-priority,
.risk-priority-grid .cascade-result-priority{ margin:0; height:100%; }
.risk-priority-grid .cascade-result-priority{ display:grid; grid-template-rows:auto minmax(42px,auto) auto; }
.risk-priority-grid .cascade-result-footer{ margin:0; padding:7px 9px; }
.risk-inherited-criteria{ margin-top:10px; padding:12px; border:1px solid currentColor; }
.risk-inherited-criteria .measure-section-heading{ margin-bottom:8px; }
.risk-inherited-grid{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; }
.risk-inherited-grid .cascade-criterion-field{ min-width:0; padding:8px; display:grid; align-content:start; gap:5px; border:1px solid currentColor; color:inherit; text-decoration:none; }
.risk-inherited-grid .cascade-field-label{ display:grid; grid-template-columns:auto minmax(0,1fr); gap:6px; align-items:center; font-size:9px; }
.risk-inherited-grid .cascade-field-label b{ width:38px; min-height:24px; display:grid; place-items:center; }
.risk-inherited-grid .cascade-readonly-value{ min-height:34px; display:flex; align-items:center; font-size:10px; font-weight:600; }
.risk-inherited-grid .cascade-criterion-field > small{ font-size:8px; text-align:right; }
.risk-children-panel{ margin-top:10px; }
.follow-up-reference.msr{ color:#3d5f7f; background:#eef3f7; }
.msr-parent-context{ margin:0 0 10px; }
.reassessment-editor-detail > .msr-parent-context{ order:0; }
.measure-inventory-grid a{ grid-template-columns:48px minmax(0,1fr); align-items:center; align-content:initial; }
.measure-inventory-grid a > span:not(.mt-transfer-thumb){ min-width:0; display:grid; gap:3px; }
.measure-inventory-grid .mt-transfer-thumb{ width:42px; height:42px; position:relative; }
.follow-up-parent-context.machine-element-detail-context{ grid-template-columns:70px minmax(0,1fr) auto; }
.follow-up-parent-context > em{ grid-column:auto; justify-self:end; }
.follow-up-media .technical-measure-media-heading{ min-height:30px; }
.follow-up-media.is-expanded{ position:fixed; inset:12px; z-index:1000; padding:62px 15px 15px; display:grid; grid-template-rows:minmax(0,1fr) auto auto auto; gap:10px; overflow:hidden; border:1px solid #a6a6a6; background:#fff; }
.follow-up-media.is-expanded .technical-measure-media-heading{ min-height:49px; padding:0 15px; position:absolute; inset:0 0 auto; z-index:3; display:flex; background:#fff; border-bottom:1px solid #cfcfcf; }
.follow-up-media.is-expanded .technical-measure-media-title{ font-size:14px; font-weight:600; }
.follow-up-media.is-expanded .media-expand-button{ width:auto; min-width:90px; }
.follow-up-media.is-expanded .follow-up-pictogram-preview,
.follow-up-media.is-expanded .follow-up-pictogram-preview img{ width:100%; height:100%; min-height:0; object-fit:contain; }
@media (max-width:1100px){
    .risk-priority-grid{ grid-template-columns:1fr; }
    .risk-inherited-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@container (max-width:900px){
    .risk-priority-grid{ grid-template-columns:1fr; }
    .risk-inherited-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:720px){
    .risk-summary-metrics{ width:100%; }
    .risk-summary-metrics > span{ min-width:0; flex:1; }
    .risk-tree-measure{ grid-template-columns:28px minmax(0,1fr) 22px; }
    .risk-tree-measure .child-status{ grid-column:2; justify-self:start; }
    .risk-inherited-grid{ grid-template-columns:1fr; }
    .follow-up-parent-context.machine-element-detail-context{ grid-template-columns:1fr; }
    .follow-up-parent-context > em{ justify-self:start; }
}

/* Rapport sécurité : aperçu écran et dossier A4 orienté décision. */
.global-tree-project-file-actions .project-report-button{ width:24px; height:24px; padding:3px; display:grid; place-items:center; color:#087f72; border:0; background:transparent; text-decoration:none; }
.global-tree-project-file-actions .project-report-button:hover{ color:#005f55; background:#e1f3f0; }
.global-tree-project-file-actions .project-report-button svg{ width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.tree-report .icon-report{ color:#087f72; }
.report-unavailable{ min-height:430px; display:grid; place-items:center; align-content:center; gap:9px; text-align:center; }
.report-unavailable h1,.report-unavailable p{ margin:0; }
.safety-report-preview{ min-height:100%; padding:14px 18px 30px; background:#e7e9ec; color:#202124; font-family:"Segoe UI",Arial,sans-serif; }
.report-toolbar{ max-width:210mm; min-height:48px; margin:0 auto 12px; padding:7px 10px; display:flex; align-items:center; gap:10px; color:#27313b; border:1px solid #c5c9ce; background:#fff; }
.report-toolbar > div{ min-width:0; display:flex; align-items:center; gap:8px; }
.report-toolbar > div > span{ display:grid; }
.report-toolbar > div strong{ font-size:11px; }
.report-toolbar > div small{ color:#656d76; font-size:8px; }
.report-toolbar-note{ flex:1; color:#6a7179; font-size:9px; text-align:right; }
.report-toolbar .button{ min-height:31px; white-space:nowrap; }
.report-export-button{ display:inline-flex; align-items:center; gap:6px; }
.report-export-button svg{ width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.safety-report{ width:100%; max-width:210mm; margin:0 auto; color:#1f242a; background:#fff; font-size:10px; line-height:1.38; }
.report-sheet{ box-sizing:border-box; min-height:297mm; padding:13mm 14mm 15mm; position:relative; overflow:hidden; background:#fff; }
.report-sheet + .report-sheet{ border-top:10px solid #e7e9ec; }
.report-sheet h1,.report-sheet h2,.report-sheet h3,.report-sheet p,.report-sheet figure{ margin-top:0; }
.report-cover-sheet{ padding:12mm 15mm 14mm; display:flex; flex-direction:column; background:linear-gradient(90deg,#041b46 0 7mm,#fff 7mm); }
.report-cover-header{ min-height:20mm; padding-left:7mm; display:grid; grid-template-columns:30mm minmax(0,1fr) auto; gap:4mm; align-items:center; border-bottom:1px solid #d7dadd; }
.report-cover-header > img{ width:28mm; height:15mm; object-fit:contain; object-position:left center; }
.report-supplier-logo-placeholder{ width:20mm; height:14mm; display:grid; place-items:center; color:#041b46; border:1px solid #aeb5bc; background:#f5f6f7; font-size:9px; font-weight:700; letter-spacing:.06em; }
.report-cover-header > div{ display:grid; gap:1px; }
.report-cover-header > div strong{ color:#041b46; font-size:12px; letter-spacing:.12em; }
.report-cover-header > div span{ color:#666f78; font-size:8px; }
.report-cover-header > em{ color:#65717c; font-size:8px; font-style:normal; font-weight:700; letter-spacing:.1em; }
.report-cover-main{ flex:1; padding:18mm 0 10mm 7mm; display:grid; grid-template-columns:minmax(0,1.18fr) minmax(54mm,.82fr); gap:12mm; align-items:center; }
.report-cover-copy .report-eyebrow{ color:#1767ed; font-size:9px; font-weight:700; letter-spacing:.12em; }
.report-cover-copy h1{ max-width:120mm; margin:5mm 0 3mm; color:#041b46; font-size:29px; line-height:1.08; font-weight:650; }
.report-cover-copy > p{ max-width:110mm; margin-bottom:8mm; color:#5d646b; font-size:11px; line-height:1.55; }
.report-cover-identification{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid #d8dadd; border-left:1px solid #d8dadd; }
.report-cover-identification > span{ min-height:15mm; padding:3mm; display:grid; align-content:center; gap:1mm; border-right:1px solid #d8dadd; border-bottom:1px solid #d8dadd; }
.report-cover-identification small,.report-cover-footer small{ color:#70777e; font-size:7px; text-transform:uppercase; letter-spacing:.08em; }
.report-cover-identification strong{ font-size:10px; }
.report-cover-visual{ height:76mm; margin:0; display:grid; grid-template-rows:minmax(0,1fr) auto; border:1px solid #c9cdd1; background:#f5f6f7; }
.report-cover-visual img{ width:100%; height:100%; min-height:0; object-fit:contain; background:#f4f5f6; }
.report-cover-visual figcaption{ padding:2.5mm 3mm; color:#5f6871; border-top:1px solid #d5d8db; background:#fff; font-size:8px; }
.report-cover-visual-empty{ place-items:center; align-content:center; gap:4mm; color:#7e8790; }
.report-cover-visual-empty .global-tree-icon{ width:25mm; height:25mm; }
.report-cover-status{ min-height:27mm; margin-left:7mm; padding:4mm 5mm; display:grid; grid-template-columns:minmax(0,1fr) 65mm; gap:8mm; align-items:center; border-left:2mm solid #a45408; background:#fff4e7; }
.report-cover-status.ready{ border-left-color:#18794e; background:#eaf5ee; }
.report-cover-status small{ color:#697078; font-size:7px; font-weight:700; letter-spacing:.08em; }
.report-cover-status h2{ margin:1mm 0; color:#041b46; font-size:18px; }
.report-cover-status p{ margin:0; color:#565f67; }
.report-cover-status > span{ padding-left:5mm; display:grid; gap:2mm; border-left:1px solid #d3c7b9; }
.report-cover-status > span strong{ font-size:10px; line-height:1.45; }
.report-cover-kpis{ margin:7mm 0 0 7mm; display:grid; grid-template-columns:repeat(4,1fr); border:1px solid #d8dadd; }
.report-cover-kpis span{ min-height:19mm; padding:3mm; display:grid; align-content:center; gap:1mm; border-right:1px solid #d8dadd; }
.report-cover-kpis span:last-child{ border-right:0; }
.report-cover-kpis strong{ color:#041b46; font-size:20px; line-height:1; }
.report-cover-kpis small{ color:#626a72; font-size:7px; line-height:1.25; }
.report-cover-footer{ margin:8mm 0 0 7mm; padding-top:4mm; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #d8dadd; }
.report-cover-footer > div{ display:grid; gap:1mm; }
.report-cover-footer strong{ font-size:9px; }
.report-section-heading{ min-height:19mm; margin-bottom:7mm; display:grid; grid-template-columns:13mm minmax(0,1fr); gap:4mm; align-items:center; border-bottom:1px solid #cfd3d7; }
.report-section-heading > b{ width:11mm; height:11mm; display:grid; place-items:center; color:#fff !important; background:#041b46; font-size:11px; }
.report-section-heading h2{ margin:0 0 1mm; color:#041b46; font-size:21px; line-height:1.1; }
.report-section-heading p{ margin:0; color:#626a72; font-size:8px; }
.report-toc{ display:grid; gap:2.5mm; }
.report-toc > a,.report-toc-risk-group > div{ min-height:15mm; padding:2.5mm 3mm; display:grid; grid-template-columns:11mm minmax(0,1fr) 12mm; gap:3mm; align-items:center; color:#1f242a; border:1px solid #d5d8db; border-left:1.5mm solid #1767ed; background:#fff; text-decoration:none; }
.report-toc > a:hover,.report-toc-risk:hover{ background:#edf4fc; }
.report-toc > a > b,.report-toc-risk-group > div > b{ color:#1767ed; font-size:11px; }
.report-toc > a > span,.report-toc-risk-group > div > span{ display:grid; gap:1mm; }
.report-toc > a strong,.report-toc-risk-group > div strong{ color:#041b46; font-size:9px; }
.report-toc > a small,.report-toc-risk-group > div small{ color:#697078; font-size:6.5px; }
.report-toc > a > em,.report-toc-risk-group > div > em{ color:#041b46; font-size:9px; font-style:normal; font-weight:700; text-align:right; }
.report-toc-risk-group{ border:1px solid #d5d8db; border-left:1.5mm solid #1767ed; }
.report-toc-risk-group > div{ border:0; border-bottom:1px solid #d5d8db; border-left:0; background:#fff; }
.report-toc-risk{ min-height:6.7mm; padding:1.2mm 3mm 1.2mm 17mm; display:grid; grid-template-columns:20mm minmax(0,1fr) 12mm; gap:3mm; align-items:center; color:#3f474f; border-bottom:1px solid #eceeef; text-decoration:none; }
.report-toc-risk:last-child{ border-bottom:0; }
.report-toc-risk b{ color:#1767ed; font-size:7px; }.report-toc-risk span{ overflow:hidden; font-size:7px; text-overflow:ellipsis; white-space:nowrap; }.report-toc-risk em{ color:#041b46; font-size:7px; font-style:normal; font-weight:700; text-align:right; }
.report-method-identity{ min-height:20mm; margin-bottom:4mm; padding:3mm 4mm; display:grid; grid-template-columns:65mm minmax(0,1fr); gap:6mm; align-items:center; border-left:2mm solid #1767ed; background:#edf4fc; }
.report-method-identity > div{ display:grid; gap:1mm; }.report-method-identity small{ color:#66717b; font-size:6px; font-weight:700; letter-spacing:.08em; }.report-method-identity strong{ color:#041b46; font-size:11px; }.report-method-identity span{ color:#1767ed; font-size:6.5px; font-weight:700; }.report-method-identity p{ margin:0; color:#4f5963; font-size:7px; line-height:1.45; }
.report-method-formulas,.report-method-criteria,.report-method-scales > section{ border:1px solid #d5d8db; }
.report-method-formulas h3,.report-method-criteria h3,.report-method-scales h3{ margin:0; padding:2.5mm 3mm; color:#041b46; border-bottom:1px solid #d5d8db; font-size:9px; }
.report-method-formulas > div{ display:grid; grid-template-columns:repeat(2,1fr); }
.report-method-formulas article{ min-height:17mm; padding:2.5mm 3mm; display:grid; grid-template-columns:12mm minmax(0,1fr) auto; gap:2mm; align-items:center; border-right:1px solid #e1e4e6; }
.report-method-formulas article:last-child{ border-right:0; }.report-method-formulas article small{ color:#1767ed; font-size:7px; font-weight:700; }.report-method-formulas article strong{ font-size:7px; }.report-method-formulas article code{ padding:1.5mm 2mm; color:#041b46; background:#f2f4f6; font-family:Consolas,monospace; font-size:7px; font-weight:700; }
.report-method-criteria{ margin-top:4mm; }
.report-method-criteria-grid{ display:grid; grid-template-columns:repeat(3,1fr); }
.report-method-criteria-grid > article{ min-height:31mm; padding:2.5mm 3mm; border-right:1px solid #e1e4e6; border-bottom:1px solid #e1e4e6; border-left:1.2mm solid var(--s-light,var(--peved-light,var(--nbpe-light,var(--o-light,var(--f-light,var(--pev-light,#747b82)))))); }
.report-method-criteria-grid > article:nth-child(3n){ border-right:0; }.report-method-criteria-grid > article:nth-last-child(-n+3){ border-bottom:0; }
.report-method-criteria-grid header{ display:grid; grid-template-columns:9mm minmax(0,1fr); gap:2mm; align-items:center; }.report-method-criteria-grid header > b{ width:8mm; height:8mm; display:grid; place-items:center; color:var(--s-light,var(--peved-light,var(--nbpe-light,var(--o-light,var(--f-light,var(--pev-light,#555)))))); background:var(--s-light-surface,var(--peved-light-surface,var(--nbpe-light-surface,var(--o-light-surface,var(--f-light-surface,var(--pev-light-surface,#eee)))))); font-size:6px; }.report-method-criteria-grid header span{ display:grid; gap:.5mm; }.report-method-criteria-grid header strong{ color:#041b46; font-size:6.7px; line-height:1.2; }.report-method-criteria-grid header small{ color:#777e85; font-size:5.5px; }
.report-method-criteria-grid article > p{ min-height:11mm; margin:2mm 0; color:#4f575f; font-size:5.8px; line-height:1.35; }.report-method-criteria-grid article > div{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8mm 2mm; }.report-method-criteria-grid article > div span{ overflow:hidden; color:#555e67; font-size:5.3px; text-overflow:ellipsis; white-space:nowrap; }.report-method-criteria-grid article > div b{ color:#041b46; }
.report-method-scales{ margin-top:4mm; display:grid; grid-template-columns:1.2fr .8fr; gap:4mm; }.report-method-scales section > p{ margin:0; padding:2mm 3mm; color:#59616a; border-bottom:1px solid #e1e4e6; font-size:5.7px; line-height:1.35; }.report-method-scales section > div{ display:grid; }.report-method-scales article{ min-height:8mm; padding:1.4mm 2mm; display:grid; grid-template-columns:14mm minmax(0,1fr); gap:.5mm 2mm; align-items:center; border-bottom:1px solid #e5e7e9; border-left:1.5mm solid var(--scale-light,var(--plr-light,#777)); background:var(--scale-light-surface,var(--plr-light-surface,#f4f4f4)); }.report-method-scales article:last-child{ border-bottom:0; }.report-method-scales article > b{ grid-row:1 / span 2; color:var(--scale-light,var(--plr-light,#444)); font-size:6.5px; }.report-method-scales article > strong{ color:#202428; font-size:6.3px; }.report-method-scales article > span{ color:#59616a; font-size:5.2px; line-height:1.25; }
.report-criteria-section h3,.report-reduction-section h3,.report-follow-up-grid h3,.report-scope-sheet h3,.report-method-note h3,.report-exclusions h3{ margin:0; padding:3mm 4mm; color:#041b46; border-bottom:1px solid #d5d8db; font-size:10px; }
.report-conclusion-statement{ padding:5mm; border-left:1.5mm solid #a45408; background:#fff4e7; }
.report-conclusion-statement.ready{ border-left-color:#18794e; background:#edf5f0; }
.report-conclusion-statement > small{ color:#59636c; font-size:7px; letter-spacing:.6px; }
.theme-light .safety-report .report-conclusion-statement h2{ margin:2mm 0 3mm; font-size:18px !important; }
.report-conclusion-statement p{ margin:0; color:#343b42; font-size:11px; line-height:1.55; }
.report-conclusion-kpis{ margin:6mm 0; }
.report-conclusion-section{ margin-top:5mm; }
.theme-light .safety-report .report-conclusion-section h3{ margin:0 0 2mm; padding-bottom:2mm; border-bottom:1px solid #d5d8db; color:#1767ed !important; font-size:12px !important; }
.report-conclusion-section p{ margin:2mm 0; color:#3e464e; font-size:12px; line-height:1.5; }
.report-conclusion-signoff{ margin-top:7mm; }
.report-conclusion-signoff > div{ min-height:27mm; }
.report-risk-score,.report-table-score{ padding:1.5mm 2mm; display:grid; color:var(--scale-light,#555); border-left:1.5mm solid var(--scale-light,#777); background:var(--scale-light-surface,#eee); font-size:13px; font-style:normal; font-weight:700; line-height:1; }
.report-risk-score small,.report-table-score small{ margin-top:1mm; overflow:hidden; color:#34383d; font-size:6px; font-weight:500; text-overflow:ellipsis; white-space:nowrap; }
.report-status-tag{ padding:1.5mm 2mm; color:#50565c; border:1px solid #b9bdc1; background:#f4f5f6; font-size:6.5px; font-style:normal; font-weight:700; line-height:1.25; text-align:center; }
.report-status-tag.attention{ color:#8a4b0d; border-color:#d9a36b; background:#fff5e8; }
.report-status-tag.pending{ color:#a1252b; border-color:#dd9095; background:#fdebed; }
.report-status-tag.complete{ color:#176241; border-color:#80b79d; background:#e9f5ee; }
.report-register-table,.report-measure-table,.report-annex-table{ width:100%; border-collapse:collapse; table-layout:fixed; }
.report-register-table th,.report-measure-table th,.report-annex-table th{ padding:2.5mm 2mm; color:#fff; background:#041b46; font-size:7px; text-align:left; }
.report-register-table td,.report-measure-table td,.report-annex-table td{ padding:2.4mm 2mm; vertical-align:middle; border-bottom:1px solid #dadde0; font-size:7px; }
.report-register-table tbody tr:nth-child(even),.report-measure-table tbody tr:nth-child(even),.report-annex-table tbody tr:nth-child(even){ background:#f5f6f7; }
.report-register-table th:nth-child(1){ width:13%; }.report-register-table th:nth-child(2){ width:30%; }.report-register-table th:nth-child(3){ width:17%; }.report-register-table th:nth-child(4){ width:8%; }.report-register-table th:nth-child(5){ width:20%; }.report-register-table th:nth-child(6){ width:12%; }
.report-register-table td > strong,.report-register-table td > span,.report-measure-table td > strong,.report-measure-table td > span{ display:block; }
.report-register-table td small,.report-measure-table td small{ display:block; margin-top:1mm; color:#656d75; font-size:6px; line-height:1.3; }
.report-table-score{ font-size:10px; }
.report-table-score.pending{ color:#656d75; border-color:#b8bdc2; background:#f0f1f2; }
.report-plr{ min-width:9mm; padding:2mm; display:inline-grid; place-items:center; color:var(--plr-light,#444); border:1px solid var(--plr-light,#777); background:var(--plr-light-surface,#eee); font-size:10px; }
.report-scope-kpis,.report-document-kpis{ margin-bottom:6mm; display:grid; grid-template-columns:repeat(6,1fr); border:1px solid #d5d8db; }
.report-scope-kpis span,.report-document-kpis span{ min-height:17mm; padding:3mm 2mm; display:grid; align-content:center; gap:1mm; border-right:1px solid #d5d8db; text-align:center; }
.report-scope-kpis span:last-child,.report-document-kpis span:last-child{ border-right:0; }
.report-scope-kpis strong,.report-document-kpis strong{ color:#041b46; font-size:16px; }
.report-scope-kpis small,.report-document-kpis small{ color:#687078; font-size:6.5px; }
.report-scope-columns{ display:grid; grid-template-columns:1fr 1fr; gap:6mm; }
.report-scope-columns > section,.report-ed-section,.report-exclusions{ border:1px solid #d5d8db; }
.report-scope-card{ padding:2.5mm 3mm; display:grid; gap:1mm; border-bottom:1px solid #e3e5e7; }
.report-scope-card:last-child{ border-bottom:0; }
.report-scope-card > strong{ color:#041b46; font-size:8px; }
.report-scope-card > small{ color:#70777e; font-size:6.5px; }
.report-scope-card > span{ padding-top:1.5mm; display:grid; grid-template-columns:minmax(0,1fr) auto; color:#30363c; border-top:1px solid #eceeef; font-size:7px; }
.report-scope-card em{ color:#176241; font-style:normal; font-weight:700; }
.report-ed-section,.report-exclusions{ margin-top:6mm; }
.report-ed-grid{ display:grid; grid-template-columns:repeat(2,1fr); }
.report-ed-card{ padding:2.5mm 3mm; display:grid; gap:1mm; border-right:1px solid #e3e5e7; border-bottom:1px solid #e3e5e7; }
.report-ed-card > strong{ color:#041b46; font-size:8px; }
.report-ed-card > small{ color:#747b82; font-size:6px; }
.report-ed-card > span{ padding-top:1.5mm; display:grid; gap:.5mm; border-top:1px solid #eceeef; }
.report-ed-card > span b{ font-size:7px; }.report-ed-card > span em{ color:#59616a; font-size:6px; font-style:normal; }
.report-exclusions > p,.report-exclusions > div{ margin:0; padding:2.5mm 3mm; border-bottom:1px solid #e4e6e8; font-size:7px; }
.report-exclusions > div{ display:grid; grid-template-columns:1fr 1.4fr; gap:4mm; }
.report-risk-context{ min-height:28mm; padding:3mm; display:grid; grid-template-columns:24mm repeat(3,minmax(0,1fr)); gap:4mm; border:1px solid #d5d8db; background:#f5f7f9; }
.report-risk-context > img{ width:24mm; height:22mm; object-fit:contain; border:1px solid #ccd1d6; background:#fff; }
.report-risk-context > div{ min-width:0; display:grid; align-content:center; gap:1mm; }
.report-risk-context small{ color:#66717b; font-size:6px; font-weight:700; letter-spacing:.05em; }
.report-risk-context strong{ color:#041b46; font-size:7px; line-height:1.3; }
.report-risk-context span{ overflow:hidden; color:#636b73; font-size:6px; line-height:1.35; max-height:9mm; }
.report-risk-results{ margin:5mm 0; display:grid; grid-template-columns:minmax(0,1fr) 8mm minmax(0,1fr) 42mm; gap:3mm; align-items:center; }
.report-score-method{ margin:-2mm 0 4mm; padding:2mm 3mm; display:flex; align-items:center; gap:3mm; color:#59616a; border-left:1mm solid #1767ed; background:#f3f7fc; font-size:6.5px; }
.report-score-method strong{ color:#041b46; font-size:7px; }.report-score-method span{ color:#1767ed; font-weight:700; }.report-score-method small{ margin-left:auto; color:#737a81; font-size:6px; }
.report-result-card{ min-height:25mm; padding:3mm 4mm; display:grid; grid-template-columns:auto minmax(0,1fr); gap:1mm 4mm; align-items:center; color:#252a2f; border-left:2mm solid var(--scale-light,#747b82); background:var(--scale-light-surface,#f0f1f2); }
.report-result-card > small{ grid-column:1/-1; color:#616971; font-size:6px; letter-spacing:.08em; }
.report-result-card > strong{ grid-row:2/span 2; color:var(--scale-light,#34383d); font-size:22px; line-height:1; }
.report-result-card > b{ font-size:8px; }
.report-result-card > span{ font-size:6px; }
.report-result-card > span em{ margin-left:2mm; padding:1mm 2mm; color:var(--plr-light,#444); background:var(--plr-light-surface,#eee); font-size:8px; font-style:normal; font-weight:700; }
.report-result-card.pending{ color:#687078; border-color:#b8bdc2; background:#f4f5f6; }
.report-result-arrow{ color:#65717c; font-size:17px; text-align:center; }
.report-criteria-section,.report-reduction-section,.report-follow-up-grid > section{ border:1px solid #d5d8db; }
.report-criteria-grid{ display:grid; grid-template-columns:repeat(3,1fr); }
.report-criteria-grid > div{ min-height:18mm; padding:2.5mm 3mm; display:grid; grid-template-columns:10mm minmax(0,1fr); align-content:center; gap:1mm 2mm; border-right:1px solid #e0e3e5; border-bottom:1px solid #e0e3e5; }
.report-criteria-grid > div:nth-child(3n){ border-right:0; }
.report-criteria-grid small{ grid-row:1/span 2; width:9mm; height:9mm; display:grid; place-items:center; color:var(--s-light,var(--peved-light,var(--nbpe-light,var(--o-light,var(--f-light,var(--pev-light,#555)))))); background:var(--s-light-surface,var(--peved-light-surface,var(--nbpe-light-surface,var(--o-light-surface,var(--f-light-surface,var(--pev-light-surface,#eee)))))); font-size:7px; font-weight:700; }
.report-criteria-grid strong{ overflow:hidden; font-size:7.5px; text-overflow:ellipsis; white-space:nowrap; }
.report-criteria-grid span{ color:#626a72; font-size:6px; }
.report-criteria-grid em{ grid-column:2; color:#8a9096; font-size:5.5px; font-style:normal; text-align:right; }
.report-criterion-note,.report-reduction-note{ margin:0; padding:2.5mm 3mm; color:#4f575f; font-size:7px; }
.report-criterion-note strong,.report-reduction-note strong{ margin-right:3mm; color:#041b46; }
.report-reduction-section{ margin-top:5mm; }
.report-measure-list{ display:grid; grid-template-columns:repeat(2,1fr); }
.report-measure-list > div{ min-height:17mm; padding:2.5mm 3mm; display:grid; gap:1mm; border-right:1px solid #e3e5e7; border-bottom:1px solid #e3e5e7; }
.report-measure-list > div.has-image{ grid-template-columns:18mm minmax(0,1fr); align-items:center; gap:2.5mm; }
.report-measure-list > div > img{ width:18mm; height:14mm; display:block; object-fit:contain; border:1px solid #d9dcdf; background:#fff; }
.report-measure-copy{ min-width:0; display:grid; gap:1mm; }
.report-measure-list strong{ color:#087f72; font-size:7.5px; }.report-measure-list .report-measure-copy > span{ color:#444c54; font-size:6.5px; }.report-measure-list small{ color:#6b737a; font-size:6px; }
.report-empty-copy{ margin:0; padding:4mm; color:#656d75; font-size:7px; }
.report-follow-up-grid{ margin-top:5mm; display:grid; grid-template-columns:1fr 1fr; gap:5mm; }
.report-follow-up-grid section > p,.report-follow-up-grid section > div{ margin:0; padding:2.5mm 3mm; border-bottom:1px solid #e3e5e7; font-size:6.5px; }
.report-follow-up-grid section > div{ display:grid; gap:1mm; }.report-follow-up-grid section > div.has-pictogram{ grid-template-columns:14mm minmax(0,1fr); align-items:center; gap:2.5mm; }.report-follow-up-grid section > div > img{ width:14mm; height:14mm; display:block; object-fit:contain; border:1px solid #d9dcdf; background:#fff; }.report-follow-up-copy{ min-width:0; display:grid; gap:1mm; }.report-follow-up-grid section strong{ color:#041b46; }.report-follow-up-grid section span{ color:#4f575f; }.report-follow-up-grid section small{ color:#70777e; }
.report-measure-table th:nth-child(1){ width:29%; }.report-measure-table th:nth-child(2){ width:22%; }.report-measure-table th:nth-child(3){ width:15%; }.report-measure-table th:nth-child(4){ width:22%; }.report-measure-table th:nth-child(5){ width:12%; }
.report-measure-cell{ min-width:0; display:grid; grid-template-columns:auto minmax(0,1fr); gap:2mm; align-items:center; }.report-measure-cell > img{ width:13mm; height:11mm; display:block; object-fit:contain; border:1px solid #d9dcdf; background:#fff; }.report-measure-cell > span{ min-width:0; display:grid; }
.report-method-note{ margin-top:8mm; padding:4mm; border-left:2mm solid #1767ed; background:#edf4fc; }
.report-method-note h3{ padding:0 0 2mm; border:0; }.report-method-note p{ margin:0; color:#46515c; font-size:7.5px; line-height:1.55; }
.report-signoff{ margin-top:10mm; display:grid; grid-template-columns:repeat(3,1fr); border:1px solid #cfd3d7; }
.report-signoff > div{ min-height:31mm; padding:3mm; display:grid; align-content:start; gap:2mm; border-right:1px solid #cfd3d7; }
.report-signoff > div:last-child{ border-right:0; }.report-signoff small{ color:#687078; font-size:6.5px; text-transform:uppercase; }.report-signoff strong{ color:#041b46; font-size:8px; }.report-signoff span{ margin-top:auto; padding-top:5mm; color:#858b91; border-bottom:1px solid #858b91; font-size:6px; }
.report-document-kpis{ grid-template-columns:repeat(4,1fr); }
.report-annex-table th:nth-child(1){ width:18%; }.report-annex-table th:nth-child(2){ width:48%; }.report-annex-table th:nth-child(3){ width:17%; }.report-annex-table th:nth-child(4){ width:17%; }
.report-traceability-note{ margin-top:10mm; padding:5mm; display:grid; grid-template-columns:40mm minmax(0,1fr); gap:2mm 5mm; border:1px solid #cfd3d7; background:#f5f6f7; }
.report-traceability-note strong{ color:#041b46; }.report-traceability-note span{ font-weight:600; }.report-traceability-note p{ grid-column:1/-1; margin:2mm 0 0; color:#59616a; font-size:7px; }
.report-page-footer{ position:absolute; right:14mm; bottom:5mm; left:14mm; min-height:5mm; padding-top:1.5mm; display:grid; grid-template-columns:minmax(0,1fr) auto 27mm; gap:4mm; align-items:center; color:#7a8188; border-top:1px solid #d8dadd; font-size:6px; }
.report-powered-by{ display:flex; align-items:center; gap:1.5mm; color:#7a8188; text-decoration:none; }.report-powered-by img{ width:4mm; height:4mm; object-fit:contain; opacity:.72; }.report-powered-by strong{ color:#4d5760; font-size:6.5px; }.report-page-number{ padding:1mm 1.5mm; color:#fff !important; background:#041b46; font-size:7px; text-align:center; white-space:nowrap; }
.theme-light .safety-report .report-cover-copy h1{ font-size:29px !important; line-height:1.08 !important; font-weight:650 !important; }
.theme-light .safety-report .report-cover-status h2{ font-size:18px !important; }
.theme-light .safety-report .report-section-heading h2{ font-size:21px !important; line-height:1.1 !important; }
.theme-light .safety-report :is(.report-criteria-section,.report-reduction-section,.report-follow-up-grid,.report-scope-sheet,.report-method-note,.report-exclusions) h3{ font-size:10px !important; }

/* Plan PDF de vérification des réductions : une fiche terrain signable par risque. */
.checklist-cover-sheet{ padding:16mm 17mm 18mm; display:flex; flex-direction:column; }
.checklist-cover-brand{ min-height:24mm; display:flex; align-items:center; gap:5mm; }
.checklist-cover-brand > img,.checklist-cover-brand > span{ width:34mm; height:20mm; display:grid; place-items:center; object-fit:contain; color:#041b46; border:1px solid #d3d7dc; background:#fff; font-size:17px; font-weight:700; }
.checklist-cover-brand > div{ display:grid; gap:1mm; }.checklist-cover-brand small{ color:#64707b; font-size:6px; letter-spacing:.1em; }.checklist-cover-brand strong{ color:#041b46; font-size:10px; }
.checklist-cover-copy{ margin-top:18mm; padding:10mm 0 8mm; border-top:2mm solid #21865b; border-bottom:1px solid #d7dade; }
.checklist-cover-copy > span{ color:#21865b; font-size:7px; font-weight:700; letter-spacing:.11em; }.theme-light .safety-report .checklist-cover-copy h1{ margin:4mm 0; color:#041b46; font-size:29px !important; line-height:1.08 !important; }.checklist-cover-copy p{ max-width:145mm; margin:0; color:#4c5660; font-size:11px; line-height:1.5; }
.checklist-project-identity{ margin-top:8mm; display:grid; grid-template-columns:1fr 1fr; border:1px solid #d5d8db; }.checklist-project-identity > div{ min-height:16mm; padding:3mm 4mm; display:grid; gap:1mm; border-right:1px solid #d5d8db; border-bottom:1px solid #d5d8db; }.checklist-project-identity > div:nth-child(2n){ border-right:0; }.checklist-project-identity > div:nth-last-child(-n+2){ border-bottom:0; }.checklist-project-identity small{ color:#6d747b; font-size:6px; text-transform:uppercase; }.checklist-project-identity strong{ color:#20272e; font-size:8px; }
.checklist-cover-kpis{ margin-top:7mm; display:grid; grid-template-columns:repeat(3,1fr); border:1px solid #cfd4d8; }.checklist-cover-kpis > span{ min-height:20mm; padding:3mm; display:grid; align-content:center; justify-items:center; gap:1mm; border-right:1px solid #cfd4d8; }.checklist-cover-kpis > span:last-child{ border-right:0; }.checklist-cover-kpis strong{ color:#21865b; font-size:19px; }.checklist-cover-kpis small{ color:#68717a; font-size:6.5px; }.checklist-cover-kpis .attention{ background:#fff3e5; }.checklist-cover-kpis .attention strong{ color:#a45408; }
.checklist-instructions{ margin-top:8mm; display:grid; grid-template-columns:repeat(4,1fr); border:1px solid #d5d8db; }.theme-light .safety-report .checklist-instructions h2{ grid-column:1/-1; margin:0; padding:3mm 4mm; color:#041b46; border-bottom:1px solid #d5d8db; font-size:11px !important; }.checklist-instructions > div{ min-height:24mm; padding:3mm; display:grid; grid-template-columns:8mm minmax(0,1fr); gap:2mm; align-items:start; border-right:1px solid #e0e3e6; }.checklist-instructions > div:last-child{ border-right:0; }.checklist-instructions b{ width:7mm; height:7mm; display:grid; place-items:center; color:#fff; background:#21865b; font-size:7px; }.checklist-instructions span{ display:grid; gap:1mm; }.checklist-instructions strong{ color:#252b31; font-size:7px; }.checklist-instructions small{ color:#646d75; font-size:6px; line-height:1.35; }
.checklist-global-signoff{ margin-top:auto; display:grid; grid-template-columns:repeat(3,1fr); border:1px solid #cfd3d7; }.checklist-global-signoff > div{ min-height:24mm; padding:3mm; display:grid; border-right:1px solid #cfd3d7; }.checklist-global-signoff > div:last-child{ border-right:0; }.checklist-global-signoff small{ color:#041b46; font-size:6.5px; font-weight:700; text-transform:uppercase; }.checklist-global-signoff span{ margin-top:auto; padding-top:4mm; color:#858b91; border-bottom:1px solid #858b91; font-size:6px; }
.reduction-checklist-sheet{ padding-bottom:17mm; }
.checklist-risk-context{ margin-bottom:4mm; display:grid; grid-template-columns:1.2fr 1.1fr .55fr .55fr; border:1px solid #d4d8dc; }.checklist-risk-context > div{ min-height:19mm; padding:3mm; display:grid; align-content:center; gap:1mm; border-right:1px solid #dde0e3; }.checklist-risk-context > div:last-child{ border-right:0; }.checklist-risk-context small{ color:#66717b; font-size:5.8px; font-weight:700; letter-spacing:.05em; }.checklist-risk-context strong{ color:#041b46; font-size:7px; }.checklist-risk-context span{ color:#59636c; font-size:6px; }
.checklist-risk-context .checklist-risk-score{ align-content:center; justify-items:center; color:var(--scale-light,#555); border-left:1.5mm solid var(--scale-light,#777); background:var(--scale-light-surface,#eee); }.checklist-risk-score strong{ color:var(--scale-light,#34383d); font-size:16px; }.checklist-risk-score span{ max-width:30mm; color:#30363c; text-align:center; line-height:1.2; }
.checklist-expected-action{ margin:0 0 4mm; padding:2.5mm 3mm; display:grid; grid-template-columns:28mm minmax(0,1fr); gap:3mm; color:#4a535b; border-left:1mm solid #1767ed; background:#f0f5fb; font-size:6.5px; line-height:1.4; }.checklist-expected-action strong{ color:#041b46; }
.checklist-actions{ display:grid; gap:3mm; }
.checklist-action-card{ min-height:43mm; border:1px solid #cfd4d8; background:#fff; break-inside:avoid; page-break-inside:avoid; }.checklist-action-card.missing{ border-color:#cf8750; background:#fffaf4; }
.checklist-action-card > header{ min-height:13mm; padding:2mm 3mm; display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:2.5mm; align-items:center; border-bottom:1px solid #d9dde0; background:#f5f7f8; }.checklist-action-card > header > img{ width:14mm; height:11mm; display:block; object-fit:contain; border:1px solid #d5d9dc; background:#fff; }.checklist-action-card > header > span{ min-width:0; display:grid; gap:.5mm; }.checklist-action-card > header small{ color:#21865b; font-size:5.5px; font-weight:700; letter-spacing:.06em; }.checklist-action-card > header strong{ color:#041b46; font-size:7.5px; }.checklist-action-card > header em{ overflow:hidden; color:#5c656d; font-size:5.8px; font-style:normal; line-height:1.3; text-overflow:ellipsis; white-space:nowrap; }.checklist-action-card > header > b{ min-width:10mm; color:#6a7279; font-size:6px; text-align:right; }
.checklist-control-grid{ padding:2mm 3mm; display:grid; grid-template-columns:repeat(3,1fr); gap:2mm; border-bottom:1px solid #e1e4e6; }.checklist-control-grid > span{ min-height:9mm; display:grid; grid-template-columns:4mm minmax(0,1fr); gap:1.5mm; align-items:center; color:#333a40; font-size:5.8px; line-height:1.3; }.checklist-control-grid i,.checklist-result-row i{ width:3.5mm; height:3.5mm; display:inline-block; border:1px solid #535b62; background:#fff; }
.checklist-result-row{ min-height:8mm; padding:1.5mm 3mm; display:flex; align-items:center; gap:5mm; border-bottom:1px solid #e1e4e6; color:#3f474e; font-size:6px; }.checklist-result-row strong{ margin-right:2mm; color:#041b46; }.checklist-result-row span{ display:flex; align-items:center; gap:1.5mm; }.checklist-result-row span:last-child{ margin-left:auto; }
.checklist-observation-lines{ padding:1.5mm 3mm 2mm; display:grid; grid-template-columns:32mm minmax(0,1fr); gap:1mm 2mm; color:#657078; font-size:5.8px; }.checklist-observation-lines strong{ grid-row:1/span 2; align-self:center; color:#4b545c; }.checklist-observation-lines span{ height:4mm; border-bottom:1px solid #aeb4b9; }
.checklist-page-signoff{ margin-top:4mm; display:grid; grid-template-columns:repeat(3,1fr); border:1px solid #cfd3d7; }.checklist-page-signoff > div{ min-height:24mm; padding:2.5mm 3mm; display:grid; grid-template-columns:1fr 1fr; gap:2mm 3mm; border-right:1px solid #cfd3d7; }.checklist-page-signoff > div:last-child{ border-right:0; }.checklist-page-signoff small{ grid-column:1/-1; color:#041b46; font-size:6px; font-weight:700; text-transform:uppercase; }.checklist-page-signoff span{ padding-top:3mm; color:#858b91; border-bottom:1px solid #858b91; font-size:5.5px; }.checklist-page-signoff span:last-child{ grid-column:1/-1; }

@media print{
    @page{ size:A4 portrait; margin:0; }
    html,body,#app{ width:210mm !important; height:auto !important; min-height:0 !important; max-height:none !important; margin:0 !important; padding:0 !important; overflow:visible !important; background:#fff !important; print-color-adjust:exact !important; -webkit-print-color-adjust:exact !important; }
    .anr-header,.anr-sidebar,.main-status-footer,.application-loading-overlay,.report-toolbar{ display:none !important; }
    .anr-shell,.anr-content,.anr-main,.anr-main-scroll,.anr-page,.safety-report-preview{ width:210mm !important; height:auto !important; min-height:0 !important; margin:0 !important; padding:0 !important; display:block !important; overflow:visible !important; background:#fff !important; }
    .anr-shell.theme-light,.anr-shell.theme-light .anr-content{ height:max-content !important; max-height:none !important; min-height:0 !important; overflow:visible !important; zoom:1 !important; }
    .anr-shell.theme-light .anr-page{ padding:0 !important; }
    .safety-report{ width:210mm !important; margin:0 !important; }
    .report-sheet{ min-height:297mm; break-before:page; page-break-before:always; }
    .report-sheet:first-child{ break-before:auto; page-break-before:auto; }
    .report-sheet + .report-sheet{ border-top:0; }
    .report-register-table thead,.report-measure-table thead,.report-annex-table thead{ display:table-header-group; }
    .report-register-table tr,.report-measure-table tr,.report-annex-table tr{ break-inside:avoid; page-break-inside:avoid; }
    .report-annex-sheet{ break-after:auto !important; page-break-after:auto !important; }
}

@media (max-width:1050px){
    .safety-report-preview{ padding:8px; overflow:auto; }
    .report-toolbar{ width:100%; }
}

/* Fiches R / MSR / RR / OBS : même DA compacte que ED, ZD et AC. */
.anr-page:has(.risk-v1-card),
.anr-page:has(.msr-v1-card),
.anr-page:has(.follow-up-v1-card){ padding-top:8px !important; padding-bottom:8px !important; }
.risk-v1-card,
.msr-v1-card,
.follow-up-v1-card{ min-height:0 !important; height:max-content; padding:12px 18px; container-type:inline-size; box-shadow:none; }
.risk-v1-card .technical-measure-v1-heading,
.msr-v1-card .technical-measure-v1-heading,
.follow-up-v1-card .technical-measure-v1-heading{ gap:8px; padding-bottom:7px; }
.risk-v1-card .technical-measure-v1-heading h2,
.msr-v1-card .technical-measure-v1-heading h2,
.follow-up-v1-card .technical-measure-v1-heading h2{ margin-top:3px; font-size:18px; }
.risk-v1-card .entity-heading-actions,
.msr-v1-card .entity-heading-actions,
.follow-up-v1-card .entity-heading-actions{ align-items:flex-start; justify-content:flex-end; }
.risk-v1-context,
.msr-parent-context,
.follow-up-v1-card .follow-up-parent-context{ min-height:44px; margin:6px 0 0; padding:5px 8px; display:grid; grid-template-columns:42px minmax(0,1fr); gap:8px; align-items:center; border:0; border-left:4px solid #0078d4; background:#f0f6ff; }
.risk-v1-context .criterion-context-code,
.msr-parent-context .criterion-context-code{ width:34px; height:32px; font-size:9px; }
.risk-v1-context strong,
.msr-parent-context strong,
.follow-up-v1-card .follow-up-parent-context strong{ color:#294d78; font-size:10px; }
.risk-v1-context small,
.msr-parent-context small,
.follow-up-v1-card .follow-up-parent-context small{ display:block; margin-top:2px; color:#626262; font-size:8px; }
.risk-v1-context a,
.msr-parent-context a,
.follow-up-v1-card .follow-up-parent-context a{ color:#1767ed; }
.risk-v1-section{ margin-top:9px; padding-top:9px; border-top:1px solid #d6d6d6; }
.risk-v1-section > .technical-measure-title-text,
.risk-v1-section-heading > .technical-measure-title-text,
.follow-up-section-title{ margin:0 0 7px; color:#1767ed; font-size:11px; font-weight:400; }
.risk-v1-section-heading{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.risk-v1-evaluation-grid{ display:grid; grid-template-columns:minmax(230px,.85fr) minmax(280px,1.15fr); gap:10px; align-items:end; margin-top:10px; }
.risk-v1-evaluation-grid .documentation-field{ gap:5px; }
.risk-v1-evaluation-grid .criterion-select{ min-height:34px; }
.risk-v1-remark{ width:100%; min-height:62px; height:62px; padding:7px 8px; border:1px solid #b8cde2; border-radius:5px; color:#21466e; background:#fff; font:inherit; font-size:10px; line-height:1.35; resize:vertical; }
.risk-v1-result{ display:grid; grid-template-columns:minmax(0,1fr) minmax(180px,.34fr); gap:8px; margin-top:10px; }
.risk-v1-ris-score,
.risk-v1-plr-score{ min-height:64px; padding:8px 12px; display:grid; align-items:center; border:1px solid #d6d6d6; }
.risk-v1-ris-score{ grid-template-columns:auto auto minmax(0,1fr); gap:8px; border-left:4px solid var(--scale-light,#7a7a7a); background:var(--scale-light-surface,#f3f3f3); }
.risk-v1-ris-score > span{ color:#555; font-size:9px; font-weight:700; }
.risk-v1-ris-score > strong{ color:var(--scale-light,#202020); font-size:24px; line-height:1; }
.risk-v1-ris-score > b{ overflow:hidden; color:#202020; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.risk-v1-plr-score{ grid-template-columns:auto auto; grid-template-rows:auto auto; gap:1px 8px; border-left:4px solid var(--plr-light,#7a7a7a); background:var(--plr-light-surface,#f3f3f3); }
.risk-v1-plr-score > span{ color:#555; font-size:9px; font-weight:600; }
.risk-v1-plr-score > strong{ grid-row:1 / span 2; grid-column:2; color:var(--plr-light,#202020); font-size:25px; line-height:1; text-align:right; }
.risk-v1-plr-score > small{ color:#666; font-size:8px; }
.risk-v1-inherited .risk-inherited-grid{ gap:0; border:1px solid #d6d6d6; }
.risk-v1-inherited .cascade-criterion-field{ min-height:58px; padding:6px 8px; gap:2px; border:0; border-right:1px solid #e2e2e2; background:#fff; }
.risk-v1-inherited .cascade-criterion-field:last-child{ border-right:0; }
.risk-v1-inherited .cascade-field-label{ font-size:9px; }
.risk-v1-inherited .cascade-field-label b{ width:34px; min-height:22px; }
.risk-v1-inherited .cascade-readonly-value{ min-height:22px; font-size:9px; }
.risk-v1-inherited .cascade-criterion-field > small{ font-size:7px; }
.risk-children-panel{ margin-top:24px; padding:14px 0 0; border:0; border-top:1px solid #d6d6d6; background:transparent; }
.risk-children-panel .risk-v1-section-heading{ margin-bottom:8px; }
.risk-children-panel .measure-follow-up-list{ border-top:1px solid #d6d6d6; }
.risk-children-panel .measure-follow-up-row{ min-height:44px; padding:5px 8px; }
.risk-children-panel .follow-up-row-without-status{ grid-template-columns:58px minmax(0,1fr) 14px; }
.risk-children-panel .risk-no-msr{ min-height:44px; }

.reassessment-editor-detail.msr-v1-card{ display:block; }
.msr-v1-card .msr-parent-context{ margin-bottom:0; }
.msr-v1-card .mt-transfer-workspace{ margin-top:9px; padding:9px 0 0; border:0; border-top:1px solid #d6d6d6; background:transparent; }
.msr-v1-card .mt-transfer-grid{ margin-top:0; grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr); gap:7px; }
.msr-v1-card .mt-transfer-panel{ border-color:#d6d6d6; }
.msr-v1-card .mt-transfer-panel header{ min-height:34px; padding:5px 8px; }
.msr-v1-card .mt-transfer-panel header strong{ font-size:10px; }
.msr-v1-card .mt-transfer-panel header small{ font-size:8px; }
.msr-v1-card .mt-catalog-search{ min-height:31px; margin:6px; }
.msr-v1-card .mt-catalog-search{
    width:calc(100% - 12px);
    height:32px;
    box-sizing:border-box;
    overflow:hidden;
}
.msr-v1-card .mt-catalog-search input{
    width:100%;
    min-width:0;
    max-width:100%;
    height:30px;
    min-height:0;
    padding:0 !important;
    box-sizing:border-box;
    border:0 !important;
    border-radius:0 !important;
    outline:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}
.msr-v1-card .mt-transfer-list{ height:auto; min-height:70px; max-height:180px; }
.msr-v1-card .mt-catalog-panel .mt-transfer-list{ height:auto; min-height:70px; }
.msr-v1-card .mt-transfer-list:has(> .mt-transfer-empty:only-child){ min-height:42px; }
.msr-v1-card .mt-transfer-row{ min-height:43px; padding:5px 7px; }
.msr-v1-card .mt-transfer-thumb{ width:34px; height:34px; }
.msr-v1-card .mt-transfer-direction{ font-size:8px; }
.msr-description{ min-width:0; margin:0; grid-column:2 / -1; align-self:stretch; grid-template-rows:auto minmax(74px,1fr); }
.msr-description-full{ grid-column:1 / -1; }
.msr-description textarea{ width:100%; min-height:74px; height:100%; box-sizing:border-box; padding:7px 8px; border:1px solid #b8cde2; color:#21466e; background:#fff; font:inherit; font-size:10px; resize:vertical; }
.msr-v1-criteria{ margin-top:9px; padding:9px 0 0; border:0; border-top:1px solid #d6d6d6; background:transparent; }
.msr-v1-criteria .measure-influence-grid{ gap:6px; }
.msr-v1-card .msr-v1-criteria .msr-criteria-grid{ grid-template-columns:repeat(5,minmax(0,1fr)) !important; align-items:stretch; }
.msr-v1-criteria .measure-influence-field{ min-height:70px; padding:6px; grid-template-columns:36px minmax(0,1fr) auto; gap:4px 6px; border-color:#d6d6d6; border-radius:0; background:#fff; }
.msr-v1-criteria .measure-influence-field > span{ grid-column:1 / -1; color:#1767ed; font-size:9px; font-weight:400; }
.msr-v1-criteria .measure-influence-field > b{ grid-column:1; min-width:32px; padding:4px; font-size:10px; }
.msr-v1-criteria .measure-influence-field > .criterion-select{ grid-column:2; min-height:30px; }
.msr-v1-criteria .criterion-effect{ grid-column:3; font-size:8px; }
.msr-v1-result{ margin-top:9px; padding-top:9px; border-top:1px solid #d6d6d6; }
.msr-v1-result .risk-comparison-result{ min-height:58px; }
.msr-v1-result .risk-comparison-main em{ color:#5e6268; font-size:9px; font-style:normal; }
.msr-incomplete-evaluation{ order:3; margin-top:9px; }

/* Aide contextuelle issue de la méthode active. */
.criterion-select-with-help{ position:relative; min-width:0; width:100%; display:grid; grid-template-columns:minmax(0,1fr) 22px; gap:5px; align-items:center; }
.criterion-select-with-help > select{ min-width:0; width:100%; }
.criterion-help-trigger{ width:22px; height:22px; display:grid; place-items:center; border:1px solid #8d9baa; border-radius:50%; color:#1767ed; background:#fff; font-size:10px; font-weight:700; line-height:1; cursor:help; user-select:none; }
.criterion-help-trigger:hover,
.criterion-help-trigger:focus-visible{ color:#fff; border-color:#1767ed; background:#1767ed; outline:none; }
.criterion-option-help{ position:absolute; z-index:80; top:calc(100% + 5px); right:0; width:min(330px,calc(100vw - 40px)); padding:9px 10px; display:none; color:#303030; border:1px solid #b8c2cc; background:#fff; font-size:9px; font-weight:400; line-height:1.45; white-space:normal; }
.criterion-editor-field > .criterion-select-with-help > .criterion-option-help{ left:0; right:auto; }
.criterion-editor-grid > .criterion-editor-field:last-child > .criterion-select-with-help > .criterion-option-help{ left:auto; right:0; }
.criterion-option-help strong{ display:block; margin-bottom:4px; color:#1767ed; font-size:9px; }
.criterion-option-help > span{ display:block; white-space:pre-line; }
.criterion-help-trigger:hover + .criterion-option-help,
.criterion-help-trigger:focus + .criterion-option-help,
.criterion-help-trigger:focus-visible + .criterion-option-help{ display:block; }
.measure-influence-field > .criterion-select-with-help{ grid-column:2; }
.measure-influence-field > .criterion-select-with-help > .criterion-select{ min-height:27px; font-size:10px; }
.measure-pev-edit .criterion-select-with-help > .criterion-select{ grid-column:auto; }
.msr-v1-criteria .measure-influence-field > .criterion-select-with-help > .criterion-select{ min-height:30px; }
.scenario-pev-cell .criterion-select-with-help{ min-width:170px; }
.method-help-definition{ color:#3f4b57; }
.method-help-selected-value{ margin-top:7px; padding-top:7px; border-top:1px solid #d7dde4; }
.method-help-selected-value > b{ display:block; margin-bottom:3px; color:#1767ed; font-size:9px; }
.method-help-selected-value > span{ display:block; }
.method-criterion-help-host,
.method-scale-help-host{ position:relative; display:inline-grid; place-items:center; flex:0 0 auto; }
.method-criterion-help-host .criterion-help-trigger{ width:17px; height:17px; font-size:8px; }
.method-scale-help-host > .criterion-help-trigger:hover + .criterion-option-help,
.method-scale-help-host > .criterion-help-trigger:focus + .criterion-option-help,
.method-scale-help-host > .criterion-help-trigger:focus-visible + .criterion-option-help,
.method-criterion-help-host > .criterion-help-trigger:hover + .criterion-option-help,
.method-criterion-help-host > .criterion-help-trigger:focus + .criterion-option-help,
.method-criterion-help-host > .criterion-help-trigger:focus-visible + .criterion-option-help{ display:block; }
.method-scale-help{ width:min(440px,calc(100vw - 40px)); }
.method-scale-help-bands{ margin-top:7px; display:grid !important; border-top:1px solid #d7dde4; }
.method-scale-help-band{ min-height:34px; padding:5px 0; display:grid !important; grid-template-columns:8px 58px minmax(0,1fr); gap:2px 7px; align-items:center; border-bottom:1px solid #eceff2; }
.method-scale-help-band > i{ grid-row:1 / span 2; width:6px; height:24px; }
.method-scale-help-band > b{ color:#4f5d6b; font-size:8px; font-weight:600; }
.method-scale-help-band > em{ color:#202020; font-size:9px; font-style:normal; font-weight:700; }
.method-scale-help-band > small{ grid-column:2 / -1; color:#596674; font-size:8px; line-height:1.35; }
.method-scale-help-band.selected{ margin:0 -5px; padding-right:5px; padding-left:5px; background:#edf4fc; }
.cascade-field-label{ display:flex; align-items:center; gap:4px; }
.cascade-field-label .method-criterion-help-host{ margin-left:auto; }
.risk-inherited-grid .cascade-field-label{ grid-template-columns:auto minmax(0,1fr) auto; }
.risk-v1-ris-score{ grid-template-columns:auto auto minmax(0,1fr) auto; }
.risk-v1-ris-score > .method-scale-help-host{ justify-self:end; }
.reassessment-score-header .risk-comparison-result{ overflow:visible; }
.risk-comparison-main small{ display:flex; align-items:center; justify-content:space-between; gap:7px; }
.risk-comparison-main .method-scale-help-host .criterion-help-trigger{ width:18px; height:18px; font-size:8px; }

.follow-up-v1-card .follow-up-parent-context .follow-up-reference{ min-height:30px; padding:4px 5px; font-size:8px; }
.follow-up-section-title{ margin-top:9px; padding-top:9px; border-top:1px solid #d6d6d6; }
.follow-up-v1-card .follow-up-editor-grid{ margin-top:0; grid-template-columns:minmax(0,1.45fr) minmax(220px,.55fr); gap:14px; }
.follow-up-v1-card .follow-up-fields{ gap:8px 10px; }
.follow-up-v1-card .follow-up-fields .field-wide{ grid-column:1 / -1; }
.follow-up-v1-card .follow-up-fields input,
.follow-up-v1-card .follow-up-fields select{ min-height:34px; }
.follow-up-v1-card .follow-up-remark{ min-height:78px; height:78px; resize:vertical; }
.follow-up-v1-card .follow-up-media{ gap:6px; }
.follow-up-v1-card .follow-up-pictogram-preview{ min-height:142px; height:142px; }
.follow-up-v1-card .follow-up-pictogram-preview img{ max-height:132px; }
.observation-v1-fields{ max-width:980px; grid-template-columns:repeat(2,minmax(0,1fr)); }
@container (max-width:900px){
    .risk-v1-evaluation-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
    .risk-v1-result{ grid-template-columns:1fr; }
    .msr-v1-card .mt-transfer-grid{ grid-template-columns:1fr; }
    .msr-v1-card .mt-transfer-direction{ display:none; }
    .msr-v1-card .msr-v1-criteria .msr-criteria-grid{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
    .msr-description{ grid-column:1 / -1; }
    .follow-up-v1-card .follow-up-editor-grid{ grid-template-columns:1fr; }
    .follow-up-v1-card .follow-up-media{ max-width:420px; }
}
@container (min-width:901px) and (max-width:1280px){
    .msr-v1-card .msr-v1-criteria .msr-criteria-grid{ grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
    .msr-description{ grid-column:1 / -1; }
}
@media (max-width:720px){
    .risk-v1-card,.msr-v1-card,.follow-up-v1-card{ padding:10px 12px; }
    .risk-v1-evaluation-grid,
    .observation-v1-fields{ grid-template-columns:1fr; }
    .risk-v1-result{ grid-template-columns:1fr; }
    .risk-v1-inherited .risk-inherited-grid{ grid-template-columns:1fr; }
    .risk-v1-inherited .cascade-criterion-field{ border-right:0; border-bottom:1px solid #e2e2e2; }
    .risk-v1-inherited .cascade-criterion-field:last-child{ border-bottom:0; }
    .msr-v1-card .msr-v1-criteria .msr-criteria-grid{ grid-template-columns:1fr !important; }
}
/* Public demo host */
.module-selector {
    position: relative;
    flex: 0 1 auto;
}

.module-selector-chevron {
    transition: transform .14s ease;
}

.module-selector-chevron.is-open {
    transform: rotate(180deg);
}

.module-selector-menu {
    width: 340px;
    position: absolute;
    top: calc(100% + 7px);
    left: 0;
    z-index: 1300;
    padding: 6px;
    border: 1px solid #bfc7d0;
    border-radius: 4px;
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(4, 27, 70, .2);
}

.module-menu-item {
    width: 100%;
    min-height: 48px;
    display: grid;
    grid-template-columns: 23px minmax(0, 1fr) 22px;
    align-items: center;
    gap: 8px;
    padding: 7px 9px;
    border: 0;
    border-radius: 3px;
    color: #242424;
    background: transparent;
    text-align: left;
}

.module-menu-item + .module-menu-item {
    border-top: 1px solid #eceff2;
}

.module-menu-item:hover {
    background: #edf4fb;
}

.module-menu-item.is-active {
    box-shadow: inset 3px 0 #2878b5;
}

.module-menu-item.is-locked {
    color: #555f6b;
}

.module-menu-mark {
    color: #2878b5;
    font-size: 13px;
    text-align: center;
}

.module-menu-item.is-locked .module-menu-mark {
    color: #8b6b27;
}

.module-menu-copy {
    min-width: 0;
    display: grid;
    gap: 3px;
}

.module-menu-copy strong {
    overflow: hidden;
    font-size: 10px;
    font-weight: 650;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.module-menu-copy small {
    color: #757575;
    font-size: 8px;
}

.module-menu-lock {
    color: #8b6b27;
    font-size: 11px;
    text-align: center;
}

.header-action {
    white-space: nowrap;
}

.demo-feature-notice {
    min-width: 380px;
    max-width: min(640px, calc(100vw - 28px));
    min-height: 54px;
    position: fixed;
    top: 66px;
    left: 50%;
    z-index: 1500;
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) 28px;
    align-items: center;
    gap: 10px;
    padding: 8px 10px 8px 12px;
    border: 1px solid #d9b45b;
    border-left: 4px solid #c88900;
    border-radius: 4px;
    background: #fff9e8;
    color: #4d3b12;
    box-shadow: 0 10px 28px rgba(4, 27, 70, .18);
    transform: translateX(-50%);
}

.demo-feature-notice-icon {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #f5e4b8;
    font-size: 13px;
}

.demo-feature-notice-copy {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.demo-feature-notice-copy strong {
    font-size: 10px;
}

.demo-feature-notice-copy small {
    overflow: hidden;
    color: #6a572b;
    font-size: 9px;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.demo-feature-notice > button {
    width: 26px;
    height: 26px;
    border: 0;
    border-radius: 3px;
    color: #72591d;
    background: transparent;
    font-size: 18px;
    line-height: 1;
}

.demo-feature-notice > button:hover {
    background: #f1dfb2;
}

.demo-mode-badge {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 11px;
    border: 1px solid #d69b18;
    border-radius: 999px;
    background: #fff7dd;
    color: #7a4b00;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    white-space: nowrap;
}

@media (max-width: 1050px) {
    .module-selector-menu { width: 310px; }
}

@media (max-width: 720px) {
    .module-selector-button { min-width: 160px; }
    .module-selector-menu { width: min(310px, calc(100vw - 24px)); }
    .demo-feature-notice { min-width: 0; top: 70px; }
    .demo-feature-notice-copy small { white-space: normal; }
}

.global-tree-file-actions.demo-tree-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.global-tree-file-actions .demo-new-project-button {
    color: #155b91;
}

.global-tree-file-actions .demo-open-project-button {
    color: #176b4a;
}

.global-tree-project-file-actions .global-tree-project-close {
    color: #7d3a3a;
    font-size: 18px;
}

.global-tree-project-file-actions .global-tree-project-close:hover {
    color: #a51d1d;
    background: #f4dddd;
}

.demo-session-hint {
    margin: 7px 4px 0;
    color: #6f4d0a;
    line-height: 1.3;
}
