.consolidated-toolbar{align-items:end;display:flex;flex-wrap:wrap;gap:12px}.consolidated-toolbar label{display:grid;gap:5px;font-size:.8rem;font-weight:700}.consolidated-toolbar input{min-height:38px}.toolbar-actions{display:flex;flex-wrap:wrap;gap:8px}.toolbar-actions .button-link{border:0;cursor:pointer}.column-filters{border-top:1px solid #d7e3e1;margin-top:18px;padding-top:14px}.column-filters summary{color:#174b45;cursor:pointer;font-size:.9rem;font-weight:800;list-style:none}.column-filters summary::-webkit-details-marker{display:none}.column-filters summary::before{color:#08736a;content:'+';display:inline-block;font-size:1.25rem;margin-right:8px}.column-filters[open] summary::before{content:'-';}.column-filters summary span{color:#667d7a;font-size:.78rem;font-weight:400;margin-left:8px}.column-filter-grid{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:16px}.column-filter-grid label{color:#385855;display:grid;font-size:.73rem;font-weight:700;gap:4px}.column-filter-grid input,.column-filter-grid select{font-size:.86rem;min-height:36px;padding:7px 8px}.column-filter-actions{align-items:center;display:flex;gap:12px;justify-content:flex-end;margin-top:14px}.column-filter-actions a{color:#08736a;font-size:.84rem;font-weight:700;text-decoration:none}.column-filter-actions button{font-size:.84rem;min-height:36px;padding:8px 12px}@media(max-width:900px){.column-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.column-filter-grid{grid-template-columns:1fr}.column-filters summary span{display:block;margin:5px 0 0 25px}.column-filter-actions{justify-content:space-between}.toolbar-actions{width:100%}.toolbar-actions button{flex:1}.consolidated-toolbar>label{width:100%}}
.national-filter input[type="date"],.consolidated-toolbar input[type="date"]{width:154px}.report-filters{border-top:1px solid #d7e3e1;margin-top:14px;padding-top:12px;width:100%}.report-filters summary{color:#174b45;cursor:pointer;font-size:.86rem;font-weight:800;list-style:none}.report-filters summary::-webkit-details-marker{display:none}.report-filters summary::before{color:#08736a;content:'+';font-size:1.1rem;margin-right:7px}.report-filters[open] summary::before{content:'-';}.report-filter-grid{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;width:100%}.report-filter-grid label{color:#385855;display:inline-grid;flex:0 0 172px;font-size:.74rem;gap:4px;width:172px}.report-filter-grid input,.report-filter-grid select{font-size:.85rem;min-height:36px;max-width:172px;padding:7px 8px;width:100%}.report-filter-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:12px;width:100%}.report-filter-actions a{color:#08736a;font-size:.82rem;font-weight:700;text-decoration:none}.report-filter-actions button{font-size:.82rem;min-height:36px;padding:8px 12px}@media(max-width:700px){.national-filter input[type="date"],.consolidated-toolbar input[type="date"]{width:145px}.report-filter-grid label{flex:0 0 150px;width:150px}.report-filter-grid input,.report-filter-grid select{max-width:150px}}@media(max-width:500px){.report-filter-grid label{flex:1 1 100%;width:100%}.report-filter-grid input,.report-filter-grid select{max-width:none}.report-filter-actions{justify-content:space-between}}
.consolidated-toolbar input[type="date"]{width:154px}.column-filter-grid{display:flex;flex-wrap:wrap}.column-filter-grid label{display:inline-grid;flex:0 0 172px;width:172px}.column-filter-grid input,.column-filter-grid select{max-width:172px;width:100%}@media(max-width:560px){.consolidated-toolbar input[type="date"]{width:150px}.column-filter-grid label{flex:1 1 100%;width:100%}.column-filter-grid input,.column-filter-grid select{max-width:none}}
.national-filter+.muted{margin-bottom:0}.kpi-grid{display:grid;gap:12px;grid-template-columns:repeat(6,minmax(130px,1fr));margin-bottom:20px}.reception-kpi-grid{grid-template-columns:repeat(7,minmax(140px,1fr))}.kpi-grid article{background:#fff;border:1px solid #c9d8d5;border-top:4px solid #174b45;padding:14px}.kpi-grid small{color:#4d6561;display:block;font-weight:700}.kpi-grid strong{color:#123a35;display:block;font-size:1.65rem;margin-top:7px}@media(max-width:850px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.national-nav{flex-wrap:nowrap;overflow:auto;padding-bottom:5px}.national-nav a{white-space:nowrap}}
.validation-table{min-width:1180px}.cell-textarea{border:0;min-height:54px;min-width:150px;padding:6px;resize:vertical;width:100%}.cell-textarea:focus{background:#fff7d6;outline:2px solid #be8c20}.validation-conclusion{margin-top:20px}.validation-conclusion h2{font-size:1rem}.conclusion-counts{display:flex;flex-wrap:wrap;gap:22px}.conclusion-counts p{margin:0}.decision-fieldset{border:1px solid #c9d8d5;margin:16px 0;padding:12px}.decision-fieldset label{display:block;margin:8px 0}
.valider-tout-form{display:inline-flex;margin:0 0 18px}.valider-tout-form button{align-items:center;background:linear-gradient(135deg,#0d9488,#123f41);border-radius:8px;box-shadow:0 4px 14px rgba(18,63,65,.35);color:#fff;display:inline-flex;font-size:.88rem;font-weight:800;gap:8px;letter-spacing:.03em;min-height:44px;padding:11px 24px;text-transform:uppercase;transition:transform .15s,box-shadow .15s}.valider-tout-form button::before{content:'✓✓';font-size:.8rem;letter-spacing:0}.valider-tout-form button:hover{box-shadow:0 6px 18px rgba(18,63,65,.45);transform:translateY(-2px)}
.valider-jour-form{display:inline-flex;margin:10px 0}.valider-jour-form button{align-items:center;background:#fff;border:2px solid #08736a;border-radius:20px;color:#08736a;display:inline-flex;font-size:.76rem;font-weight:700;gap:6px;min-height:34px;padding:6px 16px;transition:background .15s,color .15s,transform .15s}.valider-jour-form button::before{content:'✓';font-size:.85rem}.valider-jour-form button:hover{background:#08736a;color:#fff;transform:translateY(-1px)}
.validation-detail-trigger{background:transparent;border:0;color:#075f57;cursor:pointer;font:inherit;font-weight:700;padding:0;text-align:left;text-decoration:underline}.validation-alert-trigger{color:#a5510d}.validation-releves-popup{border:0;box-shadow:0 18px 55px rgba(18,43,45,.32);max-height:88vh;max-width:98vw;padding:0;width:min(1720px,98vw)}.validation-releves-popup::backdrop{background:rgba(9,35,37,.52)}.validation-releves-popup-header{align-items:center;background:#174b45;color:#fff;display:flex;justify-content:space-between;padding:12px 16px}.validation-releves-popup-header h2{font-size:1rem;margin:0}.validation-releves-popup-header button{background:transparent;border:0;color:#fff;cursor:pointer;font-size:1.5rem;line-height:1}.validation-releves-content{max-height:calc(88vh - 54px);overflow:auto;padding:12px}.validation-releves-content .consolidated-table{font-size:.68rem;min-width:2250px}.validation-releves-content .consolidated-table th{padding:7px 9px}.validation-releves-content .consolidated-table td{padding:6px 9px;white-space:nowrap}.validation-releves-content .consolidated-table th:nth-child(6),.validation-releves-content .consolidated-table td:nth-child(6){min-width:150px}.validation-releves-content .consolidated-table th:nth-child(7),.validation-releves-content .consolidated-table td:nth-child(7){min-width:170px}.validation-releves-content .consolidated-table th:nth-child(10),.validation-releves-content .consolidated-table td:nth-child(10){min-width:150px}.validation-releves-content .consolidated-table th:nth-child(12),.validation-releves-content .consolidated-table td:nth-child(12){min-width:280px}.validation-releves-content .consolidated-table th:nth-child(26),.validation-releves-content .consolidated-table td:nth-child(26){min-width:220px}.validation-releves-content .consolidated-table th:nth-child(27),.validation-releves-content .consolidated-table td:nth-child(27){min-width:180px}
.popup-releves-filters{align-items:end;background:#eef5f3;border:1px solid #c9d8d5;display:flex;flex-wrap:wrap;gap:10px;margin:0 0 10px;padding:8px}.popup-releves-filters label{display:grid;font-size:.72rem;font-weight:700;gap:4px}.popup-releves-filters label:first-child{align-items:center;display:flex;min-height:32px}.popup-releves-filters select{font-size:.75rem;min-width:150px;padding:4px}.popup-releves-filters button{font-size:.75rem;min-height:32px;padding:5px 9px}

.consolidated-toolbar .quick-rup-filter {
    align-items: center;
    display: flex;
    gap: 6px;
    min-height: 38px;
    white-space: nowrap;
}

.consolidated-toolbar .quick-rup-filter input {
    min-height: auto;
}

.consolidated-toolbar .quick-alert-filter select {
    font-size: .78rem;
    min-width: 160px;
    padding: 6px;
}
.line-save-button{display:block;font-size:.75rem;margin-top:8px;padding:6px 8px;white-space:nowrap}
.zone-indicators{margin-top:20px}.zone-indicators h2{font-size:1rem}.zone-indicators dl{display:grid;gap:12px;grid-template-columns:repeat(5,minmax(150px,1fr));margin:0}.zone-indicators dl div{border-left:3px solid #174b45;padding-left:10px}.zone-indicators dt{color:#4d6561;font-size:.82rem;font-weight:700}.zone-indicators dd{font-size:1.3rem;font-weight:700;margin:5px 0 0}@media(max-width:850px){.zone-indicators dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
.synthese-layout{display:grid;gap:20px;grid-template-columns:minmax(0,1.45fr) minmax(340px,.8fr);margin-bottom:20px}.price-chart{background:#fff;border:1px solid #c9d8d5;padding:16px}.price-chart h2,.command-grid h2{font-size:1rem;margin-top:0}.chart-legend{display:flex;gap:16px;font-size:.8rem;font-weight:700;margin-bottom:14px}.chart-legend span::before{content:'';display:inline-block;height:10px;margin-right:6px;width:10px}.legend-essence::before{background:#087f73}.legend-gasoil::before{background:#c8831b}.chart-row{display:grid;gap:8px;grid-template-columns:54px 1fr;margin:14px 0}.chart-row strong{font-size:.78rem}.chart-bars{display:grid;gap:5px;overflow:hidden}.chart-bar{align-items:center;color:#123f41;display:flex;font-size:.74rem;font-weight:700;height:18px;max-width:calc(100% - 64px);position:relative;width:var(--bar-value)}.chart-bar span{margin-left:8px;overflow:hidden;position:absolute;text-overflow:ellipsis;transform:translateX(100%);white-space:nowrap}.chart-bar.essence{background:#087f73}.chart-bar.gasoil{background:#d69a37}.synthese-note{background:#fff5d7;border-left:4px solid #be8c20;font-size:.88rem;margin:20px 0;padding:12px}.reference-sheet{margin-bottom:20px}.command-grid{display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}.command-grid dl{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.command-grid dt{color:#4d6561;font-size:.78rem;font-weight:700}.command-grid dd{font-size:1.25rem;font-weight:700;margin:5px 0}.command-grid p{color:#4d6561;font-size:.86rem}@media(max-width:900px){.synthese-layout,.command-grid{grid-template-columns:1fr}.command-grid dl{grid-template-columns:1fr}}
/* Canevas national */
.national-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}.national-nav a{background:#e8f1ef;border:1px solid #bed4d0;border-radius:4px;color:#174b45;font-size:.83rem;font-weight:700;padding:8px 10px;text-decoration:none}.national-nav a:hover{background:#174b45;color:#fff}.national-filter{align-items:end;display:flex;flex-wrap:wrap;gap:12px}.national-filter label{display:grid;gap:5px;font-weight:700}.national-filter input{min-height:38px}.excel-sheet{background:#fff;border:1px solid #c9d8d5;overflow:hidden}.excel-sheet table{border-collapse:collapse;font-size:.8rem;width:100%}.excel-sheet th{background:#315b5a;color:#fff;font-weight:700;padding:9px 8px;text-align:left;white-space:nowrap}.excel-sheet td{border-bottom:1px solid #dce7e5;padding:8px;vertical-align:top}.excel-sheet tbody tr:nth-child(even){background:#f4f8f7}.consolidated-table{min-width:1900px}.national-filter+.muted{margin-bottom:0}.kpi-grid{display:grid;gap:12px;grid-template-columns:repeat(6,minmax(130px,1fr));margin-bottom:20px}.kpi-grid article{background:#fff;border:1px solid #c9d8d5;border-top:4px solid #174b45;padding:14px}.kpi-grid small{color:#4d6561;display:block;font-weight:700}.kpi-grid strong{color:#123a35;display:block;font-size:1.65rem;margin-top:7px}@media(max-width:850px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.national-nav{flex-wrap:nowrap;overflow:auto;padding-bottom:5px}.national-nav a{white-space:nowrap}}
/* Styles limits aux actions dans les tableaux de configuration. */
:root {
    --c: #006d68;
    --c-dark: #123f41;
    --ink: #152b2d;
    --line: #d8e3e1;
}

body {
    background: #f3f7f6;
    color: var(--ink);
    font-family: "Segoe UI", Candara, sans-serif;
}

header {
    padding: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    background: linear-gradient(108deg, #102f31 0%, #164d4d 56%, #0d7067 100%);
    box-shadow: 0 5px 18px rgba(18, 63, 65, 0.19);
}

.header-inner {
    display: flex;
    align-items: center;
    width: min(1480px, calc(100% - 32px));
    min-height: 72px;
    margin: 0 auto;
    gap: 26px;
}

.brand {
    display: inline-flex;
    align-items: center;
    flex: 0 1 310px;
    min-width: 220px;
    gap: 10px;
    color: #ffffff;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0;
    text-decoration: none;
}

.brand-mark {
    display: grid;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.68);
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.12);
    font-size: 12px;
    letter-spacing: 0;
}

.brand-mark img {
    display: block;
    max-height: 28px;
    max-width: 28px;
    object-fit: contain;
}

/* Ecran de connexion institutionnel. */
.login-page{background:linear-gradient(90deg,#0c665e 0 7px,#f2c230 7px 14px,#c43839 14px 21px,transparent 21px),repeating-linear-gradient(0deg,rgba(15,86,81,.06) 0 1px,transparent 1px 34px),repeating-linear-gradient(90deg,rgba(15,86,81,.06) 0 1px,transparent 1px 34px),#eaf2f1;color:#173637}.login-page header{display:none}.login-page main{align-items:center;display:flex;min-height:100vh;padding:36px;width:min(1180px,calc(100% - 40px))}.login-shell{display:grid;gap:72px;grid-template-columns:minmax(0,1.1fr) minmax(360px,.72fr);width:100%}.login-intro{border-left:4px solid #d3a82d;padding:14px 0 14px 30px}.login-logo{align-items:center;background:#fff;box-shadow:0 8px 22px rgba(22,76,72,.12);display:flex;height:102px;justify-content:center;margin-bottom:26px;width:102px}.login-logo img{height:88px;object-fit:contain;width:88px}.login-intro>small,.login-card-heading small{color:#08736a;font-size:.75rem;font-weight:800;letter-spacing:0}.login-intro h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.8rem,2.8vw,2.7rem);line-height:1.1;margin:12px 0 18px;max-width:680px}.login-intro>p{color:#456260;font-size:1.08rem;line-height:1.6;margin:0;max-width:600px}.login-divider{background:#d3a82d;height:2px;margin:28px 0 16px;width:74px}.login-intro .login-institution{color:#173637;font-size:.86rem;font-weight:700;line-height:1.45;max-width:490px}.login-card{align-self:center;background:#fff;border:1px solid #c5d5d2;box-shadow:0 18px 45px rgba(23,54,55,.15);display:grid;gap:18px;padding:34px}.login-card-heading h2{font-size:2rem;margin:5px 0 7px}.login-card-heading p,.login-help{color:#617b78;font-size:.84rem;line-height:1.5;margin:0}.login-card label{color:#284947;font-size:.8rem;gap:7px}.login-card input{border:1px solid #abc3bf;border-radius:2px;min-height:46px;padding:11px 12px}.login-card input:focus{border-color:#08736a;box-shadow:0 0 0 3px rgba(8,115,106,.14);outline:0}.login-card button{background:#08736a;border-radius:2px;font-weight:800;min-height:48px}.login-card button:hover{background:#075f58}.login-help{border-top:1px solid #dbe6e4;padding-top:16px}@media(max-width:780px){.login-page main{align-items:start;padding:30px 0;width:min(100% - 32px,560px)}.login-shell{gap:32px;grid-template-columns:1fr}.login-intro{border-left:0;border-top:4px solid #d3a82d;padding:22px 0 0}.login-logo{height:78px;margin-bottom:18px;width:78px}.login-logo img{height:66px;width:66px}.login-intro h1{font-size:2.45rem}.login-card{padding:24px}}

.login-authorities{display:flex;flex-wrap:wrap;gap:22px;margin-top:28px}.login-authorities figure{align-items:center;display:flex;flex-direction:column;gap:9px;margin:0}.login-authorities img{background:#fff;border:3px solid #fff;border-radius:50%;box-shadow:0 8px 20px rgba(22,76,72,.18);height:78px;object-fit:cover;width:78px;transition:transform .2s,box-shadow .2s}.login-authorities figcaption{color:#284947;line-height:1.3;text-align:center}.login-authorities figcaption strong{display:block;font-size:.78rem;font-weight:800}.login-authorities figcaption span{color:#5c7573;font-size:.7rem}

@media(min-width:821px){
    .login-authorities{gap:38px;margin-top:36px}
    .login-authorities img{border-width:4px;border-radius:50%;box-shadow:0 14px 32px rgba(22,76,72,.24);height:132px;width:132px}
    .login-authorities figure:hover img{box-shadow:0 18px 40px rgba(22,76,72,.32);transform:translateY(-4px)}
    .login-authorities figcaption strong{font-size:.92rem}
    .login-authorities figcaption span{font-size:.78rem}
}

@media(max-width:820px){
    .login-shell{gap:34px;grid-template-columns:1fr}
    .login-intro{border-left-width:3px;padding:10px 0 10px 20px}
    .login-card{margin:0 auto;max-width:460px;width:100%}
}

@media(max-width:600px){
    .login-page{background:linear-gradient(90deg,#0c665e 0 33.333%,#f2c230 33.333% 66.666%,#c43839 66.666%) top/100% 5px no-repeat,#f4f8f7}
    .login-page main{align-items:start;min-height:100svh;padding:24px 0 30px;width:min(100% - 28px,480px)}
    .login-shell{gap:20px}
    .login-intro{align-items:center;border:0;column-gap:13px;display:grid;grid-template-columns:62px minmax(0,1fr);padding:8px 0}
    .login-logo{box-shadow:none;grid-column:1;grid-row:1;height:62px;margin:0;width:62px}
    .login-logo img{height:52px;width:52px}
    .login-intro>small{align-self:center;grid-column:2;grid-row:1;font-size:.62rem;line-height:1.2}
    .login-intro h1{font-size:1.72rem;grid-column:1 / -1;grid-row:2;line-height:1.06;margin:13px 0 0}
    .login-intro>p,.login-divider{display:none}
    .login-authorities{grid-column:1 / -1;grid-row:3;gap:16px;justify-content:center;margin-top:16px}
    .login-authorities img{height:54px;width:54px}
    .login-authorities figcaption strong{font-size:.68rem}
    .login-authorities figcaption span{font-size:.62rem}
    .login-card{border:1px solid #d3e0de;box-shadow:0 12px 28px rgba(18,63,65,.12);gap:16px;padding:24px 20px}
    .login-card-heading h2{font-size:1.7rem}
    .login-card-heading p{font-size:.8rem}
    .login-card input{font-size:16px;min-height:50px}
    .login-card button{min-height:52px}
    .login-help{font-size:.76rem;padding-top:14px}
}

.main-nav,
.user-actions {
    display: flex;
    align-items: center;
    gap: 5px;
}

.main-nav {
    flex: 1 1 auto;
}

.main-nav a,
.user-actions > a {
    padding: 9px 10px;
    border-radius: 4px;
    color: rgba(255, 255, 255, 0.84);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: background .18s ease, color .18s ease;
}

.main-nav a:hover,
.user-actions > a:hover {
    background: rgba(255, 255, 255, 0.13);
    color: #ffffff;
}

.user-actions {
    padding-left: 16px;
    border-left: 1px solid rgba(255, 255, 255, 0.22);
}

.user-actions .inline-form {
    margin: 0;
}

.user-actions button {
    min-height: auto;
    padding: 8px 10px;
    border: 1px solid rgba(255, 255, 255, 0.44);
    border-radius: 4px;
    background: transparent;
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
}

.user-actions button:hover {
    background: #ffffff;
    color: var(--c-dark);
}

main {
    width: min(1480px, calc(100% - 32px));
    max-width: none;
    margin: 0 auto;
    padding: 30px 0 48px;
}

h1, h2, h3 {
    color: #153f40;
    font-family: Georgia, "Times New Roman", serif;
}

.card,
.stats article,
.menu-card {
    border-color: var(--line);
    box-shadow: 0 1px 2px rgba(14, 43, 43, 0.04);
}
.table-wrap {
    padding-bottom: 8px;
}

.page-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
}

.page-heading h1 {
    margin: 4px 0 0;
}

.list-tools {
    display: flex;
    align-items: center;
    gap: 12px;
}

.recommendation-filter-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: -8px 0 18px;
}

.recommendation-filter {
    align-items: center;
    background: #fff;
    border: 1px solid #c7d9d5;
    color: #214944;
    display: inline-flex;
    font-size: .8rem;
    font-weight: 700;
    gap: 10px;
    min-height: 40px;
    padding: 6px 8px 6px 12px;
    text-decoration: none;
}

.recommendation-filter:hover,
.recommendation-filter.is-active {
    background: #e7f3f0;
    border-color: #08736a;
    color: #075f57;
}

.recommendation-filter:first-child b {
    background: #fff0cf;
    color: #805000;
}

.recommendation-filter.is-red b { background: #fee2e2; color: #9c2424; }
.recommendation-filter.is-orange b { background: #ffead7; color: #a94e0d; }
.recommendation-filter.is-yellow b { background: #fff7c9; color: #766000; }
.recommendation-filter.is-all b { background: #e6edf0; color: #31515a; }

.recommendation-filter b {
    align-items: center;
    background: #dcefeb;
    color: #075f57;
    display: inline-flex;
    font-size: .84rem;
    justify-content: center;
    min-width: 27px;
    padding: 4px 7px;
}

@media (max-width: 560px) {
    .recommendation-filter-bar { display: grid; grid-template-columns: 1fr; }
    .recommendation-filter { justify-content: space-between; }
}

.filter-trigger {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid #8eabaa;
    border-radius: 4px;
    background: #ffffff;
    cursor: pointer;
}

.filter-icon,
.filter-icon::before,
.filter-icon::after {
    display: block;
    height: 3px;
    border-radius: 2px;
    background: var(--c);
    content: '';
}

.filter-icon {
    position: relative;
    width: 22px;
}

.filter-icon::before,
.filter-icon::after {
    position: absolute;
}

.filter-icon::before {
    width: 15px;
    top: -7px;
    left: 0;
}

.filter-icon::after {
    width: 9px;
    top: 7px;
    left: 0;
}

.filter-dialog {
    width: min(520px, 86vw);
    margin: 82px 5% auto auto;
    padding: 18px;
    border: 1px solid #b8c6c8;
    border-radius: 6px;
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(21, 36, 43, 0.18);
}

.synthese-date-toolbar {
    align-items: end;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.synthese-date-toolbar label {
    width: 154px;
}

.synthese-date-toolbar .filter-popup {
    position: relative;
}

.synthese-date-toolbar .filter-dialog {
    margin: 10px 0 0;
}

.filter-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.wide-field {
    grid-column: span 2;
}

.province-picker {
    margin: 0;
    padding: 14px;
    border: 1px solid #9cbab7;
    background: #f7fbfa;
}

.province-picker legend {
    padding: 0 6px;
    color: var(--c);
    font-weight: bold;
}

.province-picker p {
    margin: 0 0 12px;
    color: #607175;
    font-size: 13px;
}

.province-options {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    max-height: 210px;
    overflow-y: auto;
    padding-right: 6px;
}

.province-options label {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    padding: 8px 10px;
    border: 1px solid #d9e6e4;
    border-radius: 4px;
    background: #ffffff;
    color: #243536;
    cursor: pointer;
    font-size: 13px;
}

.province-options input {
    width: auto;
    margin: 0;
    accent-color: var(--c);
}

.province-options span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.filter-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

.filter-actions a {
    color: var(--c);
    font-weight: bold;
    text-decoration: none;
}

.filter-actions button {
    width: auto;
}

.filter-actions div {
    display: flex;
    gap: 8px;
}

.filter-actions .close-filter {
    background: #607175;
}

.button-link,
.actions a {
    color: var(--c);
    font-weight: bold;
    text-decoration: none;
}

.sheet-date-link {
    color: #000000;
    font-weight: bold;
    text-decoration: underline;
}

.button-link {
    padding: 10px 14px;
    border-radius: 4px;
    background: var(--c);
    color: #ffffff;
}

.actions a + a {
    margin-left: 12px;
}

.actions .danger-link {
    color: #a33;
}

.fiche-edit-trigger {
    align-items: center;
    background: #f1f7f6;
    border: 1px solid #9fc2bc;
    border-radius: 3px;
    color: #075f57;
    cursor: pointer;
    display: inline-flex;
    font-size: 1.1rem;
    font-weight: 700;
    height: 30px;
    justify-content: center;
    line-height: 1;
    padding: 0;
    width: 30px;
}

.fiche-edit-trigger:hover,
.fiche-edit-trigger:focus-visible {
    background: #dceeea;
    outline: 2px solid #075f57;
    outline-offset: 1px;
}

.fiche-editor-popup {
    border: 0;
    border-radius: 5px;
    box-shadow: 0 18px 48px rgba(18, 63, 65, .28);
    max-width: min(720px, calc(100vw - 32px));
    padding: 0;
    width: 720px;
}

.fiche-editor-popup::backdrop {
    background: rgba(18, 63, 65, .35);
}

.fiche-editor-popup-header {
    align-items: center;
    background: #eaf3f1;
    border-bottom: 1px solid #c9dfda;
    display: flex;
    justify-content: space-between;
    padding: 12px 16px;
}

.fiche-editor-popup-header h2 {
    font-size: 1rem;
    margin: 0;
}

.fiche-editor-popup-header button {
    background: transparent;
    border: 0;
    color: #275650;
    cursor: pointer;
    font-size: 1.35rem;
    height: 30px;
    padding: 0;
    width: 30px;
}

.fiche-popup-form {
    padding: 16px;
}

.fiche-popup-feedback {
    color: #a33;
    min-height: 1.2rem;
}

.fiche-popup-actions {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    margin-top: 16px;
}

.input-data {
    background: #fff9cf;
}

.section-heading,
.line-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.section-heading h2 {
    margin-bottom: 4px;
}

.releve-list {
    display: grid;
    gap: 16px;
    margin-top: 20px;
}

.releve-line {
    padding: 18px;
    border: 1px solid #d9e1e1;
    border-left: 4px solid var(--c);
    border-radius: 6px;
    background: #fafffe;
}

.line-heading {
    margin-bottom: 14px;
}

.remove-line {
    width: auto;
    padding: 7px 10px;
    background: #ffffff;
    color: #a33;
    border: 1px solid #d9a5a5;
}

.releve-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.releve-grid input,
.releve-grid select {
    min-width: 0;
}

.observation-field {
    grid-column: span 2;
}

.fiche-summary dl,
.verification-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 0;
}

.fiche-summary dl > div,
.verification-grid > div,
.price-override {
    min-width: 0;
    padding: 12px;
    border: 1px solid #d9e1e1;
    border-radius: 5px;
    background: #ffffff;
}

.fiche-summary dt,
.verification-grid span,
.price-override {
    color: #607175;
    font-size: 12px;
    font-weight: bold;
}

.fiche-summary dd,
.verification-grid b {
    display: block;
    margin: 5px 0 0;
    overflow-wrap: anywhere;
}

.verification-list {
    display: grid;
    gap: 16px;
    margin-top: 18px;
}

.verification-line {
    padding: 18px;
    border: 1px solid #d9e1e1;
    border-radius: 6px;
    background: #fbfdfd;
}

.auto-value {
    background: #e1f4e6 !important;
    border-color: #b8dfc3 !important;
}

.price-override input {
    margin-top: 7px;
    background: #fff9cf;
}

.price-override small {
    display: block;
    margin-top: 6px;
    color: #4f6962;
}

.status-draft {
    padding: 7px 10px;
    border-radius: 4px;
    background: #fff0b9;
    color: #725a00;
    font-weight: bold;
}

.alert-vert,
.alert-jaune,
.alert-orange,
.alert-rouge {
    display: inline-block;
    padding: 5px 9px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: bold;
}

.alert-vert { background: #dff4e4; color: #176536; }
.alert-jaune { background: #fff1b8; color: #725a00; }
.alert-orange { background: #ffe0bf; color: #914208; }
.alert-rouge { background: #f9d6d6; color: #9b2020; }

.consolidated-table th:nth-child(12),
.consolidated-table td:nth-child(12) {
    min-width: 280px;
}

.national-alert-banner {
    display: grid;
    gap: 10px;
    margin: 0 0 16px;
}

.national-heading-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.national-mode-trigger {
    flex: 0 0 auto;
}

.national-mode-dialog {
    max-width: 620px;
    padding: 18px;
}

.national-mode-dialog h2 {
    font-size: 1rem;
    margin: 0 0 6px;
}

.national-mode-dialog p {
    margin: 0 0 12px;
}

.national-mode-dialog .province-options {
    max-height: 340px;
    overflow-y: auto;
}

.national-alert {
    align-items: center;
    border-left: 7px solid currentColor;
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    padding: 14px 16px;
}

.national-alert strong {
    font-size: 1rem;
}

.national-alert-beacon {
    animation: national-alert-pulse .9s ease-in-out infinite;
    background: currentColor;
    border: 3px solid #ffffff;
    border-radius: 50%;
    box-shadow: 0 0 0 3px currentColor;
    height: 13px;
    width: 13px;
}

.national-alert-rouge,
.national-alert-rupture {
    background: #ffe1e1;
    color: #a71919;
}

.national-alert-orange {
    background: #fff0d7;
    color: #a5510d;
}

@keyframes national-alert-pulse {
    50% { opacity: .35; transform: scale(1.3); }
}

.rupture-indicator {
    animation: rupture-pulse 1.15s ease-in-out infinite;
    background: #c42d2d;
    border: 2px solid #ffffff;
    border-radius: 50%;
    box-shadow: 0 0 0 1px #c42d2d;
    display: inline-block;
    height: 10px;
    margin: 0 7px 0 2px;
    vertical-align: middle;
    width: 10px;
}

.recommendation-indicator {
    animation: recommendation-pulse 1.5s ease-in-out infinite;
    background: #fff5d7;
    border: 1px solid #b36a00;
    border-radius: 3px;
    box-shadow: 0 0 0 1px rgba(179, 106, 0, .18);
    color: #805000;
    display: inline-flex;
    font-family: "Segoe UI Symbol", sans-serif;
    font-size: 12px;
    font-weight: 700;
    height: 17px;
    justify-content: center;
    line-height: 15px;
    margin-left: 7px;
    vertical-align: middle;
    width: 20px;
}

@keyframes recommendation-pulse {
    50% { box-shadow: 0 0 0 5px rgba(179, 106, 0, .16); opacity: .58; }
}

@keyframes rupture-pulse {
    50% { box-shadow: 0 0 0 5px rgba(196, 45, 45, .16); opacity: .55; }
}

@media (prefers-reduced-motion: reduce) {
    .rupture-indicator,
    .recommendation-indicator,
    .national-alert-beacon { animation: none; }
}

.alert-border-vert { border-left: 5px solid #28934c; }
.alert-border-jaune { border-left: 5px solid #d7a900; }
.alert-border-orange { border-left: 5px solid #df7118; }
.alert-border-rouge { border-left: 5px solid #c42d2d; }

.summary-wide { grid-column: span 3; }

.interaction-block { margin-top: 20px; }
.interaction-block h3 { margin: 0 0 10px; }

.message {
    margin: 8px 0;
    padding: 10px 12px;
    border-left: 3px solid #86a6a4;
    background: #f2f7f6;
}

.message small { color: #607175; }

.interaction-block textarea {
    min-height: 82px;
    resize: vertical;
}

.interaction-block .message-submit {
    display: inline-flex;
    justify-self: start;
    justify-content: center;
    margin-top: 10px;
    min-width: 112px;
    width: auto !important;
}

.recommendations-panel { border: 1px solid #bdcfcc; box-shadow: 0 10px 26px rgba(24, 65, 62, .08); margin-top: 24px; padding: 0; overflow: hidden; }
.recommendations-panel { scroll-margin-top: 24px; }
.recommendations-jump-link { background: #fff5d7; border: 1px solid #d7b85b; color: #704900; }
.recommendations-jump-link:hover { background: #d7a900; border-color: #b98400; color: #183f3c; }
.recommendations-panel-heading { align-items: center; background: linear-gradient(100deg, #163f3d, #0e7066); border-bottom: 3px solid #d2a22c; color: #fff; display: flex; justify-content: space-between; padding: 18px 20px; }
.recommendations-panel-heading h2 { color: #fff; font-size: 1.3rem; margin: 4px 0 0; }
.recommendations-panel-heading small { color: #d8f0eb; font-size: .7rem; font-weight: 800; letter-spacing: .08em; }
.recommendations-panel-heading > span { background: rgba(255, 255, 255, .14); border: 1px solid rgba(255, 255, 255, .35); color: #fff; font-size: .76rem; font-weight: 800; padding: 6px 9px; }
.recommendations-accordion { background: #f4f8f7; padding: 14px; }
.recommendation-item { background: #fff; border: 1px solid #cadbd8; box-shadow: 0 1px 2px rgba(20, 55, 52, .04); margin-bottom: 10px; transition: border-color .18s ease, box-shadow .18s ease; }
.recommendation-item:hover { border-color: #72a79f; box-shadow: 0 4px 12px rgba(20, 70, 65, .09); }
.recommendation-item:last-child { margin-bottom: 0; }
.recommendation-item > summary { align-items: center; background: #fff; cursor: pointer; display: grid; gap: 12px; grid-template-columns: 34px minmax(0, 1fr) auto 20px; list-style: none; padding: 15px 16px; }
.recommendation-item > summary::-webkit-details-marker { display: none; }
.recommendation-item > summary::after { align-items: center; background: #e2f0ed; border-radius: 50%; color: #08736a; content: '+'; display: inline-flex; font-size: 1.1rem; font-weight: 800; height: 20px; justify-content: center; text-align: center; width: 20px; }
.recommendation-item[open] { border-color: #7baea7; }
.recommendation-item[open] > summary { background: #e5f1ef; border-bottom: 1px solid #c5d9d5; }
.recommendation-item[open] > summary::after { content: '-'; }
.recommendation-item-number { align-items: center; background: #174b45; border-radius: 50%; box-shadow: 0 0 0 4px #d7e9e5; color: #fff; display: inline-flex; font-size: .76rem; font-weight: 800; height: 27px; justify-content: center; width: 27px; }
.recommendation-item-title { display: grid; gap: 3px; min-width: 0; }
.recommendation-item-title strong { color: #173f3c; font-size: .94rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.recommendation-item-title small { color: #617b77; font-size: .75rem; }
.recommendation-status { background: #fff2cf; border: 1px solid #e1c879; color: #805000; font-size: .71rem; font-weight: 800; padding: 5px 8px; white-space: nowrap; }
.recommendation-item-content { background: #fcfefe; padding: 18px; }
.recommendation-details { display: grid; gap: 9px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0 0 20px; }
.recommendation-details div { background: #f2f8f7; border: 1px solid #d7e6e3; border-top: 3px solid #65a69c; min-height: 76px; padding: 10px 11px; }
.recommendation-details div:first-child { background: #fff8e9; border-color: #ecd699; border-top-color: #c58b1a; }
.recommendation-details dt { color: #547570; font-size: .68rem; font-weight: 800; letter-spacing: .04em; margin-bottom: 5px; text-transform: uppercase; }
.recommendation-details dd { color: #203b39; font-size: .87rem; line-height: 1.42; margin: 0; }
.recommendation-reply { background: #fff; border: 1px solid #d4e3e0; border-left: 4px solid #c58b1a; box-shadow: 0 2px 5px rgba(20, 55, 52, .04); margin: 12px 0; padding: 14px; }
.recommendation-reply header { align-items: center; background: transparent; border: 0; color: #234946; display: flex; justify-content: space-between; padding: 0; }
.recommendation-reply header small { color: #607572; font-size: .73rem; }
.recommendation-reply p { display: grid; gap: 4px; line-height: 1.5; margin: 11px 0 0; }
.recommendation-reply p b, .recommendation-files > b { color: #547570; font-size: .7rem; letter-spacing: .04em; text-transform: uppercase; }
.recommendation-files { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.recommendation-files > b { width: 100%; }
.recommendation-files a { background: #e5f2ef; border: 1px solid #a8c9c2; color: #075f57; font-size: .78rem; padding: 6px 8px; text-decoration: none; }
.recommendation-files a:hover { background: #075f57; color: #fff; }
.recommendation-reply-form { background: #eef6f4; border: 1px solid #cbe0dc; border-top: 4px solid #0b776d; display: grid; gap: 11px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 20px; padding: 16px; }
.recommendation-reply-form label { color: #294e4a; font-size: .76rem; }
.recommendation-reply-form label:first-child, .recommendation-reply-form label:nth-child(2) { grid-column: span 1; }
.recommendation-reply-form label:nth-child(3), .recommendation-reply-form button { grid-column: 1 / -1; }
.recommendation-reply-form textarea { background: #fff; border-color: #abc8c2; min-height: 92px; resize: vertical; }
.recommendation-reply-form input[type="file"] { background: #fff; border-color: #abc8c2; font-size: .78rem; padding: 7px; }
.recommendation-reply-form button { background: #0b776d; justify-self: start; min-width: 170px; }
@media (max-width: 650px) { .recommendation-item > summary { grid-template-columns: 28px minmax(0, 1fr) 14px; } .recommendation-status { grid-column: 2; justify-self: start; } .recommendation-details, .recommendation-reply-form { grid-template-columns: 1fr; } .recommendation-reply-form label:first-child, .recommendation-reply-form label:nth-child(2) { grid-column: auto; } }

.page-actions,
.line-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0 0 18px;
}

.page-actions .danger-link,
.line-actions .danger-link {
    color: #a33;
    font-weight: bold;
}

.line-actions {
    margin: 16px 0 0;
}

.line-actions a {
    color: var(--c);
    font-weight: bold;
    text-decoration: none;
}

.releves-preview-card {
    padding: 0;
    overflow: hidden;
}

.releves-panel-heading {
    align-items: center;
    background: #ffffff;
    border-bottom: 1px solid #dce9e6;
    display: flex;
    justify-content: space-between;
    padding: 12px 18px;
}

.releves-panel-heading h2 {
    color: #174b45;
    font-size: 1rem;
    margin: 0;
}

.releves-panel-heading small {
    color: #54706b;
    font-size: .78rem;
    font-weight: 700;
}

.excel-view-toggle {
    background: #edf5f3;
    border: 1px solid #9fc2bc;
    border-radius: 3px;
    color: #075f57;
    cursor: pointer;
    font-size: .78rem;
    font-weight: 800;
    min-height: 32px;
    padding: 6px 9px;
}

.excel-page-heading {
    align-items: end;
}

.excel-report {
    border: 1px solid #9abbb5;
    border-radius: 4px;
    box-shadow: 0 8px 20px rgba(24, 65, 62, .08);
    overflow: hidden;
}

.excel-report .table-wrap {
    max-height: calc(100vh - 230px);
    overflow: auto;
}

.excel-report table {
    border-collapse: separate;
    border-spacing: 0;
    font-size: .78rem;
    min-width: 2200px;
}

.excel-report th,
.excel-report td {
    border-bottom: 1px solid #cfdfdc;
    border-right: 1px solid #cfdfdc;
    padding: 8px 10px;
    vertical-align: top;
}

.excel-report th {
    background: #176d65;
    color: #ffffff;
    font-size: .71rem;
    letter-spacing: 0;
    position: sticky;
    text-align: left;
    top: 0;
    white-space: nowrap;
    z-index: 1;
}

.excel-report tbody tr:nth-child(even) {
    background: #f4f8f7;
}

.excel-report tbody tr:hover {
    background: #e6f1ef;
}

.excel-report td {
    color: #233d39;
    white-space: nowrap;
}

.excel-report td:last-child,
.excel-report td:nth-child(10) {
    max-width: 280px;
    white-space: normal;
}

.releves-panel > summary {
    align-items: center;
    background: #f3f8f7;
    color: #174b45;
    cursor: pointer;
    display: flex;
    font-size: .9rem;
    justify-content: space-between;
    list-style: none;
    padding: 16px 18px;
}

.releves-panel > summary::-webkit-details-marker,
.verification-line > summary::-webkit-details-marker {
    display: none;
}

.releves-panel > summary strong {
    display: block;
    font-size: 1rem;
}

.releves-panel > summary small {
    color: #54706b;
    font-size: .78rem;
    font-weight: 700;
}

.releves-panel > summary::after,
.verification-line > summary::after {
    color: #08736a;
    content: '+';
    font-size: 1.2rem;
    font-weight: 800;
    margin-left: 12px;
}

.releves-panel[open] > summary::after,
.verification-line[open] > summary::after {
    content: '-';
}

.releves-panel .verification-list {
    gap: 6px;
    margin: 0;
    padding: 10px;
}


.releves-panel .verification-line {
    border-left: 4px solid #86a6a4;
    border-radius: 3px;
    padding: 0;
}

.releves-panel .verification-line > summary {
    align-items: center;
    cursor: pointer;
    display: grid;
    gap: 12px;
    grid-template-columns:120px minmax(0, 1fr) auto auto auto auto;
    list-style: none;
    margin: 0;
    min-height: 44px;
    padding: 7px 10px;
}

.releves-panel .verification-line > summary > span:not([class]) {
    color: #516964;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.releves-panel .releve-signal {
    background: #edf5f3;
    border: 1px solid #cbded9;
    border-radius: 3px;
    color: #315c56;
    font-size: .74rem;
    font-weight: 800;
    padding: 4px 6px;
    white-space: nowrap;
}

.releves-panel .disponibilite-rup {
    background: #fff0ef;
    border-color: #e4aaa6;
    color: #9c2924;
}

.releves-panel .disponibilite-rar {
    background: #fff6df;
    border-color: #e2c477;
    color: #89630b;
}

.releves-panel .verification-line[open] > summary {
    border-bottom: 1px solid #dce9e6;
}

.releves-panel .verification-grid,
.releves-panel .line-actions,
.releves-panel .interaction-block {
    margin-left: 10px;
    margin-right: 10px;
}

.releves-panel .verification-grid {
    grid-template-columns: repeat(4, minmax(130px, 1fr));
    gap: 6px;
    margin-top: 10px;
}

.releves-panel .verification-grid > div,
.releves-panel .price-override {
    border-radius: 3px;
    padding: 8px;
}

@media (max-width: 700px) {
    .releves-panel > summary {
        align-items: flex-start;
        gap: 8px;
    }

    .releves-panel > summary .muted {
        display: none;
    }

    .releves-panel .verification-line > summary {
        gap: 5px 9px;
        grid-template-columns: minmax(0, 1fr) auto auto auto auto;
    }

    .releves-panel .verification-line > summary > span:not([class]) {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .releves-panel .verification-grid {
        grid-template-columns: 1fr;
    }

}

.actions {
    min-width: 180px;
    vertical-align: top;
}

.actions details {
    display: inline-block;
    position: relative;
    margin: 0 8px 0 0;
}

.actions summary {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    color: var(--c);
    cursor: pointer;
    font-weight: bold;
}

.actions details form {
    position: static;
    width: min(540px, 76vw);
    margin-top: 10px;
    padding: 16px;
    border: 1px solid #b8c6c8;
    border-radius: 6px;
    background: #ffffff;
    box-shadow: 0 8px 20px rgba(21, 36, 43, 0.12);
}

.actions > .inline-form {
    display: inline-block;
    position: static;
    width: auto;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    gap: 0;
}

.actions .danger {
    width: auto;
    min-height: 38px;
    padding: 8px 12px;
}

@media (max-width: 700px) {
    .header-inner {
        width: min(100% - 24px, 1480px);
        min-height: 0;
        padding: 12px 0;
        flex-wrap: wrap;
        gap: 12px;
    }

    .brand {
        flex: 1 1 100%;
        min-width: 0;
    }

    .main-nav {
        flex: 1 1 100%;
        gap: 3px;
        overflow-x: auto;
        padding-bottom: 2px;
    }

    .main-nav a {
        flex: 0 0 auto;
        padding: 7px 8px;
        font-size: 12px;
    }

    .user-actions {
        flex: 1 1 100%;
        justify-content: space-between;
        padding: 9px 0 0;
        border-top: 1px solid rgba(255, 255, 255, 0.22);
        border-left: 0;
    }

    main {
        width: min(100% - 24px, 1480px);
        padding: 22px 0 36px;
    }

    .page-heading {
        align-items: start;
        flex-direction: column;
    }

    .list-tools {
        width: 100%;
        justify-content: space-between;
    }

    .filter-dialog {
        margin: 82px auto auto;
    }

    .filter-grid {
        grid-template-columns: 1fr;
    }

    .wide-field {
        grid-column: auto;
    }

    .province-options {
        grid-template-columns: 1fr;
    }

    .synthese-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .synthese-stats .synthese-provinces {
        grid-column: span 2;
    }

    .actions {
        min-width: 150px;
    }

    .actions details {
        display: block;
        margin-bottom: 8px;
    }

    .actions details form {
        width: min(420px, 70vw);
    }

    .section-heading,
    .line-heading {
        align-items: start;
        flex-direction: column;
    }

    .releve-grid {
        grid-template-columns: 1fr;
    }

    .fiche-summary dl,
    .verification-grid {
        grid-template-columns: 1fr;
    }

    .observation-field {
        grid-column: auto;
    }

    .summary-wide {
        grid-column: auto;
    }
}

.synthese-stats {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    align-items: stretch;
}

.synthese-stats article {
    min-width: 0;
}

.synthese-stats .synthese-provinces {
    grid-column: span 2;
}

.synthese-provinces b {
    margin-top: 4px;
}

.synthese-provinces div {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    max-height: 68px;
    margin-top: 9px;
    overflow-y: auto;
}

.synthese-provinces div span {
    display: inline-block;
    padding: 3px 6px;
    border: 1px solid #c8dcd9;
    border-radius: 3px;
    background: #edf7f5;
    color: #315b5a;
    font-size: 11px;
}

.synthese-stats {
    gap: 7px;
    margin: 12px 0;
}

.synthese-stats article {
    min-height: 72px;
    padding: 8px 10px;
}

.synthese-stats article span {
    font-size: .7rem;
}

.synthese-stats article b {
    font-size: 1.2rem;
    margin-top: 3px;
}

.synthese-stats .synthese-provinces {
    min-width: 170px;
}

.synthese-provinces div {
    gap: 3px;
    max-height: 36px;
    margin-top: 4px;
}

.synthese-provinces div span {
    font-size: .64rem;
    padding: 2px 4px;
}

.synthese-sheet {
    border: 1px solid #8a9696;
    background: #ffffff;
    box-shadow: 0 2px 7px rgba(21, 36, 43, 0.12);
}

.synthese-sheet-wrap {
    padding: 0;
}

.synthese-table {
    min-width: 1700px;
    border-collapse: collapse;
    color: #000000;
    font-family: Calibri, Arial, sans-serif;
    font-size: 11px;
}

.synthese-table th,
.synthese-table td {
    height: 24px;
    padding: 4px 7px;
    border: 1px solid #b7c1c1;
    line-height: 1.2;
    white-space: nowrap;
}

.synthese-table th {
    position: sticky;
    top: 0;
    background: #315b5a;
    color: #ffffff;
    font-family: Calibri, Arial, sans-serif;
    font-size: 10px;
    font-weight: 700;
    text-align: center;
}

.synthese-table tbody tr:nth-child(even) {
    background: #f6f8f8;
}

.synthese-table tbody tr:hover {
    background: #e1f4e6;
}

.synthese-table td:nth-child(n + 3):nth-child(-n + 15) {
    text-align: right;
}

.synthese-table .alert-vert,
.synthese-table .alert-jaune,
.synthese-table .alert-orange,
.synthese-table .alert-rouge {
    padding: 2px 5px;
    border-radius: 2px;
    font-size: 10px;
}
.dashboard-section{margin:24px 0}.section-heading{align-items:end;display:flex;gap:16px;justify-content:space-between;margin-bottom:12px}.section-heading h2{margin:3px 0 0}.notification-grid,.dashboard-cards{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}.notification{align-items:center;background:#fff;border:1px solid var(--line);border-left:4px solid #526b69;color:var(--ink);display:flex;font-size:.86rem;font-weight:700;gap:12px;justify-content:space-between;min-height:56px;padding:10px;text-decoration:none}.notification b{color:#153f40;font-size:1.35rem}.notification-rouge{border-left-color:#b42318}.notification-orange{border-left-color:#c06d12}.notification-jaune{border-left-color:#b58a00}.notification-empty{opacity:.58}.dashboard-cards article{background:#fff;border:1px solid var(--line);border-radius:4px;min-height:108px;padding:14px}.dashboard-cards span,.dashboard-cards small{display:block}.dashboard-cards span{color:#4d6561;font-size:.8rem;font-weight:700}.dashboard-cards strong{color:#153f40;display:block;font-size:1.65rem;margin:7px 0}.dashboard-cards small{color:#627674;font-size:.78rem;line-height:1.35}@media(max-width:900px){.notification-grid,.dashboard-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.section-heading{align-items:start;flex-direction:column}.notification-grid,.dashboard-cards{grid-template-columns:1fr}}
.priority-recommendation-alert{align-items:center;animation:priority-recommendation-pulse 1.5s ease-in-out infinite;background:#9f241d;border:1px solid #7d1714;box-shadow:0 9px 22px rgba(130,25,21,.24);color:#fff;display:grid;gap:14px;grid-template-columns:minmax(0,1fr) auto 32px;margin:18px 0 24px;padding:14px 16px;text-decoration:none}.priority-recommendation-alert:hover{background:#7f1915;color:#fff}.priority-recommendation-alert span{display:grid;gap:3px}.priority-recommendation-alert strong{font-size:1rem}.priority-recommendation-alert small{color:#ffe7d0;font-size:.8rem}.priority-recommendation-alert b{align-items:center;background:#fff;color:#9f241d;display:inline-flex;font-size:1.25rem;height:34px;justify-content:center;min-width:34px}.priority-recommendation-alert i{font-family:"Segoe UI Symbol",sans-serif;font-size:1.55rem;font-style:normal}@keyframes priority-recommendation-pulse{50%{box-shadow:0 0 0 6px rgba(180,39,31,.16),0 9px 22px rgba(130,25,21,.24)}}@media(prefers-reduced-motion:reduce){.priority-recommendation-alert{animation:none}}@media(max-width:560px){.priority-recommendation-alert{grid-template-columns:minmax(0,1fr) auto;padding:13px}.priority-recommendation-alert i{display:none}}
.priority-reply-alert{background:#8c4d06;border-color:#6c3b04;margin-bottom:12px}.priority-reply-alert:hover{background:#6c3b04}.priority-reply-alert b{color:#8c4d06}.priority-reply-alert small{color:#fff0cc}
.dashboard-page{background:linear-gradient(90deg,rgba(9,113,105,.06) 0 1px,transparent 1px 100%),linear-gradient(rgba(9,113,105,.06) 0 1px,transparent 1px 100%),linear-gradient(180deg,#f8fbfa 0,#eaf3f1 100%);background-size:36px 36px,36px 36px,100% 100%}.dashboard-page main{background:rgba(255,255,255,.56);border-top:3px solid transparent;border-image:linear-gradient(90deg,#08736a 0 54%,#e3b42d 54% 77%,#c43839 77%) 1;margin-top:26px;padding:28px 26px 42px}.dashboard-page .stats article,.dashboard-page .dashboard-cards article,.dashboard-page .notification{box-shadow:0 8px 20px rgba(24,65,62,.06)}@media(max-width:700px){.dashboard-page main{margin-top:16px;padding:22px 16px 34px;width:min(100% - 20px,1480px)}}

/* Popups de filtrage des etats nationaux. */
.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);white-space:nowrap}.national-filter,.consolidated-filter-form{position:relative}.filter-popover{border:0!important;display:block!important;inset:0 0 auto auto;margin:0!important;padding:0!important;position:absolute!important;width:auto!important;z-index:30}.filter-launch{align-items:center;background:#f1f7f6;border:1px solid #9fc2bc;border-radius:4px;cursor:pointer;display:flex;height:38px;justify-content:center;list-style:none;width:40px}.filter-launch::-webkit-details-marker{display:none}.filter-launch::before{background:linear-gradient(#08736a 0 2px,transparent 2px 6px,#08736a 6px 8px,transparent 8px 12px,#08736a 12px 14px);content:'';display:block;height:14px;width:17px}.filter-popover[open]{background:#fff;border:1px solid #b9d3cf!important;border-radius:5px;box-shadow:0 16px 36px rgba(18,63,65,.2);padding:12px!important;width:min(760px,calc(100vw - 72px))!important}.filter-popover[open] .filter-launch{background:transparent;border:0;border-bottom:1px solid #dce9e6;border-radius:0;justify-content:flex-start;margin:0 0 12px;padding:0;width:100%}.filter-popover[open] .filter-launch::after{color:#174b45;content:'Filtres';font-size:.86rem;font-weight:800;margin-left:9px}.filter-popover .report-filter-grid,.filter-popover .column-filter-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(154px,180px));justify-content:start;margin:0}.filter-popover .report-filter-grid label,.filter-popover .column-filter-grid label{display:grid;inline-size:180px;width:180px}.filter-popover .report-filter-grid input,.filter-popover .report-filter-grid select,.filter-popover .column-filter-grid input,.filter-popover .column-filter-grid select{box-sizing:border-box;inline-size:180px;max-width:180px;width:180px}.filter-popover .report-filter-actions,.filter-popover .column-filter-actions{border-top:1px solid #e0eae8;margin-top:14px;padding-top:12px}.filter-popover .report-filter-actions{display:flex;justify-content:flex-end}.consolidated-filter-form .filter-popover{top:0}@media(max-width:560px){.filter-popover[open]{width:calc(100vw - 36px)!important}.filter-popover .report-filter-grid,.filter-popover .column-filter-grid{grid-template-columns:1fr}.filter-popover .report-filter-grid label,.filter-popover .column-filter-grid label{inline-size:100%;width:100%}.filter-popover .report-filter-grid input,.filter-popover .report-filter-grid select,.filter-popover .column-filter-grid input,.filter-popover .column-filter-grid select{inline-size:100%;max-width:none;width:100%}}

/* Surcharge finale: tiroirs de filtres nationaux compacts et alignes. */
.filter-close{display:none}.filter-popover[open] .filter-launch{width:calc(100% - 34px)!important}.filter-popover[open] .filter-close{align-items:center;background:#f5f8f7;border:1px solid #c7dcda;border-radius:3px;color:#275650;cursor:pointer;display:flex;font-size:1.25rem;font-weight:600;height:28px;justify-content:center;line-height:1;padding:0;position:absolute;right:12px;top:12px;width:28px}.filter-close:hover{background:#e0efec;color:#075f57}
.report-filter-form{display:grid!important;gap:14px!important;grid-template-columns:minmax(0,1fr)!important}.report-filter-form .national-toolbar{align-items:end;display:flex;flex-wrap:wrap;gap:10px}.report-filter-form .national-toolbar label{display:grid;flex:0 0 auto;gap:5px}.report-filter-form .national-toolbar input[type="date"]{width:154px}.national-toolbar-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.national-toolbar-actions .button-link{border:0;cursor:pointer;min-height:38px;padding:9px 12px}.report-filter-form .report-filters{display:block!important;grid-column:1!important;inline-size:100%!important;width:100%!important}
.report-filter-form .report-filters{inline-size:auto!important;position:absolute!important;right:0;top:0;width:auto!important}
.card > form.national-filter,.consolidated-tools > form{align-items:end;display:flex;flex-wrap:wrap;gap:10px}.card > form.national-filter > label,.consolidated-toolbar > label{flex:0 0 auto}.card > form.national-filter input[type="date"],.consolidated-toolbar input[type="date"]{inline-size:154px;width:154px}.card > form.national-filter > button,.card > form.national-filter > .button-link{min-height:38px;padding:9px 12px}.card > form.national-filter > .report-filters{display:block;flex:0 0 100%;inline-size:100%;margin:10px 0 0;padding:14px 0 0}.report-filters summary{align-items:center;background:#f3f8f7;border:1px solid #d4e2df;color:#174b45;display:flex;min-height:38px;padding:0 12px}.report-filters summary::before{content:'+';font-size:1.2rem;margin-right:8px}.report-filters[open] summary::before{content:'-';}.report-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(154px,180px));justify-content:start;margin:12px 0 0}.report-filter-grid label{display:grid;inline-size:180px;width:180px}.report-filter-grid input,.report-filter-grid select{box-sizing:border-box;inline-size:180px;max-width:180px;width:180px}.report-filter-actions{border-top:1px solid #e0eae8;padding-top:12px}.consolidated-tools .column-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(154px,180px));justify-content:start}.consolidated-tools .column-filter-grid label{display:grid;inline-size:180px;width:180px}.consolidated-tools .column-filter-grid input,.consolidated-tools .column-filter-grid select{box-sizing:border-box;inline-size:180px;max-width:180px;width:180px}@media(max-width:560px){.card > form.national-filter{align-items:stretch}.card > form.national-filter > label{width:100%}.card > form.national-filter input[type="date"],.consolidated-toolbar input[type="date"]{width:154px}.report-filter-grid,.consolidated-tools .column-filter-grid{grid-template-columns:1fr}.report-filter-grid label,.consolidated-tools .column-filter-grid label{inline-size:100%;width:100%}.report-filter-grid input,.report-filter-grid select,.consolidated-tools .column-filter-grid input,.consolidated-tools .column-filter-grid select{inline-size:100%;max-width:none;width:100%}}