:root{--ink:#172b4d;--green:#0c66e4;--muted:#626f86;--line:#dfe1e6;--bg:#f4f5f7;--accent:#cce0ff}*{box-sizing:border-box}body{margin:0;font:14px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #388bff;outline-offset:3px}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;background:#172b4d;border-right:1px solid #243c60;padding:32px 22px;display:flex;flex-direction:column}.brand{color:#fff;display:flex;align-items:center;gap:12px;font-size:18px;font-weight:750;letter-spacing:-.5px}.brand-icon{background:var(--green);color:#fff;display:inline-grid;place-items:center;flex-shrink:0;width:44px;height:44px;border-radius:13px;font-size:17px;font-weight:800;letter-spacing:-1px}.brand small{display:block;font-size:10px;letter-spacing:2.5px;font-weight:500;margin-top:1px;color:var(--muted)}.workspace{font-size:11px;letter-spacing:1.6px;color:#8993a4;margin:48px 12px 18px}nav{display:grid;gap:8px}nav a{display:flex;gap:14px;align-items:center;padding:13px 15px;border-radius:9px;color:#b6c2d5;font-weight:550}nav a span{font-size:22px;line-height:1}nav a:hover{background:#ffffff0d;color:#fff}nav a.active{background:#0c66e4;color:#fff;box-shadow:0 4px 12px #00000014}.side-bottom{margin-top:auto;font-size:11px;color:#b6c2cf;padding:24px 8px 0}.side-bottom small{display:block;margin:9px 0 22px;font-size:11px;color:#8f9eb3}.status-dot{display:inline-block;background:#4bce97;width:7px;height:7px;border-radius:50%;margin-right:5px}.logout{border:0;background:transparent;color:#b6c2cf;padding:0}.main{margin-left:244px;padding:0 38px;max-width:1900px}.topbar{height:68px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted)}.user-badge{background:#deebff;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;font-size:11px;font-weight:700;color:var(--green)}.heading{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:34px 0 28px}.eyebrow{font-size:11px;letter-spacing:2px;color:#626f86;font-weight:700;margin:0 0 8px}h1{font-size:30px;line-height:1.2;letter-spacing:-1px;margin:0 0 10px;font-weight:650}.muted{color:var(--muted);font-size:12px;margin:0}.filters{display:flex;align-items:end;gap:10px;flex-wrap:wrap}label{display:grid;gap:6px;font-size:11px;color:#44546f}input,select{min-height:41px;padding:9px 12px;border:1px solid #d5d9e0;border-radius:7px;background:#fff;color:var(--ink);max-width:100%}.primary{border:0;border-radius:7px;padding:11px 17px;background:var(--green);color:#fff;font-size:12px;font-weight:600;min-height:41px}.primary:hover{background:#0055cc}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}.kpi{padding:22px;background:#fff;border:1px solid var(--line);border-radius:10px;min-width:0}.kpi-label{color:#626f86;font-size:12px;display:flex;justify-content:space-between;gap:8px;align-items:center}.kpi-label span{background:#e9f2ff;padding:4px 8px;color:var(--green);border-radius:6px}.kpi strong{font-weight:650;font-size:clamp(19px,1.95vw,31px);letter-spacing:-1px;display:block;margin-top:16px;white-space:nowrap;font-variant-numeric:tabular-nums}.kpi strong small{font-size:11px;letter-spacing:.2px;margin-left:7px;color:#626f86;font-weight:500}.kpi p{margin:12px 0 0;color:#626f86;font-size:11px}.dark{background:var(--green);color:white}.dark .kpi-label,.dark p{color:#d8e7ff}.dark .kpi-label span{background:#ffffff20;color:var(--accent)}.chart-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:24px;margin-bottom:24px}.panel{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px}.panel-head h2{margin:0;font-size:15px;font-weight:650;letter-spacing:-.2px}.panel-head p{font-size:11px;color:var(--muted);margin:6px 0 0}.tag{display:inline-block;padding:4px 9px;border-radius:6px;background:#e9f2ff;color:#0055cc;font-size:11px;font-weight:600}.chart{padding:8px 20px 0}.chart svg{width:100%;height:auto;display:block}.gridline{stroke:#ebecf0;fill:none;stroke-dasharray:4 5}.bar{fill:#579dff}.bar:hover{fill:var(--green)}svg text{font:10px system-ui;fill:#626f86}.chart-data{padding:0 24px 18px;font-size:11px;color:#44546f}.chart-data summary{cursor:pointer}.month-data{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.month-data span{display:flex;justify-content:space-between;gap:8px}.top-client{display:flex;gap:11px;align-items:center;margin:0 24px;padding:15px 0;border-bottom:1px solid #ebecf0;font-size:12px}.top-client:last-child{border-bottom:0;margin-bottom:12px}.rank{color:#5e6c84;background:#f1f2f4;border-radius:7px;display:grid;place-items:center;width:28px;height:28px;flex-shrink:0;font-size:11px}.client-name{flex:1;overflow-wrap:anywhere}.top-client strong{font-size:12px;white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}.top-client small{font-size:10px;color:#626f86;display:block;font-weight:400}.text-link{font-size:11px;color:#0c66e4;white-space:nowrap}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;background:#f7f8fa;color:#626f86;font-size:11px;letter-spacing:.3px;font-weight:500;padding:13px 24px;white-space:nowrap}td{padding:16px 24px;border-bottom:1px solid #ebecf0;color:#44546f}tr:last-child td{border-bottom:0}tbody tr:hover{background:#f4f8ff}.reference{color:#0c66e4;font-weight:650;text-decoration:underline;text-underline-offset:3px}.client-cell{min-width:160px;max-width:330px;color:#172b4d}.numeric{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.amount{font-weight:650;color:#172b4d}.nowrap{white-space:nowrap}.footnote{color:#626f86;font-size:11px;line-height:1.7;margin:18px 0}.footer{display:flex;justify-content:space-between;padding:28px 0;font-size:11px;color:#626f86}.pagination{padding:18px 24px;display:flex;justify-content:space-between;gap:16px;font-size:11px;color:var(--muted);border-top:1px solid var(--line)}.pagination a{display:inline-block;padding:6px 10px;border:1px solid var(--line);border-radius:6px;margin-left:8px;color:var(--ink)}.empty{text-align:center;padding:35px 20px;color:var(--muted)}.detail{margin-bottom:24px}.designation{min-width:250px;max-width:580px;overflow-wrap:anywhere}.totals{font-size:12px;text-align:right;padding:18px 24px;line-height:2}.totals b{margin:0 8px}.payment-detail{padding:0 24px 24px}.error{color:#a33b32;font-size:13px;padding:16px;background:#fff4ef;border-radius:7px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.login{min-height:100svh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 85% 15%,#deebff,transparent 65%),#f4f5f7}.login-card{width:min(100%,440px);background:#fff;padding:42px;border:1px solid var(--line);border-radius:18px;box-shadow:0 25px 70px #0c66e409}.login-card .eyebrow{margin-top:30px}.login-card h1{font-size:35px;line-height:1.15}.login-card form{display:grid;gap:18px;margin-top:30px}.login-card .primary{display:flex;justify-content:space-between;font-size:13px}.login-card .footnote{margin-bottom:0;text-align:center}.login-card label{font-size:12px}.login-card input{min-height:46px}
@media(min-width:1600px){.main{padding:0 60px}.kpi strong{font-size:34px}}@media(max-width:1200px){.sidebar{width:205px;padding:28px 16px}.main{margin-left:205px;padding:0 24px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi strong{font-size:29px}.heading{align-items:start}.chart-grid{grid-template-columns:1fr}.chart svg{max-height:280px}.top-client{padding:12px 0}}@media(max-width:760px){.sidebar{position:static;width:100%;padding:16px 18px 0;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:16px}.brand-icon{width:36px;height:36px;font-size:14px}.workspace{display:none}nav{display:flex;overflow:auto;gap:5px;margin-top:18px;padding-bottom:12px}nav a{padding:10px 12px;font-size:11px;white-space:nowrap;gap:7px}nav a span{font-size:17px}.side-bottom{margin:0;padding:0;position:absolute;right:18px;top:24px;font-size:0}.side-bottom small,.side-bottom .status-dot{display:none}.logout{font-size:11px}.main{margin:0;padding:0 16px}.topbar{height:50px;font-size:11px}.user-badge{width:27px;height:27px}.heading{padding:24px 0;display:block}h1{font-size:26px}.filters{margin-top:20px}.filters label{flex:1;min-width:90px}.filters input{width:100%}.kpis{gap:10px;margin-bottom:16px}.kpi{padding:16px 13px;border-radius:10px}.kpi-label{font-size:11px}.kpi-label span{padding:3px 6px}.kpi strong{font-size:clamp(18px,4.2vw,28px);letter-spacing:-.6px}.kpi strong small{font-size:8px;margin-left:4px}.kpi p{font-size:10px}.chart-grid{gap:16px;margin-bottom:16px}.panel-head{padding:18px 16px;gap:10px}.panel-head h2{font-size:14px}.panel-head p{font-size:11px}.panel-head>.muted{display:none}.chart{padding:0 6px}.chart-data{padding:0 16px 16px}.month-data{grid-template-columns:repeat(2,1fr)}th,td{padding:13px 16px}.top-client{margin:0 16px}.pagination{padding:16px;align-items:center}.pagination a{padding:5px;margin-left:4px}.login-card{padding:30px}.login-card h1{font-size:31px}}

/* ERP workspace */
.app-icon{display:block;flex-shrink:0}.brand small{color:#9fadc4}.brand-icon{background:#0c66e4;box-shadow:inset 0 0 0 1px #ffffff1a}.workspace{color:#8f9eb3}.main{min-height:100svh}.topbar{gap:16px}.breadcrumb{display:flex;gap:12px;align-items:center}.breadcrumb strong{font-weight:550;color:var(--ink)}.heading{padding:32px 0 26px}.filters{padding:12px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 1px 2px #091e4208}.kpi{position:relative;box-shadow:0 1px 3px #091e420a;border-top:3px solid #579dff}.kpi:nth-child(2){border-top-color:#22a06b}.kpi:nth-child(3){border-top-color:#9f8fef}.kpi-label span{width:34px;height:34px;display:grid;place-items:center;padding:7px;border-radius:9px}.kpi:nth-child(2) .kpi-label span{background:#dcfff1;color:#157a51}.kpi:nth-child(3) .kpi-label span{background:#f3f0ff;color:#6e5dc6}.kpi strong{margin-top:16px}.kpi.dark{background:linear-gradient(120deg,#0c66e4,#0747a6);border-color:#0c66e4}.kpi.dark .kpi-label span{background:#ffffff20;color:#fff}.panel{box-shadow:0 1px 3px #091e4208}.panel-head{min-height:83px}.panel-head h2{font-size:16px}.text-link{font-size:12px;font-weight:550}.reference{text-decoration:none;border-radius:4px}.reference:hover{text-decoration:underline}.rank{background:#e9f2ff;color:#0c66e4}.top-client:first-of-type .rank{background:#deebff}.pagination a{background:#fff;font-weight:550;min-height:34px}.pagination a:hover{background:#e9f2ff;border-color:#85b8ff}.primary{box-shadow:0 1px 2px #091e421a;transition:background .15s}.bar{transition:fill .15s}.side-bottom{border-top:1px solid #ffffff15;margin-top:auto}.logout:hover{color:#fff}.user-badge{border:2px solid white;box-shadow:0 0 0 1px #dfe1e6}.login{background:radial-gradient(ellipse at 0 0,#deebff,transparent 55%),radial-gradient(ellipse at 100% 100%,#eae6ff,transparent 55%),#f4f5f7}.login-card{box-shadow:0 16px 60px #091e4210;border-radius:14px}.login-card .brand-icon{width:48px;height:48px}.login-card .eyebrow{color:#0c66e4}.login-card input:focus{border-color:#388bff}.login-card .primary{min-height:46px}.error{color:#ae2e24;background:#fff0ed}.empty{padding:48px 24px}
@media(max-width:1200px){.filters{max-width:440px}.kpi strong{font-size:28px}}
@media(max-width:760px){.sidebar{background:#172b4d;border-bottom-color:#243c60}.sidebar nav{scrollbar-width:thin;scrollbar-color:#5e6c84 transparent}.sidebar nav a{font-size:12px}.sidebar nav .app-icon{width:17px;height:17px}.side-bottom{border:0}.brand small{font-size:9px}.brand-icon{box-shadow:none}.heading{padding:24px 0}.filters{max-width:none;margin-top:20px;padding:12px;gap:10px}.filters .primary{align-self:end}.kpi{padding:15px 12px}.kpi-label{align-items:flex-start;min-height:36px;font-size:11px}.kpi-label span{width:28px;height:28px;padding:5px;border-radius:7px}.kpi .app-icon{width:17px;height:17px}.kpi strong{font-size:clamp(17px,4.2vw,28px);margin-top:12px;letter-spacing:-.5px}.kpi strong small{display:block;font-size:10px;margin:4px 0 0}.kpi p{font-size:11px;line-height:1.5}.panel-head h2{font-size:15px}.panel-head{min-height:76px}.breadcrumb{gap:8px;font-size:11px}.login-card{padding:30px}.pagination{flex-wrap:wrap}.login-card .brand-icon{width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Recherche et consultation ERP */
.search-workspace{background:#fff;border:1px solid var(--line);border-radius:12px;margin:0 0 24px;box-shadow:0 2px 4px #091e4206;overflow:hidden}.search-main{padding:16px 20px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}.search-box{flex:1;min-width:230px;display:flex;align-items:center;gap:10px;border:1px solid #c5ccda;border-radius:7px;padding:0 12px;color:#626f86}.search-box>span[aria-hidden]{font-size:26px}.search-box input{border:0;padding-left:0;width:100%;min-height:42px;outline-offset:0}.search-box:focus-within{border-color:#0c66e4;box-shadow:0 0 0 2px #e9f2ff}.year-filter{display:flex;align-items:center;gap:10px}.year-filter select{min-width:100px}.reset-link{color:#626f86;font-size:12px;text-decoration:underline;text-underline-offset:3px}.advanced-filters{border-top:1px solid #f1f2f4;padding:12px 20px}.advanced-filters summary{font-size:12px;color:#44546f;cursor:pointer;font-weight:550}.filter-fields{display:grid;grid-template-columns:1fr 1fr 1.6fr 1.2fr .8fr;gap:14px;padding-top:16px}.filter-fields label{min-width:0}.filter-fields select,.filter-fields input{width:100%;min-width:0}.active-filters{display:flex;gap:8px;flex-wrap:wrap;padding:0 20px 14px}.filter-chip{background:#f1f2f4;color:#44546f;font-size:11px;border:1px solid #e4e6ea;border-radius:5px;padding:5px 9px}.filter-chip[href]{background:#e9f2ff;border-color:#cce0ff;color:#0055cc}.period-title{flex:1;font-size:14px;font-weight:600;display:flex;align-items:center;gap:12px}.content-start{display:none}.list-total{text-align:right;display:grid;gap:3px}.list-total>span{font-size:11px;color:var(--muted)}.list-total strong{font-size:19px;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.list-total small{font-size:10px;color:var(--muted);font-weight:500}.table-tools{display:flex;align-items:center;justify-content:space-between;padding:10px 24px;background:#fafbfc;border-top:1px solid #ebecf0;border-bottom:1px solid #ebecf0;font-size:11px;color:#626f86}.density-button{border:1px solid #dfe1e6;background:#fff;border-radius:5px;padding:6px 10px;color:#44546f;font-size:11px}.density-button[aria-pressed=true]{color:#0055cc;background:#e9f2ff}.sort-link{display:flex;align-items:center;gap:12px;justify-content:space-between;color:#44546f;font-weight:600;min-height:22px}.sort-link span{color:#8993a4}.numeric .sort-link{justify-content:flex-end}th[aria-sort] .sort-link,th[aria-sort] .sort-link span{color:#0c66e4}.document-table th{position:sticky;top:0;z-index:1;background:#f7f8fa}.document-table td{padding:16px 20px;height:68px}.document-table th{padding:12px 20px}.document-table tbody tr:nth-child(even){background:#fcfcfd}.document-table tbody tr:hover{background:#f0f6ff}.document-table .reference{display:inline-flex;align-items:center;gap:10px;white-space:nowrap}.document-icon{width:30px;height:34px;background:#e9f2ff;border:1px solid #cce0ff;display:grid;place-items:center;border-radius:6px}.document-icon svg{width:17px;height:17px}.client-avatar{display:inline-grid;place-items:center;width:28px;height:28px;vertical-align:middle;margin-right:9px;border-radius:8px;background:#f0edfa;color:#7563ad;font-size:11px;font-weight:650}.client-cell>span:last-child{vertical-align:middle}.document-table .client-cell{min-width:220px}.mode-badge{display:inline-block;background:#f1f2f4;color:#44546f;padding:4px 8px;border-radius:5px;font-size:11px;white-space:nowrap}.amount small{color:#8993a4;font-size:9px;font-weight:400;margin-left:5px}.row-open{display:grid;place-items:center;width:29px;height:29px;border:1px solid #dfe1e6;border-radius:6px;color:#626f86;background:#fff}.row-open:hover{color:#0055cc;border-color:#85b8ff}.compact-table .document-table td{padding-top:8px;padding-bottom:8px;height:46px}.compact-table .document-icon,.compact-table .client-avatar{display:none}.empty-symbol{display:block;font-size:36px;color:#8993a4;line-height:1.3}.empty strong{display:block;font-size:15px;color:#44546f}.empty p{font-size:12px}.chart-legend{padding:0 24px 12px;display:flex;gap:20px;font-size:11px;color:#626f86;flex-wrap:wrap}.chart-legend span{display:flex;gap:6px;align-items:center}.chart-legend i{width:9px;height:9px;display:inline-block;border-radius:3px}.legend-invoice{background:#579dff}.legend-payment{background:#36b7a0}.chart-switch{display:flex;border:1px solid #dfe1e6;border-radius:6px;padding:3px;gap:3px}.chart-switch button{border:0;background:transparent;font-size:11px;padding:5px 8px;color:#626f86;border-radius:4px}.chart-switch button[aria-pressed=true]{background:#e9f2ff;color:#0055cc;font-weight:600}.modern-chart{padding:0 12px}.invoice-bar{fill:#579dff}.payment-bar{fill:#36b7a0}.invoice-bar:hover{fill:#0c66e4}.payment-bar:hover{fill:#1f8c79}.invoice-line{stroke:#0c66e4;fill:#fff;stroke-width:2.5}.payment-line{stroke:#22a28b;fill:#fff;stroke-width:2.5}polyline.invoice-line,polyline.payment-line{fill:none}.chart-lines{display:none}[data-chart-mode=lines] .chart-bars{display:none}[data-chart-mode=lines] .chart-lines{display:block}.modern-chart svg text{font-size:10px}.chart-data .table-wrap{margin-top:12px}.chart-data td,.chart-data th{padding:8px 12px;font-size:11px}.chart-data summary{padding:8px 0}.panel .table-wrap{max-height:70vh}.top-client{min-height:58px}.chart-grid{align-items:start}
@media(min-width:1201px){.chart-grid{grid-template-columns:minmax(0,1.8fr) minmax(290px,1fr)}}
@media(max-width:1000px){.filter-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.search-main{gap:10px}.search-box{flex-basis:100%}}
@media(max-width:760px){.search-workspace{margin-bottom:16px}.search-main{padding:14px}.advanced-filters{padding:12px 14px}.active-filters{padding:0 14px 14px}.year-filter{flex:1}.year-filter select{width:100%}.search-main .primary{flex:1}.reset-link{font-size:11px}.filter-fields{gap:12px}.period-title{flex-basis:100%}.list-total strong{font-size:16px}.list-total>span{font-size:10px}.table-tools{padding:10px 16px}.document-table td,.document-table th{padding-left:14px;padding-right:14px}.document-table .client-cell{min-width:190px}.chart-switch button{padding:5px 6px;font-size:10px}.chart-legend{padding-left:16px;gap:12px}.modern-chart{padding:0}.modern-chart svg{min-height:180px}.panel-head{flex-wrap:wrap}.panel-head>div:first-child{min-width:0}.modern-chart svg text{font-size:11px}.chart-data{padding-left:12px;padding-right:12px}.list-total{margin-left:auto}.search-box{min-width:0}.filter-chip{max-width:100%;overflow-wrap:anywhere}}

.tag.status-paid{background:#dcf5e6;color:#216342;border:1px solid #b8e5cb;white-space:nowrap}.tag.status-pending{background:#fde7e7;color:#a32935;border:1px solid #f5c5cb;white-space:nowrap}

.payment-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.payment-kpis .kpi{border-top-color:#e9a2aa;background:#fffafb}.payment-kpis .kpi:nth-child(2){border-top-color:#e07b88;background:#fff5f5}.payment-kpis .kpi:nth-child(3){border-top-color:#e7bf79;background:#fffdf5}.payment-kpis .kpi-label{color:#73404a}.payment-kpis .kpi p{color:#6b6570}.payment-kpis .kpi strong{font-size:clamp(18px,2vw,29px)}.payment-kpis-note{margin:-8px 0 24px}@media(max-width:760px){.payment-kpis{grid-template-columns:1fr}.payment-kpis .kpi{padding:18px}.payment-kpis .kpi-label{min-height:0}.payment-kpis .kpi strong{font-size:27px}.payment-kpis .kpi strong small{display:inline;margin-left:8px}}

.payment-kpis .kpi:first-child{border-top-color:#86cda5;background:#f3fcf6}.payment-kpis .kpi:first-child .kpi-label{color:#216342}
