*,*::before,*::after{box-sizing:border-box}
.fpm-body{margin:0;font-family:var(--fpm-font);font-size:var(--fpm-fs);line-height:1.55;color:var(--fpm-text);background:var(--fpm-background);-webkit-font-smoothing:antialiased}
.fpm-body a{color:var(--fpm-link);text-decoration:none}
.fpm-body a:hover{text-decoration:underline}
.fpm-body :focus-visible{outline:2px solid var(--fpm-primary);outline-offset:2px}
.fpm-ico{width:18px;height:18px;flex:0 0 18px}
.fpm-shell{display:flex;flex-direction:column;min-height:100vh}
.fpm-header{background:var(--fpm-header);border-bottom:1px solid var(--fpm-border);position:sticky;top:0;z-index:30}
.fpm-header-in{display:flex;align-items:center;gap:12px;padding:10px 20px;max-width:100%;}
.fpm-header-sp{flex:1}
.fpm-brand{display:flex;align-items:center;gap:10px;color:inherit}
.fpm-logo{max-height:34px;width:auto;display:block}
.fpm-logo-text{font-weight:600;letter-spacing:-.01em}
.fpm-company-name{color:var(--fpm-secondary);font-size:.9em}
.fpm-company-switch select{border:1px solid var(--fpm-field-bd,#8c8f94);border-radius:var(--fpm-radius);padding:6px 8px;background:var(--fpm-field,#fff);color:inherit;max-width:220px}
.fpm-user{display:flex;align-items:center;gap:8px}
.fpm-avatar{border-radius:50%}
.fpm-user-name{font-size:.92em}
.fpm-logout{color:var(--fpm-secondary);display:flex;padding:6px;border-radius:var(--fpm-radius)}
.fpm-logout:hover{background:var(--fpm-background)}
.fpm-burger{display:none;background:none;border:1px solid var(--fpm-border);border-radius:var(--fpm-radius);padding:7px;color:inherit;cursor:pointer}
.fpm-body-in{display:flex;flex:1;align-items:flex-start}
.fpm-nav{width:var(--fpm-nav-w);flex:0 0 var(--fpm-nav-w);background:var(--fpm-sidebar);color:var(--fpm-sidebar-tx);align-self:stretch;padding:18px 0}
.fpm-nav-list,.fpm-nav-list ul{list-style:none;margin:0;padding:0}
.fpm-nav-sec{margin-bottom:18px}
.fpm-nav-sec-t{display:flex;align-items:center;gap:9px;padding:0 18px 7px;font-size:.72em;text-transform:uppercase;letter-spacing:.09em;opacity:.62}
.fpm-nav-l{display:flex;align-items:center;gap:10px;padding:8px 18px;color:inherit;font-size:.94em;border-left:3px solid transparent}
.fpm-nav-l:hover{background:rgba(255,255,255,.07);text-decoration:none}
.fpm-nav-l.is-active{background:rgba(255,255,255,.11);border-left-color:var(--fpm-primary);font-weight:500}
.fpm-nav-compact .fpm-nav-l{padding-top:5px;padding-bottom:5px}
.fpm-nav-horizontal .fpm-body-in{flex-direction:column}
.fpm-nav-horizontal .fpm-nav{width:100%;flex:none;align-self:auto;padding:0;background:var(--fpm-surface);color:var(--fpm-text);border-bottom:1px solid var(--fpm-border)}
.fpm-nav-horizontal .fpm-nav-list{display:flex;flex-wrap:wrap;gap:6px;padding:6px 20px}
.fpm-nav-horizontal .fpm-nav-sec{margin:0;position:relative}
.fpm-nav-horizontal .fpm-nav-sec-t{padding:8px 12px;opacity:1;font-size:.8em;text-transform:none;letter-spacing:0}
.fpm-nav-horizontal .fpm-nav-sec>ul{display:none;position:absolute;top:100%;left:0;min-width:220px;background:var(--fpm-surface);border:1px solid var(--fpm-border);border-radius:var(--fpm-radius);box-shadow:var(--fpm-shadow);z-index:20;padding:6px 0}
.fpm-nav-horizontal .fpm-nav-sec:hover>ul,.fpm-nav-horizontal .fpm-nav-sec:focus-within>ul{display:block}
.fpm-main{flex:1;min-width:0;padding:calc(var(--fpm-gap) * 1.5) 20px;max-width:var(--fpm-width);margin:0 auto;width:100%}
.fpm-title{font-size:1.5em;margin:0 0 var(--fpm-gap);font-weight:600;letter-spacing:-.01em}
.fpm-sub{font-size:1em;margin:calc(var(--fpm-gap) * 1.2) 0 8px;font-weight:600}
.fpm-footer{border-top:1px solid var(--fpm-border);padding:14px 20px;color:var(--fpm-secondary);font-size:.85em;background:var(--fpm-surface)}
.fpm-card{background:var(--fpm-surface);border:1px solid var(--fpm-border);border-radius:var(--fpm-radius);box-shadow:var(--fpm-shadow);margin-bottom:var(--fpm-gap)}
.fpm-card-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--fpm-border)}
.fpm-hero{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding:20px 22px;margin-bottom:var(--fpm-gap);background:var(--fpm-surface);border:1px solid var(--fpm-border);border-radius:var(--fpm-radius);box-shadow:var(--fpm-shadow)}
.fpm-hero-title{margin:0 0 4px;font-size:1.375rem;font-weight:700;letter-spacing:-.02em}
.fpm-hero-sub{margin:0;color:var(--fpm-secondary);font-size:.94em}
.fpm-hero-actions{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}
.fpm-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--fpm-gap);margin-bottom:var(--fpm-gap)}
.fpm-stat{padding:16px;background:var(--fpm-tile);border:1px solid var(--fpm-tile-bd);border-radius:var(--fpm-radius);box-shadow:var(--fpm-shadow);color:inherit;display:block}
a.fpm-stat:hover{text-decoration:none;border-color:var(--fpm-primary)}
.fpm-palettes{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}
.fpm-palette{display:flex;flex-direction:column;gap:6px;padding:14px;border:1px solid var(--fpm-border);border-radius:var(--fpm-radius);background:var(--fpm-surface);align-items:flex-start}
.fpm-palette-swatches{display:flex;height:34px;border-radius:calc(var(--fpm-radius) / 1.6);overflow:hidden;border:1px solid var(--fpm-border)}
.fpm-palette-swatches i{flex:1}
.fpm-palette-name{font-weight:600}
.fpm-palette .fpm-btn{margin-top:4px;align-self:flex-start}
.fpm-card-h h2{margin:0;font-size:.98em;font-weight:600}
.fpm-card-b{padding:18px}
.fpm-widgets{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--fpm-gap);align-items:start}
.fpm-widgets .fpm-card{margin:0}
.fpm-dl{display:grid;grid-template-columns:minmax(140px,34%) 1fr;gap:7px 16px;margin:0}
.fpm-dl dt{color:var(--fpm-secondary);font-size:.88em}
.fpm-dl dd{margin:0}
.fpm-empty{color:var(--fpm-secondary);font-style:italic}
.fpm-muted{color:var(--fpm-secondary);font-size:.88em}
.fpm-strong{font-weight:600;font-size:1.05em;margin:0 0 10px}
.fpm-denied{color:#b32d2e}
.fpm-grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0 18px}
.fpm-grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0 18px}
.fpm-fld{margin-bottom:15px;display:flex;flex-direction:column;gap:5px}
.fpm-fld label{font-size:.86em;font-weight:500;color:var(--fpm-secondary)}
.fpm-fld input,.fpm-fld select,.fpm-fld textarea{font:inherit;font-size:.95em;padding:9px 11px;border:1px solid var(--fpm-field-bd,#8c8f94);border-radius:var(--fpm-radius);background:var(--fpm-field,#fff);color:var(--fpm-text);width:100%}
.fpm-fld input[type=color]{padding:2px;height:38px}
/* Le bouton natif d'un champ fichier ne ressemble a rien d'autre dans le
   portail : on lui donne l'allure d'un bouton ordinaire. */
.fpm-fld input[type=file]{padding:6px 8px;line-height:1.6}
.fpm-fld input[type=file]::file-selector-button{font:inherit;font-size:.9em;margin:0 10px 0 0;padding:6px 12px;border:1px solid var(--fpm-border,#dcdcde);border-radius:var(--fpm-radius);background:var(--fpm-background,#f6f7f7);color:var(--fpm-text);cursor:pointer}
.fpm-fld input[type=file]::file-selector-button:hover{border-color:var(--fpm-primary);color:var(--fpm-primary)}
.fpm-fld input:disabled,.fpm-fld select:disabled{background:var(--fpm-background);color:var(--fpm-secondary)}
.fpm-fld input:focus,.fpm-fld select:focus,.fpm-fld textarea:focus{border-color:var(--fpm-primary);outline:none;box-shadow:0 0 0 3px rgba(34,113,177,.12)}
.fpm-req{color:#b32d2e}
.fpm-help{color:var(--fpm-secondary);font-size:.8em}
.fpm-check{display:flex;align-items:center;gap:8px;font-size:.9em;margin-bottom:10px}
.fpm-check input{width:auto}
.fpm-hp{position:absolute;left:-9999px}
.fpm-label-entry{padding:14px 0;border-bottom:1px solid var(--fpm-border)}
.fpm-label-entry:last-of-type{border-bottom:none}
.fpm-label-entry h3 code{font-size:.8em;color:var(--fpm-secondary)}
.fpm-lookup{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.fpm-lookup input[type=search]{flex:1;min-width:220px;height:38px;padding:0 12px;font:inherit;font-size:.95em;border:1px solid var(--fpm-field-bd,#8c8f94);border-radius:var(--fpm-radius);background:var(--fpm-field,#fff);color:inherit}
.fpm-ac-wrap{position:relative}
.fpm-ac{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:40;max-height:280px;overflow-y:auto;background:var(--fpm-surface);border:1px solid var(--fpm-border);border-radius:var(--fpm-radius);box-shadow:var(--fpm-shadow)}
.fpm-ac-opt{display:block;width:100%;text-align:left;padding:9px 12px;background:none;border:0;border-bottom:1px solid var(--fpm-border);font:inherit;color:inherit;cursor:pointer}
.fpm-ac-opt:last-child{border-bottom:0}
.fpm-ac-opt:hover,.fpm-ac-opt.is-on{background:var(--fpm-row-hover,var(--fpm-background))}
.fpm-ac-opt strong{display:block;font-weight:600;font-size:.94em}
.fpm-ac-opt small{display:block;color:var(--fpm-secondary);font-size:.82em;margin-top:1px}
.fpm-lookup-res:empty{display:none}
.fpm-lookup-res{margin-top:12px;border:1px solid var(--fpm-border);border-radius:var(--fpm-radius);overflow:hidden}
.fpm-lookup-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 14px;background:var(--fpm-panel);border:0;border-bottom:1px solid var(--fpm-border);font:inherit;text-align:left;cursor:pointer;color:inherit}
.fpm-lookup-item:last-child{border-bottom:0}
.fpm-lookup-item:hover,.fpm-lookup-item:focus-visible{background:var(--fpm-background)}
.fpm-lookup-item b{display:block;font-size:.95em}
.fpm-lookup-item small{color:var(--fpm-secondary);font-size:.82em}
.fpm-lookup-item .fpm-badge{margin-left:auto}
.fpm-lookup-msg{padding:10px 14px;font-size:.88em;color:var(--fpm-secondary)}
.fpm-imgfield{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap}
.fpm-imgfield-c{flex:1;min-width:220px;display:flex;flex-direction:column;gap:8px}
.fpm-imgprev{display:flex;align-items:center;justify-content:center;width:120px;height:64px;padding:6px;border:1px solid var(--fpm-border);border-radius:var(--fpm-radius);background:var(--fpm-background)}
.fpm-imgprev img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.fpm-imgfield input[type=file]{font-size:.85em}
.fpm-imgfield .fpm-check{margin:0;font-size:.85em}
.fpm-imgurl summary{font-size:.82em;color:var(--fpm-secondary);cursor:pointer}
.fpm-imgurl input{margin-top:6px}
.fpm-dup{display:inline-flex;gap:4px;align-items:center}
.fpm-dup input[type=text]{width:170px;font-size:.82em;padding:4px 8px;border:1px solid var(--fpm-field-bd,#8c8f94);border-radius:var(--fpm-radius);background:var(--fpm-field,#fff);color:inherit}
.fpm-roles-scroll{overflow-x:auto}
.fpm-role-col{min-width:150px;vertical-align:top}
.fpm-surface-group{margin:18px 0 6px;font-size:14px;text-transform:uppercase;letter-spacing:.05em;opacity:.7}
.fpm-widget-nocap{display:block;font-size:11px;line-height:1.2;margin-top:2px}
.fpm-role-col input[type=text]{width:100%;font-size:.9em;padding:6px 8px}
.fpm-role-meta{display:block;margin-top:4px;font-size:.78em;text-transform:none;letter-spacing:0}
.fpm-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.fpm-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border-radius:var(--fpm-radius);border:1px solid var(--fpm-btn2-bd);background:var(--fpm-btn2);color:var(--fpm-text);font:inherit;font-size:.9em;cursor:pointer;text-decoration:none;line-height:1.2}
.fpm-btn:hover{background:var(--fpm-btn2-hover);text-decoration:none}
.fpm-btn-primary{background:var(--fpm-button);border-color:var(--fpm-button);color:#fff}
.fpm-btn-primary:hover{background:var(--fpm-hover);border-color:var(--fpm-hover)}
.fpm-btn-ghost{background:transparent}
.fpm-btn-danger{color:#b32d2e;border-color:#e0c3c3}
.fpm-btn-danger:hover{background:#fdf2f2}
.fpm-btn-block{width:100%;justify-content:center}
.fpm-btn-sm{padding:5px 10px;font-size:.82em}
.fpm-notice{position:relative;display:flex;align-items:flex-start;gap:12px;padding:11px 14px;border-radius:var(--fpm-radius);margin-bottom:var(--fpm-gap);border-left:3px solid;font-size:.92em;transition:opacity .3s ease,transform .3s ease,margin .3s ease,max-height .3s ease;max-height:400px;overflow:hidden}
.fpm-notice-t{flex:1}
.fpm-notice-auto{padding-right:14px}
.fpm-notice-x{flex:0 0 auto;background:none;border:0;padding:0 2px;font-size:1.35em;line-height:1;cursor:pointer;color:inherit;opacity:.45}
.fpm-notice-x:hover,.fpm-notice-x:focus-visible{opacity:1}
.fpm-notice.is-hiding{opacity:0;transform:translateY(-6px);max-height:0;margin-bottom:0;padding-top:0;padding-bottom:0}
@media(prefers-reduced-motion:reduce){.fpm-notice{transition:none}}
.fpm-notice-success{background:#f0f7f0;border-color:#3c8a3c}
.fpm-notice-error{background:#fdf2f2;border-color:#b32d2e}
.fpm-notice-info{background:#f0f6fb;border-color:var(--fpm-primary)}
.fpm-notice-warning{background:#fcf7e8;border-color:#dba617}
.fpm-table{width:100%;border-collapse:collapse;background:var(--fpm-table);border:1px solid var(--fpm-table-bd);border-radius:var(--fpm-radius);overflow:hidden;margin-bottom:var(--fpm-gap);font-size:.9em}
.fpm-table th,.fpm-table td{padding:10px 13px;text-align:left;border-bottom:1px solid var(--fpm-table-bd);vertical-align:middle}
.fpm-table thead th{background:var(--fpm-table-head);font-size:.85em;text-transform:uppercase;letter-spacing:.04em;color:var(--fpm-secondary);font-weight:600}
/* La derniere ligne perd son trait : il doublait la bordure du tableau.
   Les cellules d'en-tete de ligne en font partie, sinon le trait s'arrete
   net la ou commencent les colonnes suivantes. */
.fpm-table tbody tr:last-child td,.fpm-table tbody tr:last-child th{border-bottom:none}
.fpm-ta-r{text-align:right}
.fpm-row-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
/* Une cellule d'actions vide reste une cellule de tableau : en flex,
   elle sort de la grille et laisse un trait en travers de la ligne. */
.fpm-row-actions:empty{display:table-cell}
.fpm-inline-form{display:inline}
.fpm-u{display:flex;align-items:center;gap:9px}
.fpm-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.78em;background:var(--fpm-background);border:1px solid var(--fpm-border)}
.fpm-badge-active{background:#f0f7f0;border-color:#cfe6cf}
.fpm-badge-disabled,.fpm-badge-inactive{background:#fdf2f2;border-color:#e6cfcf}
/* L'en-tete se centre comme son bouton : cale a gauche, il tombait a
   cote de la colonne qu'il nomme. Les trois colonnes partagent la meme
   largeur, sinon « Autorise » elargit la sienne et decale les autres.

   Le selecteur porte les deux classes du tableau : un theme peut aligner
   toutes les cellules a gauche avec une specificite superieure a celle
   d'une classe seule, et le centrage serait perdu. */
.fpm-table.fpm-acl thead th + th,.fpm-table.fpm-acl td{text-align:center;width:100px}
.fpm-acl th[scope=row]{font-weight:400}

/* Le bouton se centre par sa marge, et non par l'alignement du texte :
   ainsi il tient sa place quel que soit ce qu'un theme impose a la
   cellule. */
.fpm-acl td input[type=radio]{display:block;margin:0 auto}
.fpm-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:var(--fpm-gap);align-items:center}
.fpm-filters input,.fpm-filters select{font:inherit;font-size:.9em;padding:8px 10px;border:1px solid var(--fpm-field-bd,#8c8f94);border-radius:var(--fpm-radius);background:var(--fpm-field,#fff);color:inherit}
.fpm-pagination{display:flex;gap:5px;margin-bottom:var(--fpm-gap)}
.fpm-page{padding:5px 10px;border:1px solid var(--fpm-panel-bd);border-radius:var(--fpm-radius);font-size:.85em;background:var(--fpm-panel)}
.fpm-page-on{background:var(--fpm-primary);border-color:var(--fpm-primary);color:#fff}
.fpm-tabs{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--fpm-border);margin-bottom:var(--fpm-gap)}
.fpm-tab{padding:9px 14px;font-size:.9em;color:var(--fpm-secondary);border-bottom:2px solid transparent;margin-bottom:-1px}
.fpm-tab.is-active{color:var(--fpm-text);border-bottom-color:var(--fpm-primary);font-weight:500}
.fpm-timeline{list-style:none;margin:0;padding:0;font-size:.89em}
.fpm-timeline li{padding:7px 0;border-bottom:1px solid var(--fpm-border);display:flex;gap:10px;flex-wrap:wrap}
.fpm-timeline li:last-child{border-bottom:none}
.fpm-t-date{color:var(--fpm-secondary);font-variant-numeric:tabular-nums}
.fpm-t-user{font-weight:500}
.fpm-sortable{list-style:none;margin:0;padding:0}
.fpm-sort-item{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px;border:1px solid var(--fpm-tile-bd);border-radius:var(--fpm-radius);margin-bottom:8px;background:var(--fpm-tile)}
.fpm-sort-item.fpm-drag{opacity:.5}
.fpm-grip{cursor:grab;color:var(--fpm-secondary);display:flex}
.fpm-sort-name{font-weight:500;flex:1}
.fpm-sort-act{display:flex;gap:6px}
.fpm-sub-empty{margin:6px 0 0;opacity:.6;font-size:13px}
.fpm-sub-add{margin:8px 0 0}
.fpm-sub-edit{font-size:12px;opacity:.75}
.fpm-sub-list{list-style:none;margin:6px 0 0;padding:0 0 0 28px;width:100%;font-size:.85em;color:var(--fpm-secondary)}
.fpm-sub-list code{font-size:.9em}
/* Visionneuse : par-dessus la page, jamais a sa place. */
.fpm-zoom{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(8,12,20,.95);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.fpm-zoom[hidden]{display:none}
.fpm-zoom-c{display:flex;flex-direction:column;gap:10px;max-width:min(1100px,100%);max-height:100%}
.fpm-zoom-b{display:flex;align-items:center;gap:10px;color:#fff}
.fpm-zoom-t{flex:1;margin:0;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fpm-zoom-b button{flex:none;width:36px;height:36px;border:0;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;font-size:20px;line-height:1;cursor:pointer}
.fpm-zoom-b button:hover{background:rgba(255,255,255,.26)}
.fpm-zoom-b button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.fpm-zoom-b button[hidden]{display:none}
.fpm-zoom-i{display:block;max-width:100%;max-height:calc(100vh - 110px);object-fit:contain;border-radius:var(--fpm-radius,8px);background:#fff;touch-action:pan-y;user-select:none;-webkit-user-drag:none}
.fpm-zoom.has-strip .fpm-zoom-i{max-height:calc(100vh - 190px)}
.fpm-zoom-s{display:flex;gap:8px;overflow-x:auto;padding:2px;justify-content:center}
.fpm-zoom-s button{flex:none;width:64px;height:64px;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;background:rgba(255,255,255,.1);cursor:pointer;opacity:.6}
.fpm-zoom-s button[aria-current="true"]{border-color:#fff;opacity:1}
.fpm-zoom-s img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:640px){.fpm-zoom{padding:10px}.fpm-zoom-b button{width:44px;height:44px}}
/* La page dessous ne defile plus : on reste ou l'on etait. */
body.fpm-zoomed{overflow:hidden}
.fpm-auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--fpm-background)}
.fpm-auth-card{width:100%;max-width:420px;background:var(--fpm-surface);border:1px solid var(--fpm-border);border-radius:var(--fpm-radius);box-shadow:var(--fpm-shadow);padding:30px}
.fpm-auth-head{text-align:center;margin-bottom:22px}
.fpm-auth-head h1{font-size:1.15em;margin:12px 0 0;font-weight:600}
.fpm-auth-links{margin-top:16px;text-align:center;font-size:.86em;color:var(--fpm-secondary)}
.fpm-strength{height:4px;border-radius:2px;background:var(--fpm-border);overflow:hidden;margin-top:5px}
.fpm-strength i{display:block;height:100%;width:0;transition:width .2s}
@media(max-width:900px){
.fpm-burger{display:inline-flex}
.fpm-nav{position:fixed;top:0;left:0;bottom:0;z-index:40;transform:translateX(-100%);transition:transform .2s;overflow-y:auto;padding-top:64px}
.fpm-nav.is-open{transform:none}
.fpm-user-name{display:none}
.fpm-main{padding:var(--fpm-gap) 14px}
.fpm-nav-horizontal .fpm-nav{position:static;transform:none;padding:0}
}
@media(max-width:700px){
.fpm-dl{grid-template-columns:1fr;gap:2px}
.fpm-dl dd{margin-bottom:8px}
.fpm-table,.fpm-table tbody,.fpm-table tr,.fpm-table td{display:block;width:100%}
.fpm-table thead{display:none}
.fpm-table tr{border-bottom:1px solid var(--fpm-table-bd);padding:8px 0}
.fpm-table td{border:none;padding:5px 13px;display:flex;justify-content:space-between;gap:12px}
.fpm-table td::before{content:attr(data-label);color:var(--fpm-secondary);font-size:.85em}
.fpm-row-actions{justify-content:flex-start}
.fpm-btn{min-height:40px}
}
/* Accueil 1.28 : chiffres du jour, tuiles, gestion repliable, colonne */
.fpm-stats-day{margin-bottom:var(--fpm-gap,20px)}
.fpm-home{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--fpm-gap,20px);align-items:start}
.fpm-home-full{grid-template-columns:minmax(0,1fr)}
.fpm-home-main{display:flex;flex-direction:column;gap:var(--fpm-gap,20px);min-width:0}
.fpm-home-side{display:flex;flex-direction:column;gap:var(--fpm-gap,20px);min-width:0}
.fpm-home-side .fpm-card,.fpm-home-side .fpm-widget .fpm-card{margin:0}
.fpm-home-h{margin:0 0 10px;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--fpm-secondary,#646970)}
.fpm-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.fpm-tile{position:relative;display:flex;flex-direction:column;gap:10px;padding:16px;background:var(--fpm-surface,#fff);border:1px solid var(--fpm-border,#e2e4e7);border-radius:var(--fpm-card-radius,var(--fpm-radius,12px));transition:border-color .15s,box-shadow .15s;min-width:0}
.fpm-tile:hover{border-color:color-mix(in srgb,var(--fpm-primary,#2271b1) 45%,var(--fpm-border,#e2e4e7));box-shadow:0 2px 10px rgba(0,0,0,.05)}
.fpm-body .fpm-tile a,.fpm-tile a{text-decoration:none}
.fpm-tile-a{display:flex;flex-direction:column;gap:10px;color:inherit}
.fpm-tile-a::after{content:"";position:absolute;inset:0;border-radius:inherit}
.fpm-tile-i{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:color-mix(in srgb,var(--c) 14%,transparent);color:var(--c)}
.fpm-tile-i svg{width:20px;height:20px}
.fpm-tile-t{display:flex;flex-direction:column;gap:2px;min-width:0}
.fpm-tile-t strong{font-size:.95rem;color:var(--fpm-text,#1d2327)}
.fpm-tile-t small{font-size:.8rem;color:var(--fpm-secondary,#646970)}
.fpm-tile-links{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:4px 10px;font-size:.8rem}
.fpm-tile-links a{color:var(--fpm-secondary,#646970)}
.fpm-tile-links a:hover{color:var(--fpm-primary,#2271b1);text-decoration:underline}
.fpm-tone-blue{--c:#2563eb}.fpm-tone-violet{--c:#7c3aed}.fpm-tone-teal{--c:#0d9488}.fpm-tone-green{--c:#16a34a}.fpm-tone-amber{--c:#d97706}.fpm-tone-rose{--c:#e11d48}.fpm-tone-slate{--c:#64748b}
.fpm-home-manage{background:var(--fpm-surface,#fff);border:1px solid var(--fpm-border,#e2e4e7);border-radius:var(--fpm-card-radius,var(--fpm-radius,12px));padding:0 16px}
.fpm-home-manage>summary{display:flex;align-items:center;gap:10px;padding:14px 0;cursor:pointer;list-style:none;font-weight:600}
.fpm-home-manage>summary::-webkit-details-marker{display:none}
.fpm-home-manage>summary::before{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .15s;opacity:.6}
.fpm-home-manage[open]>summary::before{transform:rotate(45deg)}
.fpm-home-manage>summary small{font-weight:400;color:var(--fpm-secondary,#646970)}
.fpm-home-manage .fpm-stats{padding-bottom:16px;margin:0}
.fpm-home-manage .fpt-stat{box-shadow:none}
.fpm-panel{padding:0;overflow:hidden}
.fpm-panel-h{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 16px;border-bottom:1px solid var(--fpm-border,#e2e4e7)}
.fpm-panel-h h2{margin:0;font-size:.95rem;font-weight:600}
.fpm-pill{display:inline-flex;min-width:22px;height:22px;padding:0 7px;align-items:center;justify-content:center;border-radius:11px;background:color-mix(in srgb,var(--fpm-primary,#2271b1) 12%,transparent);color:var(--fpm-primary,#2271b1);font-size:.75rem;font-weight:600}
.fpm-panel-rows{list-style:none;margin:0;padding:0}
.fpm-panel-rows li{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--fpm-border,#eef0f2)}
.fpm-panel-rows li:last-child{border-bottom:0}
.fpm-ini{flex:none;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:color-mix(in srgb,var(--c) 14%,transparent);color:var(--c);font-size:.75rem;font-weight:700}
.fpm-panel-m{flex:1;min-width:0;display:flex;flex-direction:column}
.fpm-panel-m strong{font-size:.875rem}
.fpm-panel-m small{font-size:.78rem;color:var(--fpm-secondary,#646970);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fpm-chip{flex:none;padding:3px 9px;border-radius:999px;font-size:.72rem;font-weight:600;background:color-mix(in srgb,var(--c) 13%,transparent);color:var(--c)}
.fpm-panel-empty{padding:14px 16px;margin:0}
.fpm-panel-f{display:block;padding:12px 16px;text-align:center;font-size:.85rem;font-weight:600;border-top:1px solid var(--fpm-border,#eef0f2)}
.fpm-side-stat{display:block;padding:16px;color:inherit}
.fpm-body a.fpm-side-stat:hover,a.fpm-side-stat:hover{text-decoration:none;border-color:color-mix(in srgb,var(--fpm-primary,#2271b1) 45%,var(--fpm-border,#e2e4e7))}
.fpm-side-stat-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:10px}
.fpm-side-stat-h strong{font-size:.95rem}
.fpm-side-stat-h span{font-weight:700;font-variant-numeric:tabular-nums}
.fpm-side-stat .fpm-muted{margin:10px 0 0;font-size:.8rem}
.fpm-tile-pick{display:flex;flex-wrap:wrap;gap:6px 18px}
.fpm-body .fpm-tile a.fpm-tile-a:hover,.fpm-tile a.fpm-tile-a:hover{text-decoration:none}
@media (max-width:1100px){.fpm-home{display:flex;flex-direction:column}.fpm-home-main{display:contents}.fpm-home-main>.fpm-home-sec{order:1}.fpm-home-manage{order:2}.fpm-home-side{order:3}.fpm-home-main>.fpm-widgets{order:4}}
@media (max-width:1100px){.fpm-home>*,.fpm-home-main>*{width:100%}}
@media (max-width:640px){.fpm-stats-day{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}.fpm-stats-day .fpt-stat{padding:12px}.fpm-stats-day .fpt-stat-n{font-size:1.5rem}.fpm-stats-day .fpt-stat-head{margin-bottom:8px}.fpm-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fpm-tile{padding:12px;gap:8px}.fpm-tile-links{display:none}.fpm-tile-i{width:36px;height:36px}}
/* Tableaux en cartes (telephone) : numero en tete, valeurs vides masquees */
@media (max-width:700px){.fpm-table td.fpm-td-empty{display:none!important}.fpm-table tbody tr>td:first-child{font-weight:600}.fpm-table tbody tr>td:first-child::before{font-weight:400}.fpm-table td[data-label=""]::before{content:none}}
/* --- Module Documents --- */
.fpm-doc-app{max-width:1180px;margin:0 auto}
.fpm-doc-crumbs{margin:0 0 12px;font-size:.82em}

/* Barre : recherche + actions, puis filtres */
.fpm-doc-bar{background:var(--fpm-panel);border:1px solid var(--fpm-panel-bd);border-radius:var(--fpm-radius);padding:12px;margin-bottom:16px;display:flex;flex-direction:column;gap:8px}
.fpm-doc-bar-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.fpm-doc-search{position:relative;flex:1 1 260px;min-width:200px;display:flex;align-items:center}
.fpm-doc-search .fpm-ico{position:absolute;left:10px;width:16px;height:16px;color:var(--fpm-secondary);pointer-events:none}
.fpm-doc-bar input[type=search]{width:100%;height:34px;padding:0 12px 0 32px;font:inherit;font-size:.88rem;border:1px solid var(--fpm-field-bd);border-radius:var(--fpm-radius);background:var(--fpm-field);color:inherit}
.fpm-doc-actions{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}
.fpm-doc-actions .fpm-btn{height:34px;min-height:0;padding:0 12px;gap:6px;font-size:.85rem;white-space:nowrap}
.fpm-doc-actions .fpm-ico{width:16px;height:16px}

.fpm-doc-bar-filters{padding-top:8px;border-top:1px solid var(--fpm-panel-bd)}
.fpm-doc-ctl{display:block;flex:1 1 150px;min-width:120px;max-width:220px}
.fpm-doc-bar select{width:100%;height:32px;padding:0 26px 0 10px;font:inherit;font-size:.85rem;border:1px solid var(--fpm-field-bd);border-radius:var(--fpm-radius);background:var(--fpm-field);color:inherit}
.fpm-doc-bar-filters .fpm-btn{height:32px;min-height:0;padding:0 14px;font-size:.85rem}
.fpm-doc-bar :focus-visible{outline:2px solid var(--fpm-primary);outline-offset:1px}

/* Panneaux : invisibles tant qu'ils ne sont pas ouverts */
.fpm-doc-panel{margin:0 0 16px}
.fpm-doc-panel>summary{display:none}
.fpm-doc-panel:not([open]){display:none}
.fpm-doc-panel-b{background:var(--fpm-panel);border:1px solid var(--fpm-panel-bd);border-radius:var(--fpm-radius);padding:16px}
.fpm-doc-panel-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:.95em}
.fpm-doc-panel-x{display:inline-flex;color:var(--fpm-secondary);padding:4px;border-radius:var(--fpm-radius)}
.fpm-doc-panel-x .fpm-ico{transform:rotate(45deg)}
.fpm-doc-panel-x:hover{background:var(--fpm-background);color:inherit}
.fpm-doc-panel-b .fpm-card{margin:0;border:0;box-shadow:none;background:transparent}
.fpm-doc-panel-b .fpm-card-h{display:none}
.fpm-doc-panel-b .fpm-card-b{padding:0}
.fpm-doc-panel-b .fpm-fld{margin-bottom:12px}
.fpm-doc-panel-b .fpm-actions{margin-top:12px;padding-top:12px}

/* Grille dense */
.fpm-doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;margin-bottom:16px}
.fpm-doc-tile{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--fpm-document);border:1px solid var(--fpm-document-bd);border-radius:var(--fpm-radius);color:inherit;min-width:0}
.fpm-doc-tile:hover{border-color:var(--fpm-document-hover-bd);background:var(--fpm-document-hover);text-decoration:none}
.fpm-doc-tile.is-folder{background:var(--fpm-folder);border-color:var(--fpm-folder-bd)}
.fpm-doc-tile.is-folder:hover{background:var(--fpm-folder-hover);border-color:var(--fpm-folder-hover-bd)}
/* Vue liste : transparent tant que le dossier n'a pas de couleur propre. */
.fpm-doc-folder-row td{background:var(--fpm-folder-row)}
.fpm-doc-tile-ico{display:flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 34px;border-radius:var(--fpm-radius);background:var(--fpm-background);color:var(--fpm-secondary)}
.fpm-doc-tile-ico .fpm-ico{width:18px;height:18px}
.fpm-doc-tile.is-folder .fpm-doc-tile-ico{color:var(--fpm-primary)}
.fpm-doc-tile-txt{min-width:0;display:flex;flex-direction:column;gap:2px}
.fpm-doc-tile-name{font-size:.85rem;font-weight:500;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fpm-doc-tile-meta{font-size:.72rem;color:var(--fpm-secondary);line-height:1.2}
.fpm-doc-tile-wrap{position:relative}
.fpm-doc-tile-share{position:absolute;top:6px;right:6px;display:none;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--fpm-radius);background:var(--fpm-tile);border:1px solid var(--fpm-border);color:var(--fpm-secondary)}
.fpm-doc-tile-share .fpm-ico{width:13px;height:13px}
.fpm-doc-tile-wrap:hover .fpm-doc-tile-share,.fpm-doc-tile-share:focus{display:flex}
.fpm-doc-tile-share:hover{color:var(--fpm-primary);border-color:var(--fpm-primary)}
.fpm-doc-advanced{margin-bottom:16px}
.fpm-doc-advanced>summary{padding:10px 12px;cursor:pointer;font-size:.88rem;color:var(--fpm-secondary);border:1px solid var(--fpm-border);border-radius:var(--fpm-radius);background:var(--fpm-panel)}
.fpm-doc-advanced[open]>summary{margin-bottom:12px}
.fpm-doc-empty{padding:24px;text-align:center;background:var(--fpm-panel);border:1px dashed var(--fpm-panel-bd);border-radius:var(--fpm-radius)}

/* Vue liste, plus dense */
.fpm-doc-app .fpm-table{font-size:.86rem;margin-bottom:16px}
.fpm-doc-app .fpm-table th,.fpm-doc-app .fpm-table td{padding:8px 12px}
.fpm-doc-name{display:flex;align-items:center;gap:8px;color:inherit;min-width:0}
.fpm-doc-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fpm-doc-name:hover{color:var(--fpm-link)}
.fpm-doc-check{width:32px}
.fpm-doc-folder-row .fpm-doc-name{font-weight:500}
.fpm-doc-app .fpm-row-actions .fpm-btn{height:28px;min-height:0;padding:0 10px;font-size:.78rem}
.fpm-doc-bulkbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:10px 12px;border:1px solid var(--fpm-panel-bd);border-radius:var(--fpm-radius);background:var(--fpm-panel);margin-bottom:16px;font-size:.85rem}
.fpm-doc-bulkbar select,.fpm-doc-bulkbar input{height:32px;font:inherit;font-size:.85rem;padding:0 10px;border:1px solid var(--fpm-field-bd);border-radius:var(--fpm-radius);background:var(--fpm-field);color:inherit}

/* Depot */
.fpm-doc-drop{border:2px dashed var(--fpm-border);border-radius:var(--fpm-radius);padding:20px;text-align:center;margin-bottom:12px}
.fpm-doc-drop.is-over{border-color:var(--fpm-primary);background:rgba(34,113,177,.06)}
.fpm-doc-drop-text{font-weight:600;margin:0 0 2px;font-size:.95em}
.fpm-doc-queue{list-style:none;margin:0 0 12px;padding:0}
.fpm-doc-queue li{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--fpm-border);font-size:.85rem}
.fpm-doc-queue li:last-child{border-bottom:none}
.fpm-doc-queue .fpm-doc-qname{flex:1;word-break:break-all}
.fpm-doc-queue .fpm-doc-qbar{width:110px;height:4px;border-radius:2px;background:var(--fpm-border);overflow:hidden}
.fpm-doc-queue .fpm-doc-qbar i{display:block;height:100%;width:0;background:var(--fpm-primary);transition:width .2s}
.fpm-doc-queue .is-error{color:#b32d2e}
.fpm-doc-queue .is-done{color:#3c8a3c}

/* Detail */
.fpm-doc-preview{width:100%;max-height:620px;min-height:400px;border:1px solid var(--fpm-border);border-radius:var(--fpm-radius);background:var(--fpm-background)}
img.fpm-doc-preview{min-height:0;object-fit:contain}
.fpm-doc-preview-text{max-height:400px;overflow:auto;padding:12px;background:var(--fpm-background);border:1px solid var(--fpm-border);border-radius:var(--fpm-radius);font-size:.82rem;white-space:pre-wrap}

/* Widgets */
.fpm-doc-mini{list-style:none;margin:0;padding:0;font-size:.88rem}
.fpm-doc-mini li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--fpm-border)}
.fpm-doc-mini li:last-child{border-bottom:none}
.fpm-doc-mini a{display:flex;align-items:center;gap:8px;color:inherit;min-width:0}
.fpm-doc-mini a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fpm-doc-gauge{height:8px;border-radius:4px;background:var(--fpm-border);overflow:hidden;margin:10px 0 6px}
.fpm-doc-gauge i{display:block;height:100%;background:var(--fpm-primary)}

@media(max-width:900px){
.fpm-doc-ctl{max-width:none;flex:1 1 45%}
}
@media(max-width:700px){
.fpm-doc-search{flex:1 1 100%}
.fpm-doc-actions{margin-left:0;width:100%}
.fpm-doc-actions .fpm-btn{flex:1;justify-content:center;height:40px}
.fpm-doc-ctl{flex:1 1 100%;max-width:none}
.fpm-doc-bar-filters .fpm-btn{width:100%;height:40px}
.fpm-doc-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.fpm-doc-check{display:none}
.fpm-doc-preview{min-height:280px}
}
.fpm-party-bar{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:16px}
.fpm-party-filters{display:flex;gap:8px;flex-wrap:wrap}
.fpm-party-filters input,.fpm-party-filters select{padding:6px 10px;border:1px solid var(--fpm-field-bd,#8c8f94);border-radius:var(--fpm-radius,8px);background:var(--fpm-field,#fff);color:inherit}
.fpm-party-table code{font-size:12px;opacity:.8}
.fpm-party-add{margin-top:16px}
/* Code postal etroit, ville large, pays moyen : les proportions du
   contenu reel, pas trois colonnes egales. */
.fpm-grid-addr{display:grid;grid-template-columns:minmax(110px,.8fr) minmax(200px,2.2fr) minmax(130px,1fr);gap:0 var(--fpm-gap,20px)}
@media (max-width:640px){.fpm-grid-addr{grid-template-columns:1fr}}
.fpm-form-group{margin:20px 0 10px;font-size:.8125rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--fpm-secondary)}
.fpm-form-group:first-child{margin-top:0}
.fpm-party-add>summary{cursor:pointer;font-weight:600;margin-bottom:10px}
.fpm-party-notes{margin-top:12px;padding:10px 12px;background:var(--fpm-bg,#f6f7f7);border-radius:var(--fpm-radius,8px)}
.fpm-party-docs{list-style:none;margin:0;padding:0}
.fpm-party-docs li{padding:6px 0;border-bottom:1px solid var(--fpm-border,#dcdcde)}
.fpm-party-docs li:last-child{border-bottom:0}
.fpm-inline{display:inline}
.fpm-badge{display:inline-block;padding:2px 8px;border-radius:999px;background:var(--fpm-bg,#f6f7f7);font-size:12px}
.fpm-badge-inactive{background:#fcf9e8}
.fpm-badge-archived{background:#f0f0f1;opacity:.7}
.fpm-stats{list-style:none;margin:0;padding:0}
.fpm-stats li{padding:4px 0}
.fpm-muted{opacity:.6;font-size:12px}
.fpm-quick{margin-top:6px}
.fpm-quick-btn{background:none;border:0;padding:0;font:inherit;font-size:12px;color:var(--fpm-primary,#2271b1);cursor:pointer;text-decoration:underline}
.fpm-quick-btn[disabled]{opacity:.5;cursor:not-allowed;text-decoration:none}
.fpm-quick-p{margin-top:8px;padding:12px 14px;border:1px solid var(--fpm-border,#dcdcde);border-radius:var(--fpm-radius,8px);background:var(--fpm-bg,#f6f7f7)}
.fpm-quick-p[hidden]{display:none}
.fpm-quick-r{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.fpm-quick-r>*{flex:1 1 140px;min-width:0}
.fpm-quick-r [hidden]{display:none}
.fpm-quick-same{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:13px}
.fpm-quick-p .fpm-ac{z-index:5}
.fpm-quick-p input,.fpm-quick-p select{width:100%;padding:6px 10px;border:1px solid var(--fpm-field-bd,#8c8f94);border-radius:var(--fpm-radius,8px);background:var(--fpm-field,#fff);color:inherit}
.fpm-quick-a{display:flex;gap:8px;align-items:center}
.fpm-quick-m{font-size:12px;margin:6px 0 0}
.fpm-quick-m.is-bad{color:var(--fpm-danger,#d63638)}
.fpm-bl-dep{display:inline-block;margin-left:4px;padding:1px 7px;border-radius:999px;background:#eef4ff;color:#1d4ed8;font-size:.72rem;font-weight:600;white-space:nowrap}
.fpm-sgn-flash{background:#eef6ff;border:1px solid #c7dcf7;border-radius:12px;padding:10px;margin:0 0 10px}.fpm-sgn-flash p{margin:0 0 6px}.fpm-sgn-flash input{width:100%;font-size:.8rem}

/* ---------- Facturation ---------- */
.fpm-bl-st{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:600;padding:3px 10px;border-radius:999px;color:var(--st);background:color-mix(in srgb,var(--st) 12%,transparent);white-space:nowrap}
.fpm-bl-st::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--st)}
.fpm-bl-fx{font-size:.72rem;font-weight:700;letter-spacing:.03em;padding:3px 8px;border-radius:6px;background:#e8f1fb;color:#135e96}
.fpm-bl-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:0 0 16px}
.fpm-bl-kpis>div{background:var(--fpm-surface,#fff);border:1px solid var(--fpm-border,#e2e4e7);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.fpm-bl-kpis small{color:var(--fpm-secondary,#646970);font-size:.78rem}.fpm-bl-kpis strong{font-size:1.35rem;letter-spacing:-.01em}
.fpm-bl-kpis .is-late strong{color:#b32d2e}
.fpm-bl-tw,.fpm-bp-tw{overflow-x:auto}
.fpm-table .num,.fpm-bp-lines .num{text-align:right;white-space:nowrap}
.fpm-be{display:flex;flex-direction:column;gap:14px;padding-bottom:80px}
.fpm-be-head,.fpm-bd-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.fpm-be-head h2,.fpm-bd-hero h2{margin:2px 0 6px;font-size:1.45rem}.fpm-bd-hero h2 small{font-size:.95rem;color:var(--fpm-secondary,#646970);font-weight:500;margin-left:6px}
.fpm-be-kick{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--fpm-primary,#2271b1)}
.fpm-be-card,.fpm-bd-card{background:var(--fpm-surface,#fff);border:1px solid var(--fpm-border,#e2e4e7);border-radius:16px;padding:16px}
.fpm-bd-card h3{margin:0 0 10px;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--fpm-secondary,#646970)}
.fpm-be-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.fpm-be-f{display:flex;flex-direction:column;gap:5px;font-size:.84rem;min-width:0}.fpm-be-f>span{color:var(--fpm-secondary,#646970)}
.fpm-be-wide{grid-column:span 2}
.fpm-be input,.fpm-be select,.fpm-be textarea,.fpm-bd-form input,.fpm-bd-form select,.fpm-bd-form textarea,.fpm-bc-form input,.fpm-bc-form select,.fpm-bc-form textarea{width:100%;box-sizing:border-box;font:inherit;font-size:.92rem;padding:8px 10px;border:1px solid var(--fpm-border,#d0d4d9);border-radius:9px;background:var(--fpm-surface,#fff);color:inherit;min-width:0}
.fpm-be-lh,.fpm-be-line{display:grid;grid-template-columns:minmax(200px,1fr) 70px 86px 104px 70px 84px 108px 96px;gap:8px;align-items:start}
.fpm-be-lh{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--fpm-secondary,#646970);padding:0 0 6px;border-bottom:1px solid var(--fpm-border,#e2e4e7)}
.fpm-be-lh .num{text-align:right}
.fpm-be-line{padding:10px 0;border-bottom:1px solid var(--fpm-border,#eef0f2)}
.fpm-be-line label>span,.fpm-be-line .c-total>span{display:none}
.fpm-be-line .c-label{display:flex;flex-direction:column;gap:6px}
.fpm-be-line .c-label textarea{font-size:.84rem;min-height:34px;resize:vertical}
.fpm-be-line .c-total{text-align:right;font-weight:700;padding-top:8px;white-space:nowrap}
.fpm-be-line .c-acts{display:flex;gap:2px;justify-content:flex-end;padding-top:4px}
.fpm-be-line .c-acts button{border:0;background:transparent;cursor:pointer;width:24px;height:28px;border-radius:6px;color:var(--fpm-secondary,#646970);font-size:15px;line-height:1}
.fpm-be-line .c-acts button:hover{background:rgba(0,0,0,.06)}.fpm-be-line .c-acts .x:hover{color:#b32d2e}
.fpm-be-line .c-acts .cat.is-on{color:#d97706}
.fpm-be-line .c-msg{grid-column:1/-1;margin:0;font-size:.8rem;color:#0f7a3a}.fpm-be-line .c-msg.is-bad{color:#b32d2e}
.fpm-be-grid .fpm-fld{margin:0}.fpm-be-grid .fpm-fld>label{color:var(--fpm-secondary,#646970);font-size:.84rem}
.fpm-be-line input[inputmode=decimal]{text-align:right}
.fpm-be-dev{background:#fff8eb;border:1px solid #f5d48f;border-radius:14px;padding:12px 16px;font-size:.9rem}
.fpm-be-dev p{margin:8px 0 0;white-space:normal}.fpm-be-dev p span{display:block;font-size:.76rem;color:#8a5300;font-weight:600}
.fpm-be-dev small{display:block;margin-top:8px;color:#8a5300}
.fpm-bd-fiche select{width:auto;padding:7px 10px;border-radius:9px}
.fpm-be-add{display:flex;align-items:center;gap:12px;padding:12px 0 4px}.fpm-be-cat{font-size:.84rem}
.fpm-be-empty{color:var(--fpm-secondary,#646970);font-size:.88rem;padding:10px 0}
.fpm-be-totals{display:grid;grid-template-columns:1fr auto;gap:6px 24px;max-width:340px;margin:10px 0 0 auto;font-size:.92rem}
.fpm-be-totals dt{color:var(--fpm-secondary,#646970)}.fpm-be-totals dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
.fpm-be-totals .is-ttc{font-weight:700;font-size:1.05rem;color:inherit;border-top:1px solid var(--fpm-border,#e2e4e7);padding-top:8px}
.fpm-be-bar{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding:12px 16px;margin:0 -2px;background:var(--fpm-surface,#fff);border:1px solid var(--fpm-border,#e2e4e7);border-radius:14px;box-shadow:0 -6px 24px rgba(0,0,0,.06)}
.fpm-be-sum{margin-right:auto;font-weight:700}
.fpm-bd{display:flex;flex-direction:column;gap:14px}
.fpm-bd-hero{background:var(--fpm-surface,#fff);border:1px solid var(--fpm-border,#e2e4e7);border-radius:16px;padding:18px}
.fpm-bd-amount{text-align:right;display:flex;flex-direction:column;gap:2px}.fpm-bd-amount strong{font-size:1.6rem;letter-spacing:-.01em}.fpm-bd-amount small{color:var(--fpm-secondary,#646970)}
.fpm-bd-acts{display:flex;flex-wrap:wrap;gap:8px}.fpm-bd-inline{display:inline;margin:0}
.fpm-btn-danger{color:#b32d2e}
.fpm-bd-cols{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;align-items:start}
.fpm-bd-side{display:flex;flex-direction:column;gap:14px}
.fpm-bd-links{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:.88rem}
.fpm-bd-links li{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.fpm-bd-amt{margin-left:auto;font-weight:600}
.fpm-bd-help{font-size:.8rem;color:var(--fpm-secondary,#646970);margin:8px 0 0}
.fpm-bd-pays{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:6px}
.fpm-bd-pays li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;background:var(--fpm-soft,#f6f7f9)}
.fpm-bd-pays small{display:block;color:var(--fpm-secondary,#646970);font-size:.78rem}
.fpm-bd-x{border:0;background:transparent;font-size:18px;line-height:1;cursor:pointer;color:var(--fpm-secondary,#646970);padding:2px 6px;border-radius:6px}.fpm-bd-x:hover{color:#b32d2e;background:rgba(179,45,46,.08)}
.fpm-bd-form{display:flex;flex-direction:column;gap:8px}.fpm-bd-form label{display:flex;flex-direction:column;gap:4px;font-size:.82rem;flex:1;min-width:0}
.fpm-bd-row{display:flex;gap:8px}
.fpm-bp{background:#fff;color:#111827;border:1px solid var(--fpm-border,#e2e4e7);border-radius:16px;padding:26px;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.fpm-bp-top{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.fpm-bp-from,.fpm-bp-to{display:flex;flex-direction:column;gap:2px;font-size:.88rem}.fpm-bp-from strong{font-size:1.05rem}
.fpm-bp-to{background:#f7f8fb;border-radius:12px;padding:12px 14px;min-width:220px}.fpm-bp-to small{font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#6b7280}
.fpm-bp-subj{margin:0 0 12px;font-size:1rem}
.fpm-bp-lines{width:100%;border-collapse:collapse;font-size:.88rem}
.fpm-bp-lines th{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:#6b7280;text-align:left;padding:8px 6px;border-bottom:2px solid #e5e7eb}
.fpm-bp-lines td{padding:9px 6px;border-bottom:1px solid #f0f1f3;vertical-align:top}.fpm-bp-lines td small{display:block;color:#6b7280;font-size:.8rem;margin-top:2px}
.fpm-bp-totals{display:grid;grid-template-columns:1fr auto;gap:6px 26px;max-width:300px;margin:16px 0 0 auto;font-size:.9rem}
.fpm-bp-totals dt{color:#6b7280}.fpm-bp-totals dd{margin:0;text-align:right}.fpm-bp-totals .is-ttc{font-weight:700;font-size:1.05rem;color:#111827;border-top:1px solid #e5e7eb;padding-top:8px}
.fpm-bp-note{font-size:.84rem;color:#4b5563;background:#f7f8fb;border-radius:10px;padding:10px 12px;margin:14px 0 0}
.fpm-bc{display:flex;flex-direction:column;gap:14px}
.fpm-bc-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.fpm-bc-form label{display:flex;flex-direction:column;gap:4px;font-size:.84rem}
.fpm-bc-form .w2{grid-column:span 2}.fpm-bc-form .w3{grid-column:1/-1}.fpm-bc-acts{display:flex;gap:8px}
.fpm-bf-acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
@media (max-width:980px){.fpm-bd-cols{grid-template-columns:1fr}}
@media (max-width:860px){
.fpm-be-lh{display:none}
.fpm-be-line{grid-template-columns:repeat(3,minmax(0,1fr));background:var(--fpm-soft,#f6f7f9);border:0;border-radius:12px;padding:10px;margin-bottom:10px}
.fpm-be-line .c-label{grid-column:1/-1}
.fpm-be-line label>span,.fpm-be-line .c-total>span{display:block;font-size:.72rem;color:var(--fpm-secondary,#646970);margin-bottom:3px}
.fpm-be-line label{display:flex;flex-direction:column}
.fpm-be-line .c-total{grid-column:span 2;text-align:left;padding-top:0}
.fpm-be-line .c-acts{align-items:flex-end}
.fpm-be-grid,.fpm-bc-form{grid-template-columns:1fr}.fpm-be-wide,.fpm-bc-form .w2{grid-column:auto}
.fpm-bp{padding:16px}.fpm-bd-amount{text-align:left}
}
.fpm-ctr-title{margin:0 0 8px;color:var(--fpm-secondary,#646970)}
.fpm-ctr-warn{background:#fff7e6;color:#8a5300;border-radius:12px;padding:10px 14px;font-size:.88rem;margin:0}
.fpm-ctr-h{margin:0 0 12px;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--fpm-secondary,#646970)}
.fpm-ctr-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.fpm-ctr-checks{display:flex;flex-direction:column;gap:6px;margin-top:12px}
.fpm-be-full{grid-column:1/-1}
.fpm-ctr-ev{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.fpm-ctr-ev li{display:grid;grid-template-columns:110px 150px 1fr;gap:10px;padding:7px 0;border-bottom:1px solid var(--fpm-border,#eef0f2);font-size:.86rem}
.fpm-ctr-ev time{color:var(--fpm-secondary,#646970)}
.fpm-ctr-sum{cursor:pointer;font-weight:600;color:#b32d2e}
.fpm-sgn-flash{background:#eef6ff;border:1px solid #c7dcf7;border-radius:12px;padding:10px;margin:0 0 10px}.fpm-sgn-flash input{width:100%;font-size:.8rem}
@media (max-width:860px){.fpm-ctr-grid{grid-template-columns:1fr}.fpm-ctr-ev li{grid-template-columns:1fr}}

.fpm-hub-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:0 0 var(--fpm-gap,18px)}
.fpm-hub-kpi{display:flex;flex-direction:column;gap:4px;background:var(--fpm-surface,#fff);border:1px solid var(--fpm-border,#e5e7eb);border-radius:var(--fpm-radius,12px);padding:14px 16px;color:inherit;text-decoration:none}
a.fpm-hub-kpi:hover{border-color:var(--fpm-primary,#2271b1)}
.fpm-hub-kpi small{color:var(--fpm-secondary,#646970);font-size:.8rem}
.fpm-hub-kpi strong{font-size:1.35rem;font-weight:650;line-height:1.2}
.fpm-hub-kpi span{color:var(--fpm-secondary,#646970);font-size:.8rem}
.fpm-hub-kpi.is-warning strong{color:#a15c00}.fpm-hub-kpi.is-danger strong{color:#b32d2e}.fpm-hub-kpi.is-success strong{color:#1e7d32}
.fpm-hub-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--fpm-gap,18px)}
.fpm-hub-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin:0 0 var(--fpm-gap,18px)}
.fpm-hub-bar .fpm-filters{margin:0}
.fpm-hub-tw{max-width:100%;overflow-x:auto}.fpm-hub-tw .fpm-table{margin-bottom:0}
.fpm-hub-table td:first-child{white-space:nowrap}
.fpm-hub-date{display:inline-flex;gap:6px;align-items:center;font-size:.88rem}
.fpm-hub-st{display:inline-block;padding:2px 9px;border-radius:999px;font-size:.78rem;font-weight:600;background:#f1f2f4;color:#50575e;white-space:nowrap}
.fpm-hub-st-success{background:#e7f5ea;color:#1e7d32}.fpm-hub-st-warning{background:#fff4e0;color:#8a5300}.fpm-hub-st-danger{background:#fdecec;color:#b32d2e}
.fpm-hub-table td.num,.fpm-hub-table th.num{text-align:right;white-space:nowrap}
.fpm-hub-checks{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:8px}
.fpm-hub-checks li{padding-left:24px;position:relative;font-size:.92rem}
.fpm-hub-checks li::before{position:absolute;left:0;top:0;font-weight:700}
.fpm-hub-checks li.ok::before{content:"\2713";color:#1e7d32}.fpm-hub-checks li.ko::before{content:"\2715";color:#b32d2e}.fpm-hub-checks li.warn::before{content:"!";color:#a15c00;left:5px}
.fpm-hub-small{font-size:.84rem}.fpm-hub-small code{word-break:break-all}
.fpm-hub-title{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 14px;font-size:1.35rem}
.fpm-hub-h{margin:18px 0 10px;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--fpm-secondary,#646970)}
.fpm-hub-secret{background:#fff7e6;border:1px solid #f0d199;border-radius:12px;padding:12px 14px;margin:0 0 var(--fpm-gap,18px)}
.fpm-hub-secret details{margin-top:10px}.fpm-hub-secret summary{cursor:pointer;font-size:.86rem}
.fpm-hub-inline{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 10px}
.fpm-hub-inline input,.fpm-hub-inline select{font:inherit;font-size:.9em;padding:7px 9px;border:1px solid var(--fpm-field-bd,#8c8f94);border-radius:var(--fpm-radius,8px);background:var(--fpm-field,#fff)}
.fpm-hub-secret textarea{display:block;width:100%;margin-top:8px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.8rem;background:#fff}
@media (max-width:860px){.fpm-hub-cols{grid-template-columns:1fr}.fpm-hub-table td.num{text-align:right}}
