:root{--green:#c5ff00;--ink:#111512;--charcoal:#202520;--muted:#687069;--paper:#f4f6f2;--white:#fff;--line:#dfe4dc;--red:#b42318;--amber:#9a6700;--shadow:0 10px 35px rgba(17,21,18,.08);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0;background:var(--paper);font-size:15px;line-height:1.45}a{color:inherit}button,.button{appearance:none;border:0;border-radius:10px;background:var(--ink);color:#fff;padding:.78rem 1rem;font:inherit;font-weight:750;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;min-height:44px}.button:hover,button:hover{background:#2f382f}.button.secondary,button.secondary{background:#edf0ea;color:var(--ink);border:1px solid var(--line)}.button.small{min-height:34px;padding:.45rem .7rem;font-size:.86rem}.danger-button{background:var(--red)}input,select{width:100%;min-height:44px;border:1px solid #cdd4ca;border-radius:9px;background:#fff;padding:.65rem .72rem;font:inherit;color:var(--ink)}input:focus,select:focus{outline:3px solid rgba(197,255,0,.35);border-color:#7b9d00}label{display:grid;gap:.35rem;font-size:.88rem;font-weight:700;color:#3d473e}.check{display:flex;align-items:center;gap:.5rem}.check input{width:20px;min-height:20px}h1,h2,p{margin-top:0}h1{font-size:clamp(1.7rem,3vw,2.65rem);line-height:1.05;margin-bottom:.5rem;letter-spacing:-.04em}h2{font-size:1.08rem;margin-bottom:1rem}.muted{color:var(--muted)}.eyebrow{font-size:.72rem;letter-spacing:.16em;font-weight:850;color:#667800;margin-bottom:.55rem}.app-shell{min-height:100vh;display:grid;grid-template-columns:235px 1fr}.app-shell>aside{background:var(--ink);color:#fff;padding:1.25rem 1rem;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none;padding:.2rem .5rem 1.5rem}.brand img{width:45px;height:45px;object-fit:contain}.brand span{font-size:.72rem;font-weight:850;letter-spacing:.13em;color:var(--green)}nav{display:grid;gap:.25rem}nav a{display:flex;align-items:center;gap:.75rem;padding:.78rem .85rem;border-radius:9px;text-decoration:none;color:#cbd1cb;font-weight:650}nav a i{font-style:normal;width:22px;text-align:center;color:var(--green)}nav a:hover,nav a.active{background:#2b312b;color:#fff}.user{margin-top:auto;border-top:1px solid #343b34;padding:.9rem .5rem 0;display:grid}.user small{color:#98a098}.user a{color:var(--green);font-size:.85rem;margin-top:.55rem}.content{padding:clamp(1.15rem,3vw,2.6rem);max-width:1500px;width:100%}.page-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1.5rem}.page-head .muted{max-width:680px;margin-bottom:0}.panel{background:var(--white);border:1px solid var(--line);border-radius:15px;padding:1.2rem;box-shadow:var(--shadow);margin-bottom:1rem}.panel.narrow{max-width:720px}.panel.compact{padding:1rem}.panel summary{font-weight:800;cursor:pointer;margin-bottom:.8rem}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem}.panel-title h2{margin:0}.panel-title>span{color:var(--muted);font-size:.8rem}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.kpis article{background:var(--ink);color:#fff;border-radius:15px;padding:1.2rem;min-height:118px;display:flex;flex-direction:column;justify-content:space-between}.kpis span{color:#bdc5bd;font-size:.85rem}.kpis strong{font-size:clamp(1.3rem,2vw,2rem);letter-spacing:-.03em}.positive{color:#508000!important}.negative{color:#c9372c!important}.kpis .positive{color:var(--green)!important}.kpis .negative{color:#ff8a80!important}.grid{display:grid;gap:1rem}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.account-row,.list-row,.report-total{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.8rem 0;border-top:1px solid var(--line)}.account-row:first-of-type,.list-row:first-of-type{border-top:0}.account-row small,.list-row small,.label small{display:block;color:var(--muted);font-size:.78rem;margin-top:.18rem}.issue{display:flex;align-items:center;gap:.8rem;text-decoration:none;border-top:1px solid var(--line);padding:.7rem 0}.issue b{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:#eef3de}.issue.danger b{background:#ffebe9;color:var(--red)}.status{display:inline-flex;border-radius:999px;padding:.3rem .55rem;font-size:.72rem;font-weight:800;background:#eef0ec;white-space:nowrap}.status.recognized,.status.found{background:#e8f7d2;color:#466500}.status.review,.status.variation{background:#fff2c8;color:#775000}.status.anomaly,.status.missing{background:#ffe5e2;color:var(--red)}.filters,.period-picker,.inline{display:flex;gap:.6rem;align-items:end;margin-bottom:1rem}.filters input,.filters select,.period-picker input{max-width:240px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;align-items:end}.form-grid button{align-self:end}.stack{display:grid;gap:.8rem}.notice{background:#f3f7e6;border-left:4px solid var(--green);padding:1rem;margin-top:1rem;border-radius:8px}.notice p{margin:.3rem 0 0}.movement-list{display:grid;gap:.55rem}.movement{background:#fff;border:1px solid var(--line);border-left:4px solid #bac1b8;border-radius:12px;box-shadow:0 4px 20px rgba(17,21,18,.05)}.movement.recognized{border-left-color:#719d00}.movement.review{border-left-color:#d69e00}.movement.anomaly{border-left-color:var(--red)}.movement summary{display:grid;grid-template-columns:90px 1fr auto 105px;gap:.8rem;align-items:center;padding:1rem;cursor:pointer}.movement .edit{padding:1rem;border-top:1px solid var(--line);background:#fafbf9}.bank-source{padding:0 1rem 1rem;color:var(--muted);font-size:.78rem}.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.8rem}.chips span{background:#eef0ec;border-radius:999px;padding:.35rem .6rem;font-size:.78rem}.actions{display:flex;flex-wrap:wrap;gap:.6rem}.actions form{display:inline-flex}.checks{display:grid;grid-template-columns:repeat(5,1fr);gap:.7rem;margin-top:1rem}.checks div{background:#f5f7f3;border-radius:10px;padding:.8rem}.checks b,.checks span{display:block}.checks b{font-size:1.3rem}.checks span{font-size:.72rem;color:var(--muted)}.report-total.total{font-size:1.1rem;border-top:2px solid var(--ink)}.table-wrap{overflow:auto;background:#fff;border-radius:14px;border:1px solid var(--line)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.7rem .8rem;border-bottom:1px solid var(--line);white-space:nowrap}th{background:#202520;color:#fff;font-size:.78rem}.empty{text-align:center;color:var(--muted);padding:1.5rem}.alert{padding:.85rem 1rem;border-radius:10px;margin-bottom:1rem}.alert.success{background:#eaf8d9;color:#355400}.alert.danger{background:#ffe7e4;color:#83180f}.login-shell{min-height:100vh;display:grid;place-items:center;padding:1rem;background:radial-gradient(circle at 65% 15%,#dfff72 0,transparent 25%),var(--ink)}.login-card{width:min(430px,100%);background:#fff;border-radius:20px;padding:2rem;box-shadow:0 25px 80px rgba(0,0,0,.35)}.login-card form{display:grid;gap:1rem}.login-logo{width:75px;height:75px;object-fit:contain;background:var(--ink);border-radius:16px;padding:.45rem;margin-bottom:1rem}
@media(max-width:900px){.app-shell{grid-template-columns:1fr}.app-shell>aside{position:fixed;z-index:10;left:0;right:0;top:auto;bottom:0;height:68px;padding:.4rem;background:rgba(17,21,18,.98)}.brand,.user{display:none}nav{display:grid;grid-template-columns:repeat(6,1fr);gap:0}nav a{display:grid;place-items:center;gap:.08rem;padding:.25rem;font-size:.62rem}nav a i{width:auto;font-size:1.1rem}.content{padding-bottom:88px}.kpis{grid-template-columns:repeat(2,1fr)}.grid.two{grid-template-columns:1fr}.movement summary{grid-template-columns:75px 1fr auto}.movement summary>.status{grid-column:2}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.checks{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.content{padding:1rem 1rem 86px}.page-head{display:grid}.page-head>.button{width:100%}.kpis{grid-template-columns:1fr 1fr;gap:.6rem}.kpis article{min-height:102px;padding:1rem}.filters,.period-picker{align-items:stretch;display:grid;grid-template-columns:1fr 1fr}.filters input,.filters select,.period-picker input{max-width:none}.filters input[name=q]{grid-column:1/-1}.form-grid{grid-template-columns:1fr}.movement summary{grid-template-columns:1fr auto;gap:.25rem .7rem}.movement summary .date{font-size:.78rem}.movement summary .label{grid-column:1/-1;grid-row:2}.movement summary>.status{grid-column:1;grid-row:3;justify-self:start}.movement summary>strong{grid-column:2;grid-row:1}.panel{padding:1rem}.panel-title{align-items:flex-start}.inline{display:grid;width:100%}.checks{grid-template-columns:1fr 1fr}nav a span{max-width:58px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
:root{--ink:#09243a;--charcoal:#12384b;--teal:#0b6572;--cyan:#36c7df;--muted:#60717a;--paper:#edf4f6;--line:#d3e1e5;--shadow:0 12px 34px rgba(9,36,58,.09)}
body{background:linear-gradient(135deg,#f7fbfc 0,#edf4f6 55%,#e7f0f3 100%)}
button,.button{background:var(--ink)}.button:hover,button:hover{background:var(--teal)}.button.secondary,button.secondary{background:#eef5f6}.eyebrow{color:var(--teal)}
input,select{border-color:#bfd1d7}input:focus,select:focus{outline-color:rgba(54,199,223,.28);border-color:var(--teal)}label{color:#304b58}
.app-shell>aside{background:linear-gradient(180deg,#071d30 0,#0b3146 100%);border-right:4px solid var(--cyan)}nav a{color:#d3e3e8}nav a i{color:var(--cyan)}nav a:hover,nav a.active{background:#12566a;box-shadow:inset 3px 0 0 var(--green)}.user{border-top-color:#285065}.user small{color:#a9c0c8}
.content:before{content:"B & FIT  ·  COMPTABILITÉ  ·  PRÉPRODUCTION FICTIVE";display:inline-flex;background:var(--ink);color:#fff;border-left:5px solid var(--green);border-radius:6px;padding:.35rem .65rem;margin-bottom:1.1rem;font-size:.68rem;font-weight:900;letter-spacing:.13em}
.panel{background:rgba(255,255,255,.96)}.kpis article{background:linear-gradient(145deg,#09243a,#0d5365);border-top:3px solid var(--cyan)}.kpis span{color:#d0e4e9}.kpis .negative{color:#ff9b91!important}th{background:var(--ink)}
.login-shell{background:radial-gradient(circle at 70% 10%,rgba(54,199,223,.4) 0,transparent 30%),linear-gradient(145deg,#061827,#0b5363)}.login-card{border-top:6px solid var(--green)}
@media(max-width:900px){.app-shell>aside{background:rgba(7,29,48,.98);border-right:0;border-top:3px solid var(--cyan)}}
@media print{.content:before{display:none}aside,.button,button,.filters,.period-picker{display:none!important}.app-shell{display:block}.content{padding:0}.panel{box-shadow:none;break-inside:avoid}}
.supplier-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-top:1rem}.supplier-card{border:1px solid var(--line);border-left:4px solid var(--cyan);border-radius:12px;background:#f9fcfd;padding:.9rem}.supplier-card summary{display:flex;justify-content:space-between;align-items:center;gap:.8rem;margin:0;cursor:pointer}.supplier-card summary small{display:block;color:var(--muted);font-weight:500;margin-top:.15rem}.supplier-card form{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}
@media(max-width:900px){.supplier-grid{grid-template-columns:1fr}nav{grid-template-columns:repeat(7,1fr)}}
.duplicate-decision{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:.7rem;align-items:center;margin:0 1rem;padding:1rem;border-radius:10px;background:#fff4d6;border:1px solid #eed28a}.duplicate-decision select,.duplicate-decision input{min-width:0}
@media(max-width:900px){.duplicate-decision{grid-template-columns:1fr}}
.login-links{display:flex;justify-content:space-between;gap:1rem;font-size:.86rem;margin:0}.steps{padding-left:1.2rem;color:var(--muted)}.steps li{margin:.45rem 0}.setup-key{background:#eef5f6;border:1px solid var(--line);border-radius:10px;padding:.8rem;margin:1rem 0}.setup-key span{display:block;font-size:.75rem;color:var(--muted);font-weight:800}.setup-key code,.wrap{display:block;overflow-wrap:anywhere;margin-top:.35rem}.backup-codes{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem;margin-bottom:1rem}.backup-codes code{background:#eef5f6;border:1px solid var(--line);border-radius:8px;padding:.7rem;text-align:center;font-size:1rem}

