.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:var(--sp-4);gap:var(--sp-4);margin-bottom:var(--sp-5)}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:11px 14px}.stat .label{color:var(--text-3);font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:var(--ls-caps);font-weight:600}.stat .value{font-size:22px;font-weight:600;margin-top:3px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.02em}.stat .value.warn{color:var(--warn)}.stat .value.neg{color:var(--neg)}.stat .value.pos{color:var(--pos)}.axis-code{font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:700;letter-spacing:.04em;padding:2px 6px;border-radius:var(--r-xs);background:var(--ax,var(--surface-3));color:var(--ax-ink);flex-shrink:0}.axis-chip{align-items:center;gap:5px;font-size:var(--fs-small);color:var(--text-2);white-space:nowrap}.avatars,.axis-chip{display:inline-flex}.avatars .avatar+.avatar{margin-left:-6px}.health{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-small);font-weight:600;padding:2px 9px;border-radius:var(--r-pill);border:1px solid;white-space:nowrap}.health:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.health.ok{background:var(--pos-soft);border-color:var(--pos-line);color:var(--pos)}.health.risque{background:var(--warn-soft);border-color:var(--warn-line);color:var(--warn)}.health.bloque{background:var(--neg-soft);border-color:var(--neg-line);color:var(--neg)}.status-tag{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface-2);color:var(--text-3);font-size:var(--fs-small);font-weight:600;white-space:nowrap}.status-tag:before{width:6px;height:6px;border-radius:50%;background:currentColor;content:""}.status-tag.cadrage,.status-tag.en_cours{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent)}.status-tag.en_pause{border-color:var(--warn-line);background:var(--warn-soft);color:var(--warn)}.status-tag.livre{border-color:var(--pos-line);background:var(--pos-soft);color:var(--pos)}.status-tag.abandonne{border-color:var(--neg-line);background:var(--neg-soft);color:var(--neg)}.tag{display:inline-block;font-size:var(--fs-small);font-weight:600;color:var(--text-3);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-pill);padding:2px 9px;white-space:nowrap;text-decoration:none}a.tag:hover{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}.bar{display:flex;align-items:center;gap:8px;min-width:150px}.bar-track{flex:1 1;height:4px;border-radius:2px;background:var(--surface-3)}.bar-fill{display:block;border-radius:2px;background:var(--accent)}.bar-num{font-size:var(--fs-small);color:var(--text-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.milestone-drop-zone{border:1px solid transparent;border-radius:var(--r);transition:border-color .15s ease,background .15s ease,opacity .15s ease}.milestone-drop-zone.is-drag-over{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent-line)}.milestone-drop-zone.is-pending{opacity:.68}.task.is-drop-after,.task.is-drop-before{position:relative}.task.is-drop-after:after,.task.is-drop-before:before{content:"";position:absolute;left:0;right:0;height:3px;border-radius:2px;background:var(--accent);pointer-events:none;z-index:1}.task.is-drop-before:before{top:-2px}.task.is-drop-after:after{bottom:-2px}.task.is-pending{opacity:.68}.jalon-sortable{--drop-gap:var(--sp-5);grid-template-columns:22px minmax(0,1fr);align-items:start}.jalon-sortable>.sortable-handle{height:28px;margin-top:var(--sp-1)}.jalons-triables>.jalon{margin-left:calc(22px + var(--sp-1))}.task-milestone-drag-handle{display:grid;width:22px;height:28px;place-items:center;align-self:center;border-radius:var(--r-xs);color:var(--text-3);cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.task-milestone-drag-handle:focus-visible,.task-milestone-drag-handle:hover{background:var(--surface-3);color:var(--accent)}.task-milestone-drag-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.statut-pastille{width:15px;height:15px;padding:0;border-radius:50%;flex-shrink:0;background:none;border:1.5px solid var(--line-2);position:relative;transition:border-color .12s ease}.statut-pastille[data-s=en_cours]{border-color:var(--accent)}.statut-pastille[data-s=en_cours]:after{content:"";position:absolute;inset:2.5px;border-radius:50%;background:var(--accent);-webkit-clip-path:polygon(50% 50%,50% 0,100% 0,100% 100%,50% 100%);clip-path:polygon(50% 50%,50% 0,100% 0,100% 100%,50% 100%)}.statut-pastille[data-s=en_revue]{border-color:var(--warn)}.statut-pastille[data-s=en_revue]:after{content:"";position:absolute;inset:2.5px;border-radius:50%;background:var(--warn)}.statut-pastille[data-s=fait]{border-color:var(--pos);background:var(--pos)}.statut-pastille[data-s=fait]:after{content:"";position:absolute;left:4px;top:1.5px;width:4px;height:7.5px;border:solid var(--surface);border-width:0 1.6px 1.6px 0;transform:rotate(43deg)}.statut-pastille[data-s=annulee]{border-color:var(--neg);background:var(--neg-soft)}.statut-pastille[data-s=annulee]:after,.statut-pastille[data-s=annulee]:before{position:absolute;top:50%;left:50%;width:8px;height:1.5px;border-radius:1px;background:var(--neg);content:""}.statut-pastille[data-s=annulee]:before{transform:translate(-50%,-50%) rotate(45deg)}.statut-pastille[data-s=annulee]:after{transform:translate(-50%,-50%) rotate(-45deg)}.statut-choix{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:100%;margin:-3px 0 -3px -3px;padding:3px 7px 3px 3px;border:0;border-radius:var(--r-xs);background:none;color:var(--text-3);font-size:var(--fs-small);font-weight:500;line-height:1.2;white-space:nowrap}.statut-choix:where(:not(.lecture-seule)):hover,.statut-choix[aria-expanded=true]{background:var(--surface-3)}.statut-choix:where(:not(.lecture-seule)):hover .statut-pastille[data-s=a_faire]{border-color:var(--accent)}.statut-choix:disabled{cursor:wait;opacity:.65}.statut-choix.lecture-seule{cursor:default}.statut-libelle{overflow:hidden;text-overflow:ellipsis}.statut-choix[data-s=en_cours]{color:var(--accent)}.statut-choix[data-s=en_revue]{color:var(--warn)}.statut-choix[data-s=fait]{color:var(--pos)}.statut-choix[data-s=annulee]{color:var(--neg)}.prio{display:inline-flex;align-items:flex-end;gap:1.5px;height:10px;flex-shrink:0}.prio i{width:2.5px;border-radius:1px;background:var(--line-2)}.prio i:first-child{height:4px}.prio i:nth-child(2){height:7px}.prio i:nth-child(3){height:10px}.prio[data-p="1"] i{background:var(--neg)}.prio[data-p="2"] i:first-child,.prio[data-p="2"] i:nth-child(2){background:var(--text-2)}.prio[data-p="3"] i:first-child{background:var(--text-3)}.bucket{margin-bottom:var(--sp-6)}.bucket-head{display:flex;align-items:baseline;gap:var(--sp-3);margin-bottom:var(--sp-3)}.bucket-head h2{font-size:var(--fs-lead);font-weight:600;margin:0;letter-spacing:var(--ls-tight)}.bucket-head h2.late{color:var(--neg)}.bucket-head .n{font-size:var(--fs-small);color:var(--text-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.task-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}.task:first-child{border-top-left-radius:calc(var(--r) - 1px);border-top-right-radius:calc(var(--r) - 1px)}.task:last-child{border-bottom-left-radius:calc(var(--r) - 1px);border-bottom-right-radius:calc(var(--r) - 1px)}.task,.task-head{--statut-col:86px;display:grid;grid-template-columns:var(--statut-col) 48px minmax(0,3fr) auto minmax(0,2fr) 72px;align-items:center;grid-gap:10px;gap:10px;padding:0 14px;min-height:var(--row-h);border-bottom:1px solid var(--line)}.bucket .task-list{--statut-col:86px;display:grid;grid-template-columns:calc(var(--statut-col) + 14px) 48px minmax(0,3fr) auto minmax(0,2fr) calc(72px + 14px)}.bucket .task,.bucket .task-head{grid-column:1/-1;grid-template-columns:subgrid}.task-head{min-height:0;padding-block:7px;border-top-left-radius:calc(var(--r) - 1px);border-top-right-radius:calc(var(--r) - 1px);background:var(--surface-2);color:var(--text-3);font-size:var(--fs-micro);font-weight:600;letter-spacing:var(--ls-caps);text-transform:uppercase;white-space:nowrap}.task-head>:last-child{text-align:right}.task:last-child{border-bottom:0}.task:hover{background:var(--surface-2)}.task.sans-projet{grid-template-columns:var(--statut-col) 12px minmax(0,1fr) auto 21px 58px}.task-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task.done .task-title{color:var(--text-3);text-decoration:line-through}.task-title>a{color:inherit;text-decoration:none}.task-title>a:focus-visible,.task-title>a:hover{color:var(--accent)}.fiche-tache-statut{display:flex}.fiche-tache-statut .statut-choix{margin:0}.fiche-tache .entity-dialog-actions{justify-content:space-between}.task .axis-chip,.task .tag{overflow:hidden;text-overflow:ellipsis;display:block}.task-project{display:flex;align-items:center;gap:7px;min-width:0;color:var(--text-2);font-size:var(--fs-small);text-decoration:none}.task-project-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prio-choix{display:inline-flex;align-items:center;margin:-5px;padding:5px;border:0;border-radius:var(--r-xs);background:none}.prio-choix:where(:not(.lecture-seule)):hover,.prio-choix[aria-expanded=true]{background:var(--surface-3)}.prio-choix:disabled{cursor:wait;opacity:.65}.prio-choix.lecture-seule{cursor:default}.statut-menu .prio{pointer-events:none}.task-project:focus-visible,.task-project:hover{color:var(--accent)}.due{font-size:var(--fs-small);color:var(--text-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}.due.late{color:var(--neg);font-weight:600}.ia-mark{letter-spacing:.06em;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--r-xs);padding:1px 4px}.ia-mark,.source-mark{font-size:var(--fs-micro);font-weight:700}.source-mark{display:inline-block;letter-spacing:.04em;color:var(--text-2);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-xs);padding:1px 5px;white-space:nowrap;text-decoration:none;vertical-align:middle}a.source-mark:hover{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}.project-axis-cell{width:1%;padding-right:0!important;white-space:nowrap}.project-axis-cell .axis-code{display:inline-block;min-width:26px;text-align:center}.project-title-text{display:flex;align-items:baseline;gap:6px}.project-title-text .source-mark{flex:none}.subproject-mark{color:var(--text-3);font-weight:600;letter-spacing:0}.project-order-cell{width:1%;padding-right:0!important;white-space:nowrap;text-align:center}.project-drag-handle{width:24px;height:28px;display:inline-grid;place-items:center;border-radius:var(--r-xs);color:var(--text-3);cursor:-webkit-grab;cursor:grab;font-size:16px;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:.55;transition:opacity .12s ease,color .12s ease,background .12s ease}.project-sort-row:hover .project-drag-handle{opacity:1}.project-drag-handle:focus-visible,.project-drag-handle:hover{color:var(--accent);background:var(--accent-soft);opacity:1;outline:none}.project-drag-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.project-sort-row{transition:opacity .12s ease}.data-table .project-sort-row.is-drop-before td{box-shadow:inset 0 3px 0 var(--accent)}.data-table .project-sort-row.is-drop-after td{box-shadow:inset 0 -3px 0 var(--accent)}.project-sort-row.is-sorting{opacity:.58}.source-note{margin:0 0 var(--sp-3);color:var(--text-3);font-size:var(--fs-small);line-height:1.45}.source-note:last-child{margin-bottom:0}.projet-pourquoi-texte{margin:0;min-height:3lh;line-height:1.55;white-space:pre-line}.projet-pourquoi-texte:empty:before{content:"—";color:var(--text-3)}.empty-note{color:var(--text-3);padding:var(--sp-5);text-align:center;line-height:1.6}.table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:var(--fs-body);min-width:860px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.project-table{min-width:760px}.project-table td:nth-child(3){min-width:260px}.project-filters{display:flex;align-items:flex-end;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:var(--sp-5);padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}.filter-field{display:flex;flex:1 1 150px;min-width:0;flex-direction:column;gap:4px}.filter-field-mission{flex-basis:220px}.filter-field>span,.rail-field>span{color:var(--text-3);font-size:var(--fs-micro);font-weight:600;letter-spacing:var(--ls-caps);text-transform:uppercase}.project-filters.is-pending{opacity:.72}.portfolio-section+.portfolio-section{margin-top:var(--sp-7)}.portfolio-section-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--sp-1) 10px;padding:0 0 var(--sp-4)}.portfolio-section-head h2{margin:0;font-size:var(--fs-title);font-weight:600;letter-spacing:var(--ls-tight)}.searchable-filter{position:relative}.searchable-filter:last-of-type{flex-basis:220px}.searchable-filter-trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);width:100%;min-height:36px;padding:6px 9px;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font:inherit;font-size:var(--fs-body);text-align:left}.searchable-filter-trigger:hover,.searchable-filter-trigger[aria-expanded=true]{border-color:var(--accent)}.searchable-filter-trigger:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.searchable-filter-trigger>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.searchable-filter-chevron{flex-shrink:0;color:var(--text-3)}.searchable-filter-panel{position:absolute;top:calc(100% + 5px);right:0;left:0;z-index:30;min-width:210px;padding:5px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--surface);box-shadow:var(--shadow-pop)}.searchable-filter-panel input{width:100%}.searchable-filter-options{display:flex;flex-direction:column;gap:2px;max-height:260px;margin-top:5px;overflow-y:auto}.searchable-filter-option{width:100%;padding:7px 8px;border:0;border-radius:var(--r-xs);background:transparent;color:var(--text-2);font:inherit;font-size:var(--fs-small);line-height:1.4;text-align:left}.searchable-filter-option:hover,.searchable-filter-option[aria-selected=true]{background:var(--accent-soft);color:var(--accent)}.searchable-filter-empty{padding:7px 8px;color:var(--text-3);font-size:var(--fs-small)}.data-table td,.data-table th{padding:8px 14px;height:var(--row-h);border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.data-table th{background:var(--surface-2);color:var(--text-3);font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:var(--ls-caps);font-weight:600;white-space:nowrap;height:auto}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover td{background:var(--surface-2)}.data-table .name{font-weight:600}.data-table .sub{color:var(--text-3);display:block;margin-top:1px;font-size:var(--fs-small)}.lien{color:inherit;text-decoration:none;font-weight:600}.lien:hover{color:var(--accent)}.statut-boite{position:relative;display:flex}.statut-menu{position:absolute;top:calc(100% + 5px);left:-6px;z-index:20;min-width:152px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:var(--shadow-pop);padding:4px;display:flex;flex-direction:column;gap:1px}.statut-menu button{display:flex;align-items:center;gap:9px;padding:5px 8px;border:0;background:none;color:var(--text-2);font-size:var(--fs-body);border-radius:var(--r-xs);text-align:left;white-space:nowrap}.statut-menu button:hover{background:var(--surface-2);color:var(--text)}.statut-menu button[aria-checked=true]{color:var(--text);font-weight:600}.statut-menu .statut-pastille{pointer-events:none}.fiche-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;grid-gap:var(--sp-5);gap:var(--sp-5);align-items:start}.fiche-main{min-width:0;gap:var(--sp-5)}.fiche-main,.rail{display:flex;flex-direction:column}.rail{gap:var(--sp-4);position:-webkit-sticky;position:sticky;top:26px}.rail .label{color:var(--text-3);font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:var(--ls-caps);font-weight:600;margin-bottom:var(--sp-3)}.rail-line{display:flex;justify-content:space-between;gap:var(--sp-3);padding:4px 0;border-bottom:1px solid var(--line);font-size:var(--fs-small)}.rail-line:last-child{border-bottom:0}.rail-line>:first-child{color:var(--text-3)}.rail-line>:last-child{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.rail-line-wrap{align-items:flex-start}.rail-line-wrap>:last-child{max-width:62%;line-height:1.35}.rail-links{align-items:flex-end;gap:2px}.rail-fields,.rail-links{display:flex;flex-direction:column}.rail-fields{gap:var(--sp-4)}.rail-field{display:flex;min-width:0;flex-direction:column;gap:4px}.rail-field .champ-date,.rail-field .choix{width:100%}.rail-fields-reperes{margin-bottom:var(--sp-4)}.team-line{display:flex;align-items:center;gap:8px;padding:5px 0}.team-line .who{font-weight:500}.team-line .role{color:var(--text-3);font-size:var(--fs-small);margin-left:auto}.jalon{min-width:0}.jalon-head{display:flex;align-items:center;gap:10px;padding:0 0 var(--sp-3);flex-wrap:wrap}.jalon-head h2,.jalon-head h3{font-size:var(--fs-lead);font-weight:600;margin:0;letter-spacing:var(--ls-tight)}.jalon-date{font-size:var(--fs-small);color:var(--text-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.jalon-head .jalon-bar{flex:0 1 200px;min-width:120px}.subproject-milestone.inactive{opacity:.6}.subproject-card{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-3) 14px;background:var(--surface);border:1px dashed var(--line-2);border-radius:var(--r)}.subproject-meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-3)}.subproject-milestones{display:flex;flex-direction:column;margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.subproject-milestones li{display:grid;grid-template-columns:minmax(0,1fr) auto 200px;align-items:center;grid-gap:var(--sp-3);gap:var(--sp-3);padding:6px 0;border-bottom:1px solid var(--line);font-size:var(--fs-small)}.subproject-milestones li:last-child{border-bottom:0;padding-bottom:0}.subproject-milestone-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-missions{display:flex;flex-direction:column;gap:var(--sp-2);transition:opacity .12s ease}.project-missions.is-pending{opacity:.6}.project-mission-list{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}.project-mission{display:flex;align-items:center;gap:8px;min-height:28px;font-size:var(--fs-small)}.project-mission-label{flex:1 1;min-width:0;line-height:1.35}.project-action-list{margin:0 0 2px;padding:0 0 0 17px;list-style:none}.project-action{min-height:24px;color:var(--text-2)}.project-action .project-mission-label:before{content:"↳ ";color:var(--text-3)}.project-mission-axis{color:var(--text-3);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.project-mission .icon-btn{flex-shrink:0}.project-missions .instant-choice{width:100%;max-width:none}.point-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.empty-note.compact{padding:var(--sp-3) 0 0;text-align:left}@media (max-width:640px){.subproject-milestones li{grid-template-columns:minmax(0,1fr) auto}.subproject-milestones li .bar{grid-column:1/-1}}@media (max-width:1080px){.fiche-grid{grid-template-columns:minmax(0,1fr)}.rail{position:static;flex-direction:row;flex-wrap:wrap}.rail>*{flex:1 1 220px}}.projet-entete{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-gap:var(--sp-6);gap:var(--sp-6);align-items:start}.projet-pourquoi{display:flex;flex-direction:column;gap:var(--sp-2)}.fiche-main>.projet-pourquoi{padding:var(--pad-card)}.projet-pourquoi .editable{min-height:3lh;line-height:1.55}.projet-reglages{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:var(--sp-4);gap:var(--sp-4)}.projet-entete .footnote{grid-column:1/-1;margin:0}.champ-date,.choix{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xs);padding:4px 7px;max-width:100%}.champ-date:hover,.choix:hover{border-color:var(--line-2)}.champ-date,.choix.small{font-size:var(--fs-small)}.avatars-line{display:flex;flex-wrap:wrap;gap:var(--sp-4)}.task-in-project{grid-template-columns:22px var(--statut-col) minmax(0,1fr) auto auto auto;gap:var(--sp-3);padding-block:var(--sp-1)}.field.grow{flex:1 1 180px}.project-detail-create-popover{z-index:45}.project-detail-create-card{width:min(390px,calc(100vw - 28px))}.project-detail-create-card .btn[type=submit]{align-self:flex-end}.project-create-card{width:min(440px,calc(100vw - 28px))}.project-create-card textarea{width:100%;min-height:78px;resize:vertical;line-height:1.45}.project-creation-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--sp-3);gap:var(--sp-3);margin-bottom:var(--sp-5)}.project-creation-mode{display:flex;min-height:82px;padding:12px;align-items:flex-start;flex-direction:column;gap:4px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--text);text-align:left}.project-creation-mode:hover{border-color:var(--line-2);background:var(--surface-2)}.project-creation-mode[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.project-creation-mode>span{color:var(--text-3);font-size:var(--fs-small);line-height:1.35}.ai-project-plan,.ai-project-preview{display:flex;flex-direction:column;gap:var(--sp-4)}.ai-project-milestone{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2)}.ai-project-milestone ol,.ai-project-milestone>.ai-project-row{align-self:stretch}.ai-project-row{display:grid;grid-template-columns:minmax(0,1fr) 140px auto;align-items:center;grid-gap:var(--sp-2);gap:var(--sp-2)}.ai-project-row .date-field.compact{min-width:0}.ai-project-milestone ol{display:flex;margin:0;padding-left:22px;flex-direction:column;gap:var(--sp-2)}.ai-project-milestone li>small{display:block;margin-top:2px;color:var(--text-3)}.ai-project-refine{padding-top:var(--sp-4);border-top:1px solid var(--line)}.ai-project-refine>.btn{align-self:flex-end}.ai-project-actions{gap:var(--sp-3)}.ai-project-actions,.project-create-confirm{display:flex;justify-content:flex-end}.search-form-field{position:relative;display:flex;flex-direction:column;gap:var(--sp-2)}.search-form-label{color:var(--text-3);font-size:var(--fs-micro);font-weight:600;letter-spacing:var(--ls-caps);text-transform:uppercase}.search-form-input{width:100%}.search-form-results{position:absolute;top:calc(100% + 5px);right:0;left:0;z-index:30;max-height:248px;padding:5px;overflow-y:auto;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--surface);box-shadow:var(--shadow-pop)}.search-form-option{width:100%;padding:8px 9px;border:0;border-radius:var(--r-xs);background:transparent;color:var(--text-2);font:inherit;font-size:var(--fs-small);line-height:1.4;text-align:left}.search-form-option:hover,.search-form-option[aria-selected=true]{background:var(--accent-soft);color:var(--accent)}.search-form-empty{display:block;padding:8px 9px;color:var(--text-3);font-size:var(--fs-small)}.empty-note span,.empty-note strong{display:block}.empty-note span{margin-top:var(--sp-2)}.grille-temps th .sub{display:block;font-weight:400;color:var(--text-3)}.case-temps{font:inherit;font-size:var(--fs-small);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:center;width:58px;color:inherit;background:transparent;border:1px solid transparent;border-radius:var(--r-xs);padding:3px 4px}.case-temps:hover{border-color:var(--line)}.case-temps:focus{background:var(--surface);border-color:var(--accent-line)}.case-temps.failed{border-color:var(--neg-line);background:var(--neg-soft)}.grille-temps tfoot td{border-top:1px solid var(--line-2);font-weight:600}.monthly-time-grid td,.monthly-time-grid th{min-width:112px}.monthly-time-grid td:first-child,.monthly-time-grid th:first-child{min-width:220px}.points-accueil{margin:0 0 var(--sp-4);color:var(--text-3);font-size:var(--fs-small)}.engagements-choix{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:var(--sp-4);gap:var(--sp-4)}.engagement-projet>summary{display:flex;align-items:center;gap:var(--sp-3);cursor:pointer;list-style:none;font-weight:600;font-size:var(--fs-lead)}.engagement-projet>summary::-webkit-details-marker{display:none}.engagement-projet>summary:after{content:"›";color:var(--text-3);transition:transform .15s ease}.engagement-projet[open]>summary:after{transform:rotate(90deg)}.engagement-projet-titre{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.engagement-projet-compte{margin-left:auto;color:var(--pos);font-size:var(--fs-small);font-weight:600}.engagement-milestone{margin-top:var(--sp-3)}.engagement-sans{color:var(--text-3);font-size:var(--fs-micro);font-weight:600;letter-spacing:var(--ls-caps);text-transform:uppercase;padding:var(--sp-2) 0}.engagement-ligne{display:flex;align-items:center;gap:var(--sp-3);min-height:var(--row-h);padding:var(--sp-1) 0;border-top:1px solid var(--line);font-size:var(--fs-body)}.engagement-ligne.milestone{font-weight:600}.engagement-ligne.sous{padding-left:28px}.engagement-titre{display:flex;align-items:baseline;gap:var(--sp-2);min-width:0;flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.engagement-kind{flex:none;color:var(--text-3);font-size:var(--fs-micro);font-weight:600;letter-spacing:var(--ls-caps);text-transform:uppercase}.engagement-projet-lien{color:var(--text-3);font-size:var(--fs-small);font-weight:400;text-decoration:none}.engagement-projet-lien:hover{color:var(--accent)}.engagement-meta{flex-wrap:wrap;justify-content:flex-end;gap:var(--sp-2);flex:none}.engagement-meta,.raison{display:inline-flex;align-items:center}.raison{font-size:var(--fs-small);font-weight:500;line-height:1.4;padding:1px 8px;border-radius:var(--r-pill);background:var(--surface-2);color:var(--text-2);white-space:nowrap}.raison[data-raison=abandonner],.raison[data-raison=heures],.raison[data-raison=nonClos],.raison[data-raison=reporte],.raison[data-raison=reportes],.raison[data-raison=retard]{background:var(--warn-soft);color:var(--warn)}.raison[data-raison=absent],.raison[data-raison=echeance],.raison[data-raison=reporter]{background:var(--accent-soft);color:var(--accent)}.raison[data-raison=complet]{background:var(--pos-soft);color:var(--pos)}.raison[data-raison=closAuto]{background:var(--neg-soft);color:var(--neg)}.engagements-valider{position:-webkit-sticky;position:sticky;bottom:0;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:var(--sp-4);padding:var(--sp-4) 0;background:var(--bg);border-top:1px solid var(--line)}.engagements-compte{margin-right:auto;color:var(--text-2);font-weight:600}.engagements-ok{color:var(--pos);font-size:var(--fs-small);font-weight:600}.issue-pastille{width:12px;height:12px;flex:none;border-radius:50%;border:1.5px solid var(--line-2);background:var(--surface)}.issue-pastille[data-issue=en_cours],.issue-pastille[data-issue=partiel]{border-color:var(--accent);background:linear-gradient(90deg,var(--accent) 50%,var(--surface) 50%)}.issue-pastille[data-issue=tenu]{border-color:var(--pos);background:var(--pos)}.issue-pastille[data-issue=reporte]{border-color:var(--warn);border-style:dashed}.issue-pastille[data-issue=abandonne],.issue-pastille[data-issue=annule]{border-color:var(--text-3);background:var(--surface-2)}.issue-etiquette{font-size:var(--fs-small);color:var(--text-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.issue-etiquette[data-issue=tenu]{color:var(--pos);font-weight:600}.issue-etiquette[data-issue=reporte]{color:var(--warn);font-weight:600}.engagement-ligne.resultat[data-issue=abandonne] .engagement-titre,.engagement-ligne.resultat[data-issue=annule] .engagement-titre{color:var(--text-3);text-decoration:line-through}.taux-barre+.engagement-ligne{border-top:0}.points-liste.compacte{margin-top:var(--sp-3)}.decision{display:inline-flex;gap:var(--sp-1)}.decision-choix[aria-pressed=true][data-choix=reporter]{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.decision-choix[aria-pressed=true][data-choix=abandonner]{border-color:var(--warn);color:var(--warn);background:var(--warn-soft)}.taux-barre{display:flex;align-items:center;gap:var(--sp-4);padding-bottom:var(--sp-3);margin-bottom:var(--sp-1);border-bottom:1px solid var(--line);font-size:var(--fs-body)}.taux-barre strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.barre{flex:1 1;height:6px;min-width:48px;border-radius:var(--r-pill);background:var(--surface-2);overflow:hidden}.barre>i{display:block;height:100%;border-radius:inherit;background:var(--pos);transition:width .4s ease}.taux-mini{display:inline-flex;align-items:center;gap:var(--sp-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.taux-mini .barre{flex:none;width:64px}.tendance{display:inline-flex;align-items:flex-end;gap:2px;height:20px}.tendance>i{width:6px;border-radius:1px;background:var(--pos)}.tendance>i[data-vide]{background:var(--line)}.tour-personne{margin-bottom:var(--sp-4)}.tour-entete{display:flex;margin-bottom:var(--sp-3);font-size:var(--fs-lead)}.tour-entete,.tour-taux{align-items:center;gap:var(--sp-3)}.tour-taux{margin-left:auto;display:inline-flex}.tour-taux-texte{color:var(--text-3);font-size:var(--fs-small)}.tour-absents{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-4)}.case-temps.propose{font-style:italic;color:var(--accent);background:var(--accent-soft)}.grille-temps tfoot td.manque{color:var(--warn)}.bilan-heures{display:grid;grid-gap:var(--sp-4);gap:var(--sp-4)}.bilan-ajout{max-width:320px}.bilan-projet{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.bilan-retirer{flex-shrink:0;opacity:.55}.bilan-retirer:focus-visible,.grille-bilan tr:hover .bilan-retirer{opacity:1}.bilan-total{color:var(--text-2);display:flex;align-items:center;gap:var(--sp-3)}.bilan-total .raison{margin-left:var(--sp-3)}.bilan-note{max-width:760px}.bilan-mot{margin:var(--sp-4) 0 0}.bilan-mot p{margin:var(--sp-2) 0 0;color:var(--text-2);line-height:1.55;white-space:pre-wrap}.equipe-table td{vertical-align:middle}.repartition-cellule{color:var(--text-2);font-size:var(--fs-small);max-width:280px}.fiche-personne-entete{display:flex;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-5);font-size:var(--fs-lead)}.fiche-personne-statut{display:block;color:var(--text-3);font-size:var(--fs-small)}.engagement-fiche{display:flex;align-items:center;gap:var(--sp-2)}.engagement-fiche .engagement-ligne{flex:1 1;min-width:0;border-top:0}.engagement-fiche+.engagement-fiche{border-top:1px solid var(--line)}.rattrapage{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-5);padding:var(--sp-3) var(--sp-4);border:1px solid var(--pos-line);border-radius:var(--r);background:var(--pos-soft);color:var(--text)}.rattrapage>span:nth-child(2){flex:1 1}.rattrapage-icone{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;border-radius:50%;background:var(--pos);color:var(--surface)}.rattrapage-icone svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}@media (max-width:900px){.projet-entete{grid-template-columns:minmax(0,1fr)}}@media (max-width:760px){.project-creation-modes{grid-template-columns:1fr}.project-creation-mode{min-height:0}.project-filters{align-items:stretch}.filter-field,.filter-field-mission{flex-basis:100%}.task-in-project{grid-template-columns:22px var(--statut-col) minmax(0,1fr) auto;align-items:center;padding-block:10px}.task-in-project>:nth-child(3){grid-column:3}.task-in-project>:nth-child(4),.task-in-project>:nth-child(5){grid-column:3/-1;justify-self:stretch}.task-in-project>:nth-child(6){grid-column:4;grid-row:1}.task-in-project .date-field,.task-in-project .instant-choice{width:100%;max-width:none}.task:not(.task-in-project){grid-template-columns:var(--statut-col) auto auto minmax(0,1fr) auto;gap:4px 8px;padding-block:9px}.task:not(.task-in-project)>.prio-boite{grid-column:2;grid-row:2}.task:not(.task-in-project)>.task-title{grid-column:2/5;grid-row:1;white-space:normal}.task:not(.task-in-project)>.due{grid-column:5;grid-row:1}.task:not(.task-in-project)>:nth-child(4){grid-column:3;grid-row:2}.task-head{display:none}.bucket .task-list{display:block}.task:not(.task-in-project)>.task-project{grid-column:4/-1;grid-row:2;justify-self:start;max-width:100%}.engagement-ligne{flex-wrap:wrap;row-gap:var(--sp-1);padding-block:var(--sp-2)}.engagement-titre{flex-grow:1;flex-shrink:1;flex-basis:calc(100% - 40px);white-space:normal}.engagement-meta{justify-content:flex-start;margin-left:32px}}.project-preset-fields{display:contents}[data-type=conges_payes]{--absence:var(--accent)}[data-type=enfant_malade],[data-type=maladie]{--absence:var(--neg)}[data-type=parentalite]{--absence:var(--ax3)}[data-type=evenement_familial]{--absence:var(--ax1)}[data-type=formation]{--absence:var(--ax4)}[data-type=recuperation]{--absence:var(--ax5)}[data-type=autre]{--absence:var(--warn)}[data-type=absent],[data-type=correction],[data-type=reprise],[data-type=sans_solde]{--absence:var(--text-3)}.absence-form{width:min(460px,calc(100vw - 32px))}.absence-bornes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--sp-4);gap:var(--sp-4)}.absence-decompte{margin:0;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-sm);background:var(--accent-soft);color:var(--accent);font-weight:600;font-size:var(--fs-body)}.absence-decompte.depasse{background:var(--warn-soft);color:var(--warn)}.absences-liste{padding-block:var(--sp-2)}.absence-ligne{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4);min-height:var(--row-h);padding:var(--sp-2) 0;border-top:1px solid var(--line);font-size:var(--fs-body)}.absences-liste>.absence-demande:first-child .absence-ligne,.absences-liste>.absence-ligne:first-child{border-top:0}.absence-ligne[data-statut=annulee],.absence-ligne[data-statut=refusee]{color:var(--text-3)}.absence-ligne[data-statut=annulee] .absence-periode{text-decoration:line-through}.absence-type{display:inline-flex;align-items:center;gap:6px;min-width:132px;font-weight:600}.absence-type:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--absence);flex:none}.absence-personne{min-width:140px}.absence-jours,.absence-periode{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.absence-jours,.absence-statut{color:var(--text-2)}.absence-statut{font-size:var(--fs-small);font-weight:600;padding:1px 8px;border-radius:var(--r-pill);background:var(--surface-2)}.absence-statut[data-statut=demandee]{background:var(--warn-soft);color:var(--warn)}.absence-statut[data-statut=validee]{background:var(--pos-soft);color:var(--pos)}.absence-statut[data-statut=refusee]{background:var(--neg-soft);color:var(--neg)}.absence-note{flex-basis:100%;color:var(--text-3);font-size:var(--fs-small);padding-left:calc(132px + var(--sp-4))}.absence-actions{margin-left:auto}.absence-actions,.absence-annuler,.absence-decision{display:inline-flex;align-items:center;gap:var(--sp-2)}.absence-annuler,.absence-decision{flex-wrap:wrap}.absence-decision input[type=text]{width:180px;font-size:var(--fs-small)}.absence-demande+.absence-demande .absence-ligne{border-top:1px solid var(--line)}.absence-impact{margin:0 0 var(--sp-3);color:var(--text-3);font-size:var(--fs-small)}.absence-impact.tendu{color:var(--warn);font-weight:600}.soldes .hint{margin:var(--sp-2) 0 0;color:var(--text-3);font-size:var(--fs-small)}.soldes .solde-restant{border-color:var(--accent-line);background:var(--accent-soft)}.soldes .solde-restant .value{font-size:30px}.calendrier-wrap{overflow-x:auto}.calendrier{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs-small);background:var(--surface)}.calendrier td,.calendrier th{border-bottom:1px solid var(--line);padding:0}.calendrier tbody tr:last-child td{border-bottom:0}.calendrier-nom{position:-webkit-sticky;position:sticky;left:0;z-index:1;width:1%;min-width:170px;white-space:nowrap;padding:var(--sp-2) var(--sp-4)!important;background:var(--surface);text-align:left;border-right:1px solid var(--line);font-weight:500}.calendrier-nom .with-avatar{display:flex}th.calendrier-nom{color:var(--text-3);font-size:var(--fs-micro);letter-spacing:var(--ls-caps);text-transform:uppercase;font-weight:600}.calendrier-jour{min-width:28px;padding:var(--sp-2) 0!important;text-align:center;color:var(--text-2);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.calendrier-jour span{display:block;color:var(--text-3);font-size:var(--fs-micro);font-weight:500}.calendrier-case{height:30px;text-align:center}.calendrier-case.repos,.calendrier-jour.repos{background:var(--surface-2)}.calendrier-jour.aujourdhui{color:var(--accent)}.calendrier-case.aujourdhui{box-shadow:inset 1px 0 0 var(--accent-line),inset -1px 0 0 var(--accent-line)}.calendrier-absence{display:inline-block;width:calc(100% - 6px);min-width:22px;height:18px;vertical-align:middle;border-radius:4px;background:var(--absence)}.calendrier-absence[data-demi=am]{-webkit-clip-path:inset(0 50% 0 0);clip-path:inset(0 50% 0 0)}.calendrier-absence[data-demi=pm]{-webkit-clip-path:inset(0 0 0 50%);clip-path:inset(0 0 0 50%)}.calendrier-absence[data-statut=demandee]{background:repeating-linear-gradient(135deg,var(--absence) 0 3px,transparent 3px 6px);box-shadow:inset 0 0 0 1px var(--absence)}.calendrier-legende{display:flex;flex-wrap:wrap;gap:var(--sp-3) var(--sp-5);margin-top:var(--sp-4);color:var(--text-2);font-size:var(--fs-small)}.calendrier-legende>span{display:inline-flex;align-items:center;gap:var(--sp-2)}.calendrier-legende .calendrier-absence{width:14px;min-width:0;height:12px}.personnel-table .date-field{min-width:132px}.personnel-table .instant-choice{min-width:150px}.rh-formulaires{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:var(--sp-5)}.rh-formulaire,.rh-formulaires{display:grid;grid-gap:var(--sp-4);gap:var(--sp-4)}.rh-formulaire{align-content:start}.rh-formulaire .btn{justify-self:start}.rh-formulaire-ligne{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--sp-4);gap:var(--sp-4)}.rappel-absence{margin:0 0 var(--sp-4);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-sm);background:var(--accent-soft);color:var(--accent);font-weight:500;max-width:760px}@media (max-width:760px){.absence-bornes,.rh-formulaire-ligne{grid-template-columns:1fr}.absence-note{padding-left:0}}.selectors{display:flex;align-items:center;gap:var(--sp-5);flex-wrap:wrap;margin-bottom:var(--sp-6)}.org-selector{display:inline-flex;gap:2px;padding:2px;border:1px solid var(--line-2);background:var(--surface-2);border-radius:var(--r-sm);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text) 3%,transparent)}.year-selector{display:inline-flex;align-items:center;gap:var(--sp-3);font-size:var(--fs-body);color:var(--text-3)}.year-selector select{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:var(--r-sm);padding:6px 9px;font-size:var(--fs-body);font-weight:500;cursor:pointer}.year-selector select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.org-tab{padding:5px 10px;border:1px solid transparent;border-radius:var(--r-xs);font-size:var(--fs-body);font-weight:500;color:var(--text-2);text-decoration:none}.org-tab:hover{color:var(--text);background:var(--surface-3)}.org-tab.active{border-color:var(--accent-line);background:var(--accent-soft);box-shadow:0 1px 5px color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);font-weight:600}.card .hint{color:var(--text-3);font-size:var(--fs-small);margin-top:var(--sp-2)}.value.neg{color:var(--neg)}.cf-chart{display:flex;flex-direction:column;gap:var(--sp-3)}.cf-row{display:grid;grid-template-columns:64px 1fr 120px;align-items:center;grid-gap:var(--sp-4);gap:var(--sp-4)}.cf-month{color:var(--text-2);font-size:var(--fs-body)}.cf-track{position:relative;height:22px;background:var(--surface-2);border-radius:var(--r-xs)}.cf-axis{left:50%;top:0;bottom:0;width:1px;background:var(--line)}.cf-axis,.cf-bar{position:absolute}.cf-bar{top:3px;bottom:3px;border-radius:4px}.cf-bar.pos{background:var(--pos)}.cf-bar.neg{background:var(--neg)}.cf-amount{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:var(--fs-body)}.cf-amount.pos{color:var(--pos)}.cf-amount.neg{color:var(--neg)}.fin-chart-dot{fill:var(--surface);stroke:var(--accent);stroke-width:1.6}.fin-chart-dot.neg{stroke:var(--neg)}.bp-bar.accent{fill:var(--accent)}.fin-chart-value{fill:var(--text-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fin-donut{display:grid;grid-template-columns:180px minmax(0,1fr);align-items:center;grid-gap:var(--sp-6);gap:var(--sp-6);padding:var(--sp-2) 0}.fin-donut-ring{display:block;width:100%;height:auto}.fin-donut-track{fill:none;stroke:var(--surface-2);stroke-width:22}.fin-donut-segment{fill:none;stroke:var(--series);stroke-width:22;transition:stroke-width .15s ease}.fin-donut-segment:hover{stroke-width:26}.fin-donut-total{fill:var(--text);font-size:20px;font-weight:650;letter-spacing:var(--ls-tight);text-anchor:middle;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fin-donut-caption{fill:var(--text-3);font-size:var(--fs-micro);text-anchor:middle}.fin-donut-legend{display:flex;flex-direction:column;gap:var(--sp-3);margin:0;padding:0;list-style:none;min-width:0}.fin-donut-legend li{display:grid;grid-template-columns:10px minmax(0,1fr) auto 44px;align-items:center;grid-gap:var(--sp-3);gap:var(--sp-3);font-size:var(--fs-body)}.fin-donut-name{overflow:hidden;color:var(--text-2);text-overflow:ellipsis;white-space:nowrap}.fin-donut-amount{color:var(--text);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fin-donut-share{color:var(--text-3);font-size:var(--fs-small);text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:560px){.fin-donut{grid-template-columns:minmax(0,1fr);justify-items:center}.fin-donut-ring{max-width:180px}.fin-donut-legend{width:100%}}.receivables-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.receivables-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid var(--line)}.receivables-summary>div{display:grid;grid-gap:3px;gap:3px;padding:14px 18px}.receivables-summary>div+div{border-left:1px solid var(--line)}.receivables-summary small,.receivables-summary span{color:var(--text-3);font-size:var(--fs-small)}.receivables-summary strong{font-size:20px;color:var(--pos)}.receivables-summary .overdue strong{color:var(--neg)}.receivables-wrap{max-height:360px;overflow:auto}.receivables-table{width:100%;border-collapse:collapse;font-size:var(--fs-body)}.receivables-table td,.receivables-table th{height:var(--row-h);padding:7px 12px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.receivables-table th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:var(--surface-2);color:var(--text-3);font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:var(--ls-caps);font-weight:600}.receivables-table .amount{text-align:right;color:var(--pos);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.receivable-status{display:inline-flex;padding:3px 8px;border-radius:var(--r-pill);font-size:var(--fs-micro);font-weight:600}.receivable-status.late{color:var(--neg);background:var(--neg-soft)}.receivable-status.upcoming{color:var(--warn);background:var(--warn-soft)}.rev-chart{display:flex;flex-direction:column;gap:12px}.rev-legend{display:flex;gap:20px;color:var(--text-3);font-size:var(--fs-small);margin-bottom:4px}.swatch{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px}.swatch.inv{background:var(--accent)}.swatch.col{background:var(--pos)}.rev-row{display:grid;grid-template-columns:64px 1fr;align-items:center;grid-gap:12px;gap:12px}.rev-bars{display:flex;flex-direction:column;gap:4px}.rev-bar-wrap{display:flex;align-items:center;gap:8px}.rev-bar{height:14px;border-radius:4px;min-width:2px}.rev-bar.inv{background:var(--accent)}.rev-bar.col{background:var(--pos)}.rev-val{font-size:var(--fs-small);color:var(--text-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bar-track{position:relative;height:18px;background:var(--surface-2);overflow:hidden}.bar-fill,.bar-track{border-radius:var(--r-xs)}.bar-fill{height:100%}button.sync{background:var(--accent);color:var(--text-on-accent);border:1px solid var(--accent);border-radius:var(--r-sm);padding:6px 12px;font-size:var(--fs-body);font-weight:600;width:100%;transition:background .12s ease,border-color .12s ease}button.sync:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}button.sync:disabled{opacity:.6;cursor:default}.sidebar-sync{border-top:1px solid var(--line);display:grid;grid-gap:6px;gap:6px;padding-top:var(--sp-3)}.sync-timestamp{color:var(--text-3);font-size:var(--fs-small);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.4}.sync-toast{background:var(--surface);border:1px solid var(--line-2);border-left:3px solid var(--pos);border-radius:var(--r-lg);bottom:20px;box-shadow:var(--shadow-pop);color:var(--text);font-size:var(--fs-body);max-width:min(380px,calc(100vw - 28px));overflow-wrap:anywhere;padding:13px 14px;position:fixed;right:20px;text-align:left;width:max-content;z-index:100}.sync-toast.err{border-left-color:var(--neg)}.sync-toast-header{align-items:flex-start;display:flex;gap:var(--sp-4);justify-content:space-between}.sync-toast-close{background:transparent;border:0;color:var(--text-3);cursor:pointer;font-size:18px;line-height:1;padding:0 0 2px 4px}.sync-toast-close:hover{color:var(--text)}.sync-toast ul{display:grid;grid-gap:2px 18px;gap:2px 18px;grid-template-columns:repeat(2,minmax(0,1fr));margin:9px 0 0;padding-left:18px}.sync-toast p{color:var(--text-2);line-height:1.45;margin:8px 0 0}.header-actions{display:flex;align-items:flex-start;gap:var(--sp-3)}button.export{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:var(--r-sm);padding:6px 12px;font-size:var(--fs-body);font-weight:500;transition:background .12s ease,border-color .12s ease}button.export:hover:not(:disabled){background:var(--surface-2);border-color:var(--line-2)}button.export:disabled{opacity:.6;cursor:default}.empty:not(.editable){background:var(--surface);border:1px dashed var(--line);border-radius:var(--r-lg);padding:40px;text-align:center;color:var(--text-3)}.feedback{margin-top:12px;font-size:var(--fs-body)}.feedback.ok{color:var(--pos)}.feedback.err{color:var(--neg)}@media (max-width:650px){.sidebar-sync{border-top:0;padding-top:0}.theme-toggle{width:100%}.sync-toast{bottom:14px;left:14px;right:14px;width:auto}.content{padding:20px 14px 40px}.billing-search,.header-actions{width:100%}.header-actions>*{flex:1 1}.receivables-summary{grid-template-columns:1fr}.receivables-summary>div+div{border-left:0;border-top:1px solid var(--line)}}.treso-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}.treso-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:max-content;font-size:var(--fs-body);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;--treso-frozen-w:150px}.treso-table td,.treso-table th{height:var(--row-h);padding:7px 12px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--line);width:124px}.treso-table thead th{color:var(--text-3);font-weight:600;text-transform:uppercase;font-size:var(--fs-micro);letter-spacing:var(--ls-caps);background:var(--surface-2);position:-webkit-sticky;position:sticky;top:0;z-index:2}.treso-table .treso-head-label,.treso-table .treso-label{text-align:left;width:230px;white-space:normal;position:-webkit-sticky;position:sticky;left:0;background:var(--surface);z-index:3;border-right:1px solid var(--line)}.treso-table thead .treso-head-label{background:var(--surface-2);z-index:4}.treso-indent{padding-left:24px!important;color:var(--text-3)}.treso-avg-col,.treso-total-col{box-sizing:border-box;width:var(--treso-frozen-w);min-width:var(--treso-frozen-w);font-weight:600;position:-webkit-sticky;position:sticky;background:var(--surface);z-index:3}.treso-total-col{right:var(--treso-frozen-w);border-left:1px solid var(--line)}.treso-avg-col{right:0;color:var(--text-3)}.treso-table thead .treso-avg-col,.treso-table thead .treso-total-col{background:var(--surface-2);z-index:4}.treso-group td{text-transform:uppercase;font-size:var(--fs-micro);letter-spacing:var(--ls-caps);color:var(--text-3);padding-top:12px}.treso-group .treso-label,.treso-group td{background:var(--surface-2)}.treso-subtotal td{font-weight:600}.treso-balance td{font-weight:600;color:var(--text)}.treso-balance .treso-label{color:var(--text)}.treso-closing td{border-top:2px solid var(--line-2)}.treso-net td{font-weight:700}.treso-net .treso-label,.treso-net td{background:var(--surface-2)}.treso-memo td,.treso-muted td{color:var(--text-3);font-size:var(--fs-small)}.treso-memo td{font-style:italic;border-bottom:none}.treso-zero{color:var(--text-3)}.treso-table td.pos{color:var(--pos)}.treso-table td.neg{color:var(--neg)}.treso-table td.fc,.treso-table th.fc{background-image:linear-gradient(var(--accent-soft),var(--accent-soft));background-image:linear-gradient(color-mix(in srgb,var(--accent) 4%,transparent),color-mix(in srgb,var(--accent) 4%,transparent));font-style:italic}.treso-table td.fc-frontier,.treso-table th.fc-frontier{border-left:2px dashed color-mix(in srgb,var(--accent) 55%,transparent)}.fc-tag{display:block;font-size:var(--fs-micro);letter-spacing:.08em;color:var(--accent);font-style:normal}.billing-note{background:var(--warn-soft);border:1px solid var(--warn-line);border-left:3px solid var(--warn);border-radius:var(--r);padding:12px 16px;margin-bottom:20px;color:var(--text);font-size:var(--fs-body)}.billing-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}.billing-filters{display:inline-flex;flex-wrap:wrap;gap:2px;padding:2px;background:var(--surface-2);border-radius:var(--r-sm)}.billing-filter{display:inline-flex;align-items:center;gap:7px;padding:5px 10px;border:none;border-radius:var(--r-sm);background:transparent;color:var(--text-3);font:inherit;font-size:var(--fs-body);font-weight:500;cursor:pointer}.billing-filter:hover{color:var(--text)}.billing-filter.active{background:var(--surface);box-shadow:var(--shadow-pill);color:var(--text);font-weight:600}.billing-filter-count{padding:1px 6px;border-radius:var(--r-pill);background:var(--surface-3);font-size:var(--fs-micro);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.billing-search{flex:1 1;min-width:220px;max-width:340px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:var(--r-sm);padding:9px 12px;font:inherit;font-size:var(--fs-body)}.billing-search:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.billing-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.billing-wrap{max-height:620px;overflow:auto}.billing-table{width:100%;min-width:1050px;border-collapse:collapse;font-size:var(--fs-body)}.billing-table td,.billing-table th{height:var(--row-h);padding:7px 12px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;vertical-align:top}.billing-table tbody tr:last-child td{border-bottom:none}.billing-table tbody tr:hover,.billing-table th{background:var(--surface-2)}.billing-table th{position:-webkit-sticky;position:sticky;top:0;z-index:1;color:var(--text-3);font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:var(--ls-caps);font-weight:600}.billing-table td.amount,.billing-table th.amount{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.billing-table td.amount{font-weight:600}.billing-reminder-date{color:var(--text-2);font-size:var(--fs-small);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.billing-table td.actions,.billing-table th.actions{text-align:right}.billing-number{font-weight:600}.billing-email,.billing-late-days,.billing-remaining{display:block;color:var(--text-3);font-size:var(--fs-micro);margin-top:3px;font-weight:400}.billing-late-days{color:var(--neg)}.billing-tag{display:inline-block;margin-left:8px;padding:2px 7px;border-radius:var(--r-pill);background:var(--surface-2);color:var(--text-3);font-size:var(--fs-micro);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.billing-tag.late{color:var(--neg);background:var(--neg-soft)}.billing-state{display:inline-flex;padding:3px 9px;border-radius:var(--r-pill);font-size:var(--fs-micro);font-weight:600}.billing-state.draft{color:var(--text-3);background:var(--surface-3)}.billing-state.receivable{color:var(--warn);background:var(--warn-soft)}.billing-state.late{color:var(--neg);background:var(--neg-soft)}.billing-state.settled{color:var(--pos);background:var(--pos-soft)}.billing-state.canceled{color:var(--text-3);background:transparent;border:1px solid var(--line)}.billing-action{display:inline-block;margin-left:8px;padding:6px 11px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font-size:var(--fs-small);font-weight:500;text-decoration:none;cursor:pointer}.billing-action:hover{background:var(--surface-2);border-color:var(--line-2)}.billing-action.primary{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}.billing-action.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.billing-action.disabled{opacity:.4;cursor:not-allowed}.billing-action.disabled:hover{border-color:var(--line)}.billing-empty{padding:32px;text-align:center;color:var(--text-3);font-size:var(--fs-body)}