:root{--bg:#f1f4f3;--surface:#ffffff;--border:#c6d1cf;--text:#10171a;--muted:#3c4c49;--accent:#04544f;--accent-text:#ffffff;--success:#26571a;--danger:#8f2a15;--warning:#6e4007;--info:#1a4d80;--success-solid:#26571a;--danger-solid:#8f2a15;--touch:56px}@media (prefers-color-scheme:dark){:root{--bg:#0f1416;--surface:#1a2224;--border:#2c3639;--text:#e9efee;--muted:#a5b6b3;--accent:#45d3c4;--accent-text:#06231f;--success:#86d16a;--danger:#f0917a;--warning:#f0b95e;--info:#7ec3f0}}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:17px;line-height:1.5;-webkit-text-size-adjust:100%}button{font:inherit;color:inherit;cursor:pointer;min-height:var(--touch);border-radius:12px;border:1px solid var(--border);background:var(--surface);padding:0 1rem}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.shell{min-height:100dvh;display:flex;flex-direction:column;max-width:560px;margin:0 auto;padding:0 1rem 1rem}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0 .75rem}.topbar h1{font-size:1.1rem;margin:0}.counter{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;border:1px solid var(--border);border-radius:999px;padding:.25rem .75rem}.counter,.sync-banner{background:var(--surface);font-size:.95rem}.sync-banner{display:flex;align-items:center;gap:.5rem;border-radius:10px;padding:.6rem .85rem;border:1px solid var(--border)}.sync-banner[data-state=offline]{border-color:var(--warning);color:var(--warning)}.sync-banner[data-state=syncing]{border-color:var(--accent);color:var(--accent)}.sync-banner[data-state=synced]{border-color:var(--success);color:var(--success)}.dot{width:10px;height:10px;border-radius:50%;background:currentColor;flex:none}.scan-button{flex:1 1;min-height:240px;margin:1rem 0;flex-direction:column;gap:.75rem;font-size:1.5rem;background:var(--accent);color:var(--accent-text);border:none}.scan-button,.secondary-action{display:flex;align-items:center;justify-content:center;font-weight:600;letter-spacing:.02em}.secondary-action{min-height:64px;border-radius:12px;border:2px solid var(--accent);color:var(--accent);text-decoration:none}.actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem}.actions button{flex-direction:column;min-height:72px}.viewfinder{position:relative;aspect-ratio:3/4;border-radius:16px;overflow:hidden;background:#000}.viewfinder video{width:100%;height:100%;object-fit:cover}.reticle{position:absolute;inset:18% 12%;border:3px solid rgba(255,255,255,.9);border-radius:14px;box-shadow:0 0 0 100vmax rgba(0,0,0,.35)}.feedback{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;text-align:center;padding:2rem;z-index:10;color:#fff}.feedback[data-tone=success]{background:var(--success-solid)}.feedback[data-tone=error]{background:var(--danger-solid)}.feedback .mark{font-size:5rem;line-height:1}.feedback .tracking{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.3rem;letter-spacing:.05em}.manual{display:flex;gap:.5rem;margin-top:.75rem}.manual button{flex:none}.manual input{flex:1 1;min-width:0;min-height:var(--touch);border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:0 .85rem;font-size:1.1rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase}.muted{color:var(--muted);font-size:.95rem}.field{width:100%;min-height:var(--touch);margin-top:.35rem;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:0 .85rem;font-size:1.05rem}.keypad{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.6rem;gap:.6rem;margin-top:1.25rem}.keypad button{min-height:68px;font-size:1.6rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tabs{display:flex;gap:.5rem;margin:.5rem 0 1rem}.tabs button{flex:1 1;min-height:46px;font-size:.95rem;background:transparent;border-color:var(--border);color:var(--muted)}.tabs button[aria-selected=true]{border-color:var(--accent);color:var(--accent);font-weight:600;background:var(--surface)}.pin-display{display:flex;gap:.75rem;justify-content:center;padding:.5rem 0}.pin-display span{width:18px;height:18px;border-radius:50%;border:2px solid var(--border)}.pin-display span[data-filled=true]{background:var(--accent);border-color:var(--accent)}.earnings{display:flex;flex-direction:column;gap:.15rem;border:2px solid var(--accent);border-radius:14px;padding:1rem 1.25rem;margin-top:1rem}.earnings-label{font-size:.9rem;color:var(--muted)}.earnings-value{font-size:2.4rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--accent);line-height:1.1}.breakdown{list-style:none;margin:.75rem 0 0;padding:0;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.breakdown li{display:grid;grid-template-columns:1fr auto auto;grid-gap:.75rem;gap:.75rem;align-items:baseline;padding:.6rem .85rem;font-size:.95rem}.breakdown li+li{border-top:1px solid var(--border)}.console-nav{display:flex;align-items:baseline;gap:1rem;padding:.85rem 1.5rem;border-bottom:1px solid var(--border);background:var(--surface)}.console-brand{font-weight:700;color:var(--text);text-decoration:none}.console-main{max-width:1100px;margin:0 auto;padding:1.5rem}.console-main h1{font-size:1.5rem;margin:0 0 1rem}.console-main h2{font-size:1rem;margin:1.5rem 0 .5rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:.75rem;gap:.75rem}.tile{border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:.85rem 1rem;display:flex;flex-direction:column;gap:.15rem}.tile[data-tone=warn]{border-color:var(--warning);color:var(--warning)}.tile-value{font-size:1.8rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tile-label{font-size:.85rem;color:var(--muted)}.exceptions{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface)}.exceptions li+li{border-top:1px solid var(--border)}.exception-link{display:flex;align-items:center;gap:.85rem;padding:.85rem 1rem;color:inherit;text-decoration:none}a.exception-link:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.exception-body{display:flex;flex-direction:column;gap:.1rem;flex:1 1;min-width:0}.exception-age{white-space:nowrap;font-size:.85rem}.pastille{width:12px;height:12px;border-radius:50%;flex:none}.pastille.critique{background:var(--danger)}.pastille.urgent{background:var(--warning)}.pastille.attention{background:var(--muted)}.banner-alert{border:2px solid var(--warning);color:var(--warning);margin-bottom:1.25rem;gap:.25rem}.banner-alert,.integrity{border-radius:12px;padding:.85rem 1rem;display:flex;flex-direction:column}.integrity{gap:.2rem;margin:1rem 0;border:1px solid var(--border)}.integrity.ok{border-color:var(--success);color:var(--success)}.integrity.broken{border-color:var(--danger);color:var(--danger)}.grid-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:1rem;gap:1rem}.card{padding:.5rem 1.25rem 1.25rem;margin-bottom:1rem}.card dl{display:grid;grid-template-columns:minmax(120px,auto) 1fr;grid-gap:.35rem 1rem;gap:.35rem 1rem;margin:0}.card dt{color:var(--muted);font-size:.9rem}.card dd{margin:0}.badge{display:inline-block;border:1px solid var(--border);border-radius:999px;padding:.1rem .6rem;font-size:.8rem;margin-right:.35rem}.badge.ok{border-color:var(--success);color:var(--success)}.badge.warn{border-color:var(--warning);color:var(--warning)}.ok-text{color:var(--success)}.warn-text{color:var(--warning)}.timeline{list-style:none;margin:0;padding:0 0 0 1rem;border-left:2px solid var(--border)}.timeline li{padding:0 0 1rem 1rem;position:relative}.timeline li:before{content:"";position:absolute;left:-1.4rem;top:.35rem;width:10px;height:10px;border-radius:50%;background:var(--border)}.timeline li[data-review=true]:before{background:var(--warning)}.timeline-head{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.small{font-size:.85rem}.plain{list-style:none;margin:0;padding:0}.plain li+li{margin-top:.75rem}.recovery-codes{list-style:none;margin:1rem 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:.5rem;gap:.5rem}.recovery-codes li{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.1rem;letter-spacing:.08em;padding:.5rem .75rem;border:1px solid var(--border);border-radius:8px;text-align:center;-webkit-user-select:all;-moz-user-select:all;user-select:all}.toolbar{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin:.75rem 0}.toolbar button{min-height:40px}.table-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.listing{width:100%;border-collapse:collapse;font-size:.95rem}.listing td,.listing th{text-align:left;padding:.55rem .75rem;white-space:nowrap}.listing thead th{font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);border-bottom:1px solid var(--border)}.listing tbody tr+tr td{border-top:1px solid var(--border)}.listing tbody tr[data-flag]{background:color-mix(in srgb,var(--warning) 10%,transparent)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}textarea.field{width:100%;resize:vertical;line-height:1.4}.empty{border:1px dashed var(--border);border-radius:12px;padding:1.5rem;text-align:center}.empty,.linkish{color:var(--muted)}.linkish{background:none;border:none;text-decoration:underline;min-height:auto;padding:0;font-size:.9rem}.notice{border:1px solid var(--warning);color:var(--warning);border-radius:10px;padding:.75rem .85rem;font-size:.95rem}.info-encadre{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:.9rem 1rem;font-size:.92rem;color:var(--muted)}.info-encadre strong{color:var(--text)}.info-encadre ul{margin:.5rem 0 0;padding-left:1.1rem;column-count:2;column-gap:1.5rem}.info-encadre li{page-break-inside:avoid;break-inside:avoid;margin-bottom:.3rem}@media (max-width:640px){.info-encadre ul{column-count:1}}.section-title{display:flex;align-items:center;gap:.6rem;font-size:1rem;margin:0;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.parcel-list{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface)}.parcel-list li+li{border-top:1px solid var(--border)}.parcel-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:var(--touch);padding:.6rem .85rem;color:var(--text);text-decoration:none}a.parcel-row:focus-visible,a.parcel-row:hover{background:var(--bg)}.parcel-main{display:flex;flex-direction:column;min-width:0}.parcel-main strong{font-size:1.05rem}.parcel-tracking{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.85rem;color:var(--muted)}.parcel-side{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.charge-reseau{width:100%;border-collapse:collapse;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.charge-reseau td,.charge-reseau th{padding:.6rem .7rem;text-align:center;border-top:1px solid var(--border)}.charge-reseau thead th{border-top:none;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.charge-reseau th[scope=row]{text-align:left;font-weight:500}.charge-reseau td{font-size:1.05rem;font-weight:600}.charge-reseau td[data-col=recuperer]{color:var(--success);background:color-mix(in srgb,var(--success) 14%,var(--surface))}.charge-reseau td[data-col=deposer]{color:var(--info);background:color-mix(in srgb,var(--info) 14%,var(--surface))}.charge-reseau td[data-col=retour]{color:var(--danger);background:color-mix(in srgb,var(--danger) 14%,var(--surface))}.charge-reseau td[data-vide]{font-weight:400;color:var(--muted);background:var(--surface)}.charge-reseau td[data-ouvert]{outline:2px solid currentColor;outline-offset:-2px}.charge-cellule-bouton{width:100%;min-height:var(--touch);padding:0;margin:-.6rem -.7rem;border:none;background:none;color:inherit;font:inherit;font-weight:inherit;text-align:inherit;cursor:pointer}.charge-detail{background:var(--bg);padding:.75rem}.charge-detail-titre{margin:0 0 .5rem;font-size:.85rem;font-weight:600;color:var(--muted)}.charge-detail .parcel-list{border-color:var(--border)}.parcel-flag{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--warning);border:1px solid var(--warning);border-radius:999px;padding:.1rem .5rem}.parcel-deadline{font-size:.85rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap}.parcel-deadline[data-tone=warn]{color:var(--warning);font-weight:600}.parcel-deadline[data-tone=danger]{color:var(--danger);font-weight:700}.counter-link{text-decoration:none;color:var(--text);display:inline-flex;align-items:center;min-height:40px}.counter-link:focus-visible,.counter-link:hover{border-color:var(--accent);color:var(--accent)}.parcel-search{margin:0 0 1.5rem;max-width:480px}.parcel-search .manual{margin-top:.35rem}.parcel-search .notice{margin-top:.5rem}.public-main{max-width:640px;margin:0 auto;padding:1.5rem 1rem 4rem}.public-header h1{font-size:1.75rem;margin:.75rem 0 .5rem}.lede{color:var(--muted);margin:0 0 1.5rem}.legal-section{margin:0 0 2rem}.legal-section h2{font-size:1.15rem;margin:0 0 .75rem}.legal-section p{margin:0 0 .6rem}.legal-section ul{margin:0 0 .75rem;padding-left:1.25rem}.legal-table-wrap{overflow-x:auto;margin:0 0 .9rem}.legal-table{width:100%;border-collapse:collapse;font-size:.9rem}.legal-table td,.legal-table th{padding:.55rem .6rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.legal-table thead th{font-size:.8rem;color:var(--muted);font-weight:600}.legal-table tbody th{font-weight:600}.legal-list{display:flex;flex-direction:column;gap:.6rem;margin:0}.legal-list dt{font-size:.85rem;color:var(--muted)}.legal-list dd{margin:0}.send-form{gap:1.25rem}.send-form,.send-form fieldset{display:flex;flex-direction:column}.send-form fieldset{border:1px solid var(--border);border-radius:12px;padding:1rem 1.1rem 1.25rem;margin:0;background:var(--surface);gap:.9rem}.send-form legend{padding:0 .4rem;font-weight:600;font-size:.95rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.field-row{display:flex;flex-direction:column;gap:.25rem;margin:0}.field-row label{font-size:.92rem;font-weight:500}.field-row input,.field-row select{width:100%;min-height:var(--touch);padding:0 .75rem;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text);font:inherit;min-width:0}.field-row .muted{font-size:.85rem}.trajet-carte{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--bg)}.trajet-carte svg{display:block;width:100%;height:auto;max-height:220px}.trajet-commune{fill:var(--surface);stroke:var(--border);stroke-width:1.5}.trajet-point{fill:var(--muted);opacity:.5}.trajet-ligne{stroke:var(--muted);stroke-width:4;stroke-dasharray:2 12;stroke-linecap:round}.trajet-marqueur-halo{stroke:var(--surface);stroke-width:4}.trajet-depart .trajet-marqueur-halo{fill:var(--accent)}.trajet-arrivee .trajet-marqueur-halo{fill:var(--success-solid)}.trajet-marqueur-lettre{fill:var(--accent-text);font-size:26px;font-weight:700}.trajet-arrivee .trajet-marqueur-lettre{fill:#ffffff}.trajet-carte-vide{padding:.6rem .8rem;margin:0;border-top:1px solid var(--border)}.pair{display:grid;grid-template-columns:1fr 1fr;grid-gap:.9rem;gap:.9rem}@media (max-width:480px){.pair{grid-template-columns:1fr}}.check{display:flex;align-items:center;gap:.6rem;min-height:var(--touch)}.check input{width:24px;height:24px}.radio-field{display:flex;flex-direction:column;gap:.25rem}.field-label{margin:0;font-size:.92rem;font-weight:500}.radio-group{display:flex;flex-wrap:wrap;gap:.5rem 1.75rem}.price-box{display:flex;flex-direction:column;gap:.3rem;border:2px solid var(--accent);border-radius:12px;padding:1rem 1.1rem}.price-value{font-size:2rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--accent);line-height:1.1}.primary-action{background:var(--accent);color:var(--accent-text);border:none;font-size:1.1rem;font-weight:600;min-height:64px}.primary-action:disabled{opacity:.5;cursor:not-allowed}.tracking-big{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:1.6rem;font-weight:700;letter-spacing:.02em;margin:.5rem 0 1rem}.entry-card{margin-top:2rem;padding:1.1rem 1.15rem 1.25rem;border:1px solid var(--border);border-radius:12px;background:var(--surface);display:flex;flex-direction:column;gap:.6rem}.entry-card h2{font-size:1.05rem;margin:0}.entry-card .muted{margin:0}.danger-action{background:var(--danger-solid);color:#fff;border:none;font-weight:600;width:100%}.statut-majeur{font-size:1.35rem;font-weight:700;margin:.5rem 0 0}.statut-majeur[data-tone=action]{color:var(--success)}.card{border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:1.1rem 1.15rem 1.25rem;margin:1.25rem 0}.card h2{font-size:1rem;margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.notice[data-tone=urgent]{border-color:var(--danger);color:var(--danger);font-weight:600}.horaires{list-style:none;margin:0;padding:0;font-size:.92rem}.horaires li{display:flex;justify-content:space-between;gap:1rem;padding:.2rem 0}.frise{list-style:none;margin:0;padding:0}.frise li{display:flex;gap:.9rem;border-left:2px solid var(--border);padding:.45rem 0 .45rem .9rem;margin-left:.3rem}.frise li:first-child{border-left-color:var(--accent)}.frise-date{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--muted);font-size:.88rem;min-width:8.5rem;flex-shrink:0}.frise-actuel{font-weight:650}@media (max-width:420px){.frise li{flex-direction:column;gap:.1rem}.frise-date{min-width:0}}.incidents{list-style:none;margin:0 0 2rem;padding:0;display:flex;flex-direction:column;gap:.75rem}.incidents li{border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:.85rem 1rem 1rem}.incidents li[data-clos=true]{opacity:.72}.incident-entete{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.4rem}.incident-entete .exception-age{margin-left:auto}.incident-description{margin:.3rem 0;white-space:pre-wrap}.incident-actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:flex-start;margin-top:.75rem}.incident-actions>form{flex:1 1 100%}.incident-actions>button,.incident-actions>form:not(.incident-close){flex:0 0 auto}.incident-close{display:flex;flex-direction:column;gap:.75rem;width:100%;border-top:1px solid var(--border);padding-top:.9rem}.field-row textarea,.incident-close textarea{width:100%;min-height:84px;padding:.6rem .75rem;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text);font:inherit;resize:vertical}.tableau-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:12px;margin:1rem 0 2rem}.facturier{width:100%;border-collapse:collapse;font-size:.92rem;background:var(--surface)}.facturier td,.facturier th{text-align:left;padding:.55rem .85rem;white-space:nowrap}.facturier thead th{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--bg)}.facturier tbody tr+tr td{border-top:1px solid var(--border)}.facturier .chiffre,td.chiffre,th.chiffre{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.facturier tr[data-retard] td{color:var(--danger);font-weight:600}.facturier tr[data-retard] td:first-child{border-left:3px solid var(--danger)}.arrets{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-direction:column;gap:.6rem}.arret{border:1px solid var(--border);border-radius:12px;background:var(--surface);overflow:hidden}.arret[data-fait]{opacity:.62}.arret-entete{gap:.75rem;width:100%;border:none;border-radius:0;background:none;text-align:left;padding:.75rem .85rem}.arret-entete,.arret-num{display:flex;align-items:center}.arret-num{flex:none;width:32px;height:32px;border-radius:50%;border:2px solid var(--accent);color:var(--accent);justify-content:center;font-weight:700;font-size:.95rem}.arret-titre{display:flex;flex-direction:column;min-width:0;flex:1 1}.arret-compte{flex:none;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.arret-compte[data-ecart]{color:var(--danger)}.arret-corps{padding:0 .85rem .85rem;display:flex;flex-direction:column;gap:.75rem}.parcel-flag[data-ok]{color:var(--success);border-color:var(--success)}.topbar a:not(.counter-link){display:inline-flex;align-items:center;min-height:44px;padding:0 .5rem;margin:-.5rem -.5rem -.5rem 0}.horaires-saisie{width:100%;border-collapse:collapse;font-size:.95rem}.horaires-saisie th{text-align:left;font-weight:500;padding:.25rem .5rem .25rem 0;white-space:nowrap}.horaires-saisie thead th{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.horaires-saisie td{padding:.2rem .25rem}.horaires-saisie input{width:100%;min-width:88px;min-height:44px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);padding:0 .4rem;font:inherit}