/* ═══ CATALOGUE ══════════════════════════════════════════ */
.cat-src{display:flex;background:var(--b);border-radius:99px;padding:3px;margin:8px 16px}
.cat-src-btn{flex:1;padding:7px;border-radius:99px;font-size:12px;font-weight:700;color:var(--text3);cursor:pointer;font-family:inherit;transition:all var(--tr)}
.cat-src-btn.on{background:var(--card);color:var(--text);box-shadow:0 1px 4px rgba(0,0,0,.12)}
.cat-chips{display:flex;gap:8px;overflow-x:auto;padding:4px 16px 6px;scrollbar-width:none}
.cat-chips::-webkit-scrollbar{display:none}
.cat-chip{flex-shrink:0;padding:6px 14px;border-radius:99px;border:1.5px solid var(--b2);background:var(--card);font-size:12px;font-weight:600;color:var(--text2);cursor:pointer;white-space:nowrap;transition:all .15s}
.cat-chip.on{background:var(--accent);color:#fff;border-color:var(--accent)}
.cat-row{display:flex;align-items:center;padding:12px 16px;background:var(--card);border-bottom:1px solid var(--b);gap:12px;cursor:pointer;transition:var(--tr)}
.cat-row:active{background:#F8F9FA}
.cat-row-main{flex:1;min-width:0}
.cat-name{font-size:14px;font-weight:600;color:var(--text);line-height:1.35;margin-bottom:3px}
.cat-meta{display:flex;align-items:center;gap:8px}
.cat-unit{font-size:12px;color:var(--text3);font-weight:500}
.cat-price{font-size:15px;font-weight:800;color:var(--text);flex-shrink:0}

/* ═══ AGENDA ═════════════════════════════════════════════ */
.ag-vtgl{display:flex;background:var(--b);border-radius:99px;padding:3px;margin:8px 16px 10px}
.ag-vbtn{flex:1;padding:8px;border-radius:99px;font-size:12px;font-weight:700;color:var(--text3);cursor:pointer;font-family:inherit;transition:all var(--tr);text-align:center}
.ag-vbtn.on{background:var(--card);color:var(--text);box-shadow:0 1px 4px rgba(0,0,0,.12)}
.ag-nav{display:flex;align-items:center;justify-content:space-between;padding:6px 16px 10px}
.ag-nav-t{font-size:16px;font-weight:800;color:var(--text);letter-spacing:-.2px}
.ag-nav-btn{width:32px;height:32px;border-radius:8px;border:1.5px solid var(--b2);background:var(--card);display:flex;align-items:center;justify-content:center;cursor:pointer}
.ag-nav-btn svg{width:14px;height:14px;stroke:var(--text2);stroke-width:2.5;fill:none}
.ag-grid{display:grid;grid-template-columns:repeat(7,1fr);padding:0 10px;gap:2px}
.ag-dhdr{text-align:center;font-size:10px;font-weight:700;color:var(--text3);padding:4px 0;text-transform:uppercase;letter-spacing:.04em}
.ag-day{display:flex;flex-direction:column;align-items:center;padding:4px 2px;border-radius:var(--r-sm);cursor:pointer;min-height:46px;transition:var(--tr)}
.ag-day:active{background:var(--b)}
.ag-dnum{font-size:13px;font-weight:600;color:var(--text);width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.ag-day.today .ag-dnum{background:var(--accent);color:#fff;font-weight:800}
.ag-day.other .ag-dnum{color:var(--text3)}
.ag-dots{display:flex;gap:2px;margin-top:2px;flex-wrap:wrap;justify-content:center;max-width:22px}
.ag-dot{width:5px;height:5px;border-radius:50%}
.ag-dot.o{background:var(--accent)}.ag-dot.g{background:var(--ok)}.ag-dot.b{background:#3B82F6}.ag-dot.r{background:var(--er)}
.ag-ecard{display:flex;gap:12px;padding:12px 14px;background:var(--card);border-radius:var(--r);margin-bottom:8px;box-shadow:var(--sh);cursor:pointer;border-left:4px solid var(--accent)}
.ag-ecard.g{border-left-color:var(--ok)}.ag-ecard.b{border-left-color:#3B82F6}.ag-ecard.r{border-left-color:var(--er)}
.ag-etime{font-size:11px;font-weight:700;color:var(--text3);white-space:nowrap;margin-top:2px;line-height:1.6}
.ag-etitle{font-size:14px;font-weight:700;color:var(--text);margin-bottom:2px}
.ag-esub{font-size:12px;color:var(--text2);display:flex;align-items:center;gap:5px}

/* ═══ ÉQUIPE ══════════════════════════════════════════════ */
.eq-tabs{display:flex;background:var(--card);border-bottom:1px solid var(--b);flex-shrink:0}
.eq-tab{flex:1;padding:12px 4px;background:transparent;font-size:12px;font-weight:600;color:var(--text3);cursor:pointer;font-family:inherit;position:relative;transition:var(--tr)}
.eq-tab::after{content:'';position:absolute;bottom:0;left:15%;right:15%;height:2px;background:var(--accent);border-radius:2px;opacity:0;transition:opacity var(--tr)}
.eq-tab.on::after{opacity:1}
.eq-tab.on{color:var(--accent);font-weight:700}
.eq-mc{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--card);border-bottom:1px solid var(--b);cursor:pointer}
.eq-av{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:900;color:#fff;flex-shrink:0}
.eq-info{flex:1;min-width:0}
.eq-name{font-size:15px;font-weight:700;color:var(--text)}
.eq-role{font-size:12px;color:var(--text3);font-weight:500;margin-top:1px}
.eq-stats{display:flex;gap:6px;margin-top:5px;flex-wrap:wrap}
.eq-stat{font-size:11px;font-weight:600;color:var(--text2);background:var(--bg);padding:2px 8px;border-radius:99px}
.eq-leave-row{display:grid;grid-template-columns:76px repeat(5,1fr);gap:3px;margin-bottom:3px;align-items:center}
.eq-lcell{height:26px;border-radius:3px;display:flex;align-items:center;justify-content:center}
.eq-lcell.lv{background:#DBEAFE;border-radius:0}
.eq-lcell.lv.st{border-radius:99px 0 0 99px}.eq-lcell.lv.en{border-radius:0 99px 99px 0}
.eq-lcell.lv.sg{border-radius:99px}
.eq-ldot{width:6px;height:6px;border-radius:50%;background:var(--b2)}

/* ═══ CLIENTS ════════════════════════════════════════════ */
.cl-detail{position:absolute;inset:0;background:var(--bg);z-index:50;transform:translateX(100%);transition:transform .28s ease;display:flex;flex-direction:column}
.cl-detail.open{transform:translateX(0)}
.cl-d-hdr{display:flex;align-items:center;gap:12px;padding:14px 16px 12px;background:var(--card);border-bottom:1px solid var(--b);flex-shrink:0}
.cl-d-bk{width:36px;height:36px;border-radius:var(--r-sm);background:var(--bg);display:flex;align-items:center;justify-content:center;cursor:pointer}
.cl-d-bk svg{width:18px;height:18px;stroke:var(--text2);stroke-width:2;fill:none}
.cl-stats{display:flex;gap:10px;padding:14px 16px}
.cl-sc{flex:1;background:var(--card);border-radius:var(--r);padding:14px;box-shadow:var(--sh);text-align:center}
.cl-sc-v{font-size:20px;font-weight:900;color:var(--text);letter-spacing:-.4px}
.cl-sc-l{font-size:11px;color:var(--text3);font-weight:600;margin-top:3px}

/* ═══ EXPORT COMPTABLE ══════════════════════════════════ */
.exp-period-row{display:flex;gap:6px;flex-wrap:wrap;padding:12px 14px}
.exp-chip{height:34px;padding:0 14px;border-radius:99px;border:1.5px solid var(--b2);background:var(--card);font-size:13px;font-weight:600;color:var(--text2);cursor:pointer;font-family:var(--font);transition:var(--tr);white-space:nowrap}
.exp-chip.on{border-color:var(--accent);background:var(--accent-wash);color:var(--accent)}
.exp-fmt-row{display:flex;gap:8px;padding:8px 14px 14px}
.exp-fmt{flex:1;height:44px;border-radius:var(--r-sm);border:1.5px solid var(--b2);background:var(--card);font-size:14px;font-weight:700;color:var(--text2);cursor:pointer;font-family:var(--font);transition:var(--tr);display:flex;align-items:center;justify-content:center;gap:7px}
.exp-fmt.on{border-color:var(--accent);background:var(--accent-wash);color:var(--accent)}
.exp-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 16px}
.exp-sc{background:var(--card);border-radius:var(--r);padding:14px;box-shadow:var(--sh)}
.exp-sv{font-size:20px;font-weight:900;color:var(--text);letter-spacing:-.4px}
.exp-sl{font-size:11px;color:var(--text3);font-weight:600;margin-top:3px}
.exp-tabs{display:flex;background:var(--card);border-bottom:1px solid var(--b);border-radius:var(--r) var(--r) 0 0;overflow:hidden}
.exp-tab{flex:1;padding:11px 4px;background:transparent;font-size:13px;font-weight:600;color:var(--text3);cursor:pointer;font-family:inherit;position:relative;transition:var(--tr);border:none}
.exp-tab::after{content:'';position:absolute;bottom:0;left:10%;right:10%;height:2px;background:var(--accent);border-radius:2px;opacity:0;transition:opacity var(--tr)}
.exp-tab.on::after{opacity:1}
.exp-tab.on{color:var(--accent);font-weight:700}
.exp-tva-row{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--b);background:var(--card)}
.exp-tva-row:last-child{border-bottom:none}
.exp-split-row{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--b);background:var(--card)}
.exp-split-row:last-child{border-bottom:none}

/* ═══ MES FRAIS ══════════════════════════════════════════ */
.frais-form{background:var(--card);margin:0 16px 12px;border-radius:var(--r);box-shadow:var(--sh);overflow:hidden}
.frais-inp{width:100%;height:44px;border-radius:var(--r-sm);border:1.5px solid var(--b2);background:var(--bg);font-size:14px;font-weight:500;color:var(--text);padding:0 12px;font-family:var(--font);box-sizing:border-box;transition:border-color var(--tr)}
.frais-inp:focus{outline:none;border-color:var(--accent)}
.frais-sel{width:100%;height:44px;border-radius:var(--r-sm);border:1.5px solid var(--b2);background:var(--bg);font-size:14px;font-weight:500;color:var(--text);padding:0 10px;font-family:var(--font);cursor:pointer;-webkit-appearance:none;appearance:none;box-sizing:border-box;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2394A3B8' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}
.frais-lbl{font-size:11px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px}
.frais-row{display:flex;align-items:center;border-bottom:1px solid var(--b);background:var(--card);padding:12px 14px;gap:10px}
.frais-row:last-child{border-bottom:none}
.frais-info{flex:1;min-width:0}
.frais-title{font-size:14px;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.frais-meta{font-size:11px;color:var(--text3);font-weight:500;margin-top:2px}
.frais-amt{text-align:right;flex-shrink:0}
.frais-ht{font-size:14px;font-weight:800;color:var(--text)}
.frais-ttc{font-size:11px;color:var(--text3);font-weight:500;margin-top:2px}
