:root{--black:#0f0f0f;--anthracite:#2b2b2b;--stone:#8f8980;--stone-light:#b8b2a7;--beige:#e8e1d5;--beige-light:#f1ece3;--warm-white:#faf8f4;--white:#fff;--line:#e3ddd2;--ok:#3f7a5a;--warn:#b8862b;--danger:#a8433a;--font:"Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;--radius:10px;--shadow:0 1px 2px #0f0f0f0d, 0 4px 14px #0f0f0f0d}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);color:var(--black);background:var(--warm-white);-webkit-font-smoothing:antialiased;font-size:14px}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:600}.app{height:100%;display:flex}.sidebar{background:var(--black);width:232px;color:var(--warm-white);flex-direction:column;flex:none;padding:22px 16px;display:flex}.brand{letter-spacing:.12em;padding:4px 10px 22px;font-size:17px;font-weight:700}.brand small{letter-spacing:.02em;color:var(--stone-light);margin-top:2px;font-size:11px;font-weight:400;display:block}.nav{flex-direction:column;gap:2px;display:flex}.nav button{text-align:left;width:100%;color:var(--stone-light);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:10px;font-weight:500;display:flex}.nav button:hover{color:var(--warm-white);background:#ffffff0f}.nav button.active{color:var(--black);background:var(--beige)}.nav .badge{background:var(--danger);color:#fff;border-radius:99px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:600}.nav button.active .badge{background:var(--black)}.sidebar-footer{border-top:1px solid #ffffff1a;margin-top:auto;padding:10px}.me{align-items:center;gap:10px;display:flex}.me .name{font-size:13px;font-weight:500}.me .role{color:var(--stone-light);font-size:11px}.sidebar .linklike{color:var(--stone-light);cursor:pointer;background:0 0;border:0;margin-top:10px;padding:0;font-size:12px;text-decoration:underline}.sidebar select{background:var(--anthracite);width:100%;color:var(--warm-white);border:1px solid #444;border-radius:6px;margin-top:8px;padding:6px 8px;font-size:12px}.demo-tag{letter-spacing:.08em;text-transform:uppercase;background:var(--warn);color:#fff;border-radius:4px;margin-bottom:8px;padding:2px 6px;font-size:10px;display:inline-block}.main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.topbar{align-items:center;gap:12px;padding:18px 28px 12px;display:flex}.topbar h1{font-size:22px}.topbar .spacer{flex:1}.content{flex:1;padding:8px 28px 28px;overflow:auto}.avatar{color:#fff;letter-spacing:.02em;border-radius:50%;flex:none;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:600;display:inline-flex}.avatar.sm{width:22px;height:22px;font-size:9px}.avatar.lg{width:40px;height:40px;font-size:14px}.btn{border:1px solid var(--line);background:var(--white);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-weight:500;display:inline-flex}.btn:hover{border-color:var(--stone-light)}.btn.primary{background:var(--black);color:var(--warm-white);border-color:var(--black)}.btn.primary:hover{background:var(--anthracite)}.btn.ghost{color:var(--stone);background:0 0;border-color:#0000}.btn.ghost:hover{color:var(--black);background:var(--beige-light)}.btn.danger{color:var(--danger)}.btn.sm{padding:5px 10px;font-size:12px}.btn:disabled{opacity:.5;cursor:not-allowed}.input,select.input,textarea.input{border:1px solid var(--line);background:var(--white);border-radius:8px;outline:none;width:100%;padding:8px 10px}.input:focus{border-color:var(--black)}textarea.input{resize:vertical;min-height:70px}.input:disabled{background:var(--beige-light);color:var(--stone)}.field{flex-direction:column;gap:5px;display:flex}.field label{text-transform:uppercase;letter-spacing:.06em;color:var(--stone);font-size:11px;font-weight:600}.grid2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.grid3{grid-template-columns:1fr 1fr 1fr;gap:12px;display:grid}.hint{color:var(--stone);font-size:12px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);background:var(--white);cursor:pointer;border-radius:99px;align-items:center;gap:6px;padding:5px 11px;font-size:12px;font-weight:500;display:inline-flex}.chip:hover{border-color:var(--stone-light)}.chip.active{background:var(--black);color:var(--warm-white);border-color:var(--black)}.search{position:relative}.search input{width:260px;padding-left:32px}.search svg{color:var(--stone);position:absolute;top:50%;left:10px;transform:translateY(-50%)}.kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px;display:grid}.kpi{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}.kpi .label{text-transform:uppercase;letter-spacing:.06em;color:var(--stone);font-size:11px;font-weight:600}.kpi .value{letter-spacing:-.02em;margin-top:4px;font-size:24px;font-weight:600}.kpi .sub{color:var(--stone);margin-top:2px;font-size:12px}.kpi.alert .value{color:var(--danger)}.board{align-items:flex-start;gap:10px;min-height:60vh;padding-bottom:12px;display:flex;overflow-x:auto}.col{background:var(--beige-light);border-radius:var(--radius);flex:1 1 0;min-width:172px;max-width:300px;min-height:200px;padding:10px;transition:background .15s}.col.over{background:var(--beige)}.col.closed{border:1px dashed var(--line);background:0 0;flex-grow:.7;min-width:150px}.col-head{align-items:baseline;gap:8px;padding:2px 4px 10px;display:flex}.col-head h3{font-size:13px}.col-head .count{color:var(--stone);font-size:12px}.col-head .sum{color:var(--stone);margin-left:auto;font-size:11px;font-weight:500}.card{background:var(--white);box-shadow:var(--shadow);cursor:pointer;border:1px solid #0000;border-radius:8px;margin-bottom:8px;padding:10px 12px;position:relative}.card:hover{border-color:var(--stone-light)}.card.dragging{opacity:.4}.card.overdue{border-left:3px solid var(--danger)}.card.today{border-left:3px solid var(--warn)}.card .company{font-size:13px;font-weight:600;line-height:1.3}.card .contact{color:var(--stone);margin-top:1px;font-size:12px}.card .meta{align-items:center;gap:6px;margin-top:8px;font-size:12px;display:flex}.card .offer{white-space:nowrap;background:var(--beige);color:var(--anthracite);border-radius:4px;padding:2px 7px;font-size:11px;font-weight:500}.card .amount{margin-left:auto;font-weight:600}.card .next{color:var(--stone);align-items:center;gap:6px;margin-top:8px;font-size:12px;display:flex}.card .next.overdue{color:var(--danger);font-weight:500}.card .next.today{color:var(--warn);font-weight:500}.card .next .txt{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.card .foot{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.card .lock{color:var(--stone-light);font-size:10px}.tag-won{color:var(--ok);font-size:11px;font-weight:600}.tag-lost{color:var(--danger);font-size:11px;font-weight:600}.table{border-collapse:collapse;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);width:100%;overflow:hidden}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:11px 14px}.table th{text-transform:uppercase;letter-spacing:.06em;color:var(--stone);background:var(--beige-light);font-size:11px;font-weight:600}.table tr:last-child td{border-bottom:0}.table tbody tr{cursor:pointer}.table tbody tr:hover td{background:var(--warm-white)}.table td.num{text-align:right;font-variant-numeric:tabular-nums}.table th.num{text-align:right}.table .strong{font-weight:600}.table .muted{color:var(--stone);font-size:12px}.table .bad{color:var(--danger);font-weight:600}.table .good{color:var(--ok);font-weight:600}.wrap{border-radius:var(--radius);overflow:auto}.status{align-items:center;gap:6px;font-size:12px;font-weight:500;display:inline-flex}.status:before{content:"";background:var(--stone-light);border-radius:50%;width:8px;height:8px}.status.actif:before{background:var(--ok)}.status.en_discussion:before{background:var(--warn)}.status.a_contacter:before{background:var(--black)}.status.dormant:before{background:var(--stone-light)}.who{align-items:center;gap:8px;display:inline-flex}.team-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.member{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.member .head{align-items:center;gap:12px;margin-bottom:14px;display:flex}.member .head .n{font-weight:600}.member .head .r{color:var(--stone);font-size:12px}.member .stats{grid-template-columns:1fr 1fr;gap:10px;display:grid}.member .stat .v{letter-spacing:-.02em;font-size:20px;font-weight:600}.member .stat .l{color:var(--stone);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}.member .stat.bad .v{color:var(--danger)}.member .bar{background:var(--beige-light);border-radius:3px;height:6px;margin-top:14px;display:flex;overflow:hidden}.member .bar span{height:100%}.member .bar-legend{color:var(--stone);justify-content:space-between;margin-top:5px;font-size:11px;display:flex}.member .todo{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}.member .todo .t{cursor:pointer;justify-content:space-between;gap:8px;padding:4px 0;font-size:12px;display:flex}.member .todo .t:hover{text-decoration:underline}.member .todo .t .d{color:var(--danger);flex:none}.member .todo .t .d.today{color:var(--warn)}.member .todo .t .d.later{color:var(--stone)}.overlay{z-index:20;background:#0f0f0f59;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:var(--warm-white);flex-direction:column;width:560px;max-width:100%;height:100%;display:flex;overflow:auto;box-shadow:-8px 0 30px #00000026}.drawer-head{border-bottom:1px solid var(--line);background:var(--white);z-index:2;align-items:flex-start;gap:12px;padding:22px 24px 14px;display:flex;position:sticky;top:0}.drawer-head h2{font-size:18px}.drawer-head .sub{color:var(--stone);margin-top:3px;font-size:12px}.drawer-body{flex-direction:column;gap:16px;padding:20px 24px;display:flex}.drawer-foot{background:var(--white);border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:12px 24px;display:flex;position:sticky;bottom:0}.section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--stone);margin-top:6px;font-size:11px;font-weight:600}.stage-steps{gap:4px;display:flex}.stage-steps button{border:1px solid var(--line);background:var(--white);cursor:pointer;border-radius:6px;flex:1;padding:7px 4px;font-size:11px;font-weight:500}.stage-steps button.done{background:var(--beige);border-color:var(--beige)}.stage-steps button.current{background:var(--black);color:var(--warm-white);border-color:var(--black)}.stage-steps button:disabled{cursor:default}.alert{color:#6b4e12;background:#fbf2e4;border:1px solid #ebd3a8;border-radius:8px;padding:10px 12px;font-size:13px}.alert.danger{color:#7a2e27;background:#f9e9e7;border-color:#e8c4c0}.alert.info{background:var(--beige-light);border-color:var(--beige);color:var(--anthracite)}.timeline{flex-direction:column;gap:10px;display:flex}.tl{align-items:flex-start;gap:10px;display:flex}.tl .body{flex:1}.tl .who{font-size:12px;font-weight:600}.tl .when{color:var(--stone);margin-left:6px;font-size:11px;font-weight:400}.tl .txt{white-space:pre-wrap;margin-top:2px;font-size:13px}.tl.sys .txt{color:var(--stone);font-size:12px;font-style:italic}.note-box{gap:8px;display:flex}.note-box textarea{flex:1;min-height:44px}.readonly-note{color:var(--stone);background:var(--beige-light);border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:12px;display:flex}.login{background:var(--black);place-items:center;min-height:100%;display:grid}.login-card{background:var(--warm-white);border-radius:14px;width:380px;padding:32px}.login-card .brand{color:var(--black);padding:0 0 18px}.login-card .brand small{color:var(--stone)}.login-card form{flex-direction:column;gap:12px;display:flex}.empty{color:var(--stone);text-align:center;padding:40px;font-size:13px}.toast{background:var(--black);color:var(--warm-white);z-index:50;box-shadow:var(--shadow);border-radius:8px;padding:10px 16px;font-size:13px;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast.error{background:var(--danger)}.loading{height:100%;color:var(--stone);place-items:center;display:grid}@media (width<=900px){.sidebar{width:64px;padding:16px 8px}.sidebar .brand{text-align:center;padding:4px 4px 16px;font-size:12px}.sidebar .brand small,.nav button span.txt,.me .name,.me .role,.sidebar .linklike,.sidebar select,.demo-tag{display:none}.nav button{justify-content:center;padding:10px 0}.nav .badge{margin-top:-18px;margin-left:24px;position:absolute}.topbar,.content{padding-left:14px;padding-right:14px}.search input{width:160px}.grid2,.grid3{grid-template-columns:1fr}}.settings{flex-direction:column;gap:18px;max-width:980px;display:flex}.settings-block{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px}.settings-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.settings-head h2{font-size:15px}.settings-head p{max-width:60ch;margin:4px 0 0}.settings-table tbody tr.static{cursor:default}.settings-table tbody tr.static:hover td{background:0 0}.settings-table tr.fixed td{background:var(--warm-white)}.settings-table td{padding:8px 10px}.order{gap:2px;display:flex}.order .btn{padding:3px 7px}.pct{align-items:center;gap:6px;display:flex}.pct input{text-align:right;width:80px}.list-editor{flex-direction:column;gap:6px;display:flex}.list-row{grid-template-columns:1fr 24px auto;align-items:center;gap:8px;display:grid}.list-row .hint{text-align:right;font-variant-numeric:tabular-nums}.settings-foot{justify-content:flex-end;gap:10px;display:flex}
