:root{--ground:#f4f5f7;--surface:#fff;--surface-2:#eceef2;--ink:#151a21;--muted:#646c79;--rule:#dde1e7;--accent:#2e3e8f;--accent-soft:#e6eaf7;--ok:#1f7a4d;--ok-bg:#e4f1ea;--warn:#a66a00;--warn-bg:#f7eedd;--crit:#b03030;--crit-bg:#f7e6e6;--sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--radius:6px}@media (prefers-color-scheme:dark){:root{--ground:#11141a;--surface:#191d25;--surface-2:#212630;--ink:#e7eaef;--muted:#98a1ae;--rule:#2b313b;--accent:#94a6f2;--accent-soft:#212948;--ok:#5fcb93;--ok-bg:#16301f;--warn:#e0a94a;--warn-bg:#33270f;--crit:#e98080;--crit-bg:#331a1a}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--ground);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.55}.topbar{background:var(--surface);border-bottom:1px solid var(--rule);z-index:10;align-items:center;gap:20px;padding:12px 20px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.01em;white-space:nowrap;font-weight:650}.brand span{color:var(--muted);font-weight:400}.nav{flex:1;gap:4px;display:flex;overflow-x:auto}.nav a,.nav span{border-radius:var(--radius);color:var(--muted);white-space:nowrap;padding:6px 11px;font-size:14px;text-decoration:none}.nav a:hover{background:var(--surface-2);color:var(--ink)}.nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent);font-weight:550}.nav span{opacity:.45;cursor:default}.logout{border:1px solid var(--rule);border-radius:var(--radius);font:inherit;color:var(--muted);cursor:pointer;background:0 0;padding:6px 11px;font-size:13px}.logout:hover{border-color:var(--muted);color:var(--ink)}main{max-width:1180px;margin:0 auto;padding:24px 20px 64px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:20px;display:flex}.page-head h1{letter-spacing:-.02em;margin:0;font-size:23px}.page-head .date{color:var(--muted);font-size:14px}.grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;display:grid}.card{background:var(--surface);border:1px solid var(--rule);border-radius:8px;padding:16px 18px}.card>h2{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);justify-content:space-between;align-items:center;gap:8px;margin:0 0 12px;font-size:12px;font-weight:600;display:flex}.card.wide{grid-column:1/-1}.amount{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:26px;font-weight:600}.amount.crit{color:var(--crit)}.amount.ok{color:var(--ok)}.sub{color:var(--muted);margin-top:2px;font-size:13.5px}ul.list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}ul.list li{border-bottom:1px solid var(--rule);justify-content:space-between;gap:12px;padding:9px 0;display:flex}ul.list li:last-child{border-bottom:none}ul.list li:first-child{padding-top:0}.item-title{font-size:14px}.item-meta{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:13px}.empty{color:var(--muted);padding:6px 0 2px;font-size:13.5px}.badge{letter-spacing:.04em;text-transform:uppercase;border-radius:20px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.crit{background:var(--crit-bg);color:var(--crit)}.login-wrap{justify-content:center;align-items:center;min-height:90vh;padding:24px;display:flex}.login-card{background:var(--surface);border:1px solid var(--rule);border-radius:10px;width:100%;max-width:380px;padding:36px 32px}.login-card h1{letter-spacing:-.02em;margin:0 0 6px;font-size:20px}.login-card p{color:var(--muted);margin:0 0 24px;font-size:14px}.google-btn{border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface-2);width:100%;color:var(--ink);justify-content:center;align-items:center;gap:10px;padding:11px 16px;font-size:14.5px;font-weight:550;text-decoration:none;display:flex}.google-btn:hover{border-color:var(--accent);color:var(--accent)}.error-box{background:var(--crit-bg);color:var(--crit);border-radius:var(--radius);margin-bottom:18px;padding:10px 14px;font-size:13.5px}.alert{background:var(--crit-bg);color:var(--crit);border-radius:8px;padding:14px 18px;font-size:14px}@media (max-width:640px){.topbar{flex-wrap:wrap;gap:10px}main{padding:18px 14px 48px}.amount{font-size:22px}}a{color:var(--accent)}.brand{color:inherit;text-decoration:none}main.narrow{max-width:760px}.count{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:8px;font-size:13px;display:inline-block}.head-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn{border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);color:var(--ink);font-size:14px;font:inherit;cursor:pointer;white-space:nowrap;padding:7px 14px;font-size:14px;text-decoration:none;display:inline-block}.btn:hover{border-color:var(--accent);color:var(--accent)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:550}.btn.primary:hover{filter:brightness(1.1);color:#fff}input,select,textarea{font:inherit;border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);color:var(--ink);width:100%;padding:7px 10px;font-size:14px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}textarea{resize:vertical}.filters{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.filters input[type=search]{flex:2 260px}.filters select{flex:150px}.filters button{cursor:pointer;flex:none;width:auto;padding:7px 16px}.tablewrap{background:var(--surface);border:1px solid var(--rule);border-radius:8px;margin-bottom:16px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:640px;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--rule);vertical-align:top;padding:10px 14px}thead th{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--surface-2);white-space:nowrap;font-size:11.5px;font-weight:600}tbody tr:last-child td{border-bottom:none}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}tr.row-error td{background:var(--crit-bg)}code{font-family:var(--mono);background:var(--surface-2);border-radius:3px;padding:1px 5px;font-size:.88em}.badge.neutral{background:var(--surface-2);color:var(--muted)}.badge{margin-left:6px}.pager{justify-content:center;align-items:center;gap:16px;padding:8px 0 24px;display:flex}.form fieldset{border:1px solid var(--rule);background:var(--surface);border-radius:8px;margin:0 0 16px;padding:16px 18px}.form legend{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:0 6px;font-size:12px;font-weight:600}.form label{color:var(--muted);margin-bottom:12px;font-size:13px;display:block}.form label input,.form label select,.form label textarea{color:var(--ink);margin-top:4px}.form .row{flex-wrap:wrap;gap:12px;display:flex}.form .row label{flex:180px}.actions{justify-content:flex-end;gap:10px;display:flex}.warnbox{background:var(--warn-bg);color:var(--warn);border-radius:8px;margin-bottom:18px;padding:14px 18px}.warnbox .sub,.warnbox .item-meta{color:inherit;opacity:.85}.inline-form{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;display:flex}.inline-form input,.inline-form select{flex:150px;width:auto}.inline-form button{cursor:pointer;flex:none;width:auto}.inline-form.tight{flex-wrap:nowrap;gap:4px;margin-top:0}.inline-form.tight select{flex:120px;padding:4px 6px;font-size:13px}.inline-form.tight button{border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface-2);color:var(--ink);padding:4px 8px;font-size:13px}.kv{margin:0;padding:0;list-style:none}.kv li{border-bottom:1px solid var(--rule);justify-content:space-between;gap:12px;padding:7px 0;font-size:14px;display:flex}.kv li:last-child{border-bottom:none}.kv span{color:var(--muted)}.kv b{font-variant-numeric:tabular-nums;font-weight:600}.kv b.ok{color:var(--ok)}.kv b.crit{color:var(--crit)}.item-title.big{font-size:17px;font-weight:600}.item-meta.crit{color:var(--crit)}.timeline{margin:0;padding:0;list-style:none}.timeline li{border-bottom:1px solid var(--rule);grid-template-columns:110px 1fr;gap:14px;padding:10px 0;display:grid}.timeline li:last-child{border-bottom:none}.timeline .when{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12.5px}.timeline .sub{margin:4px 0 0}.board{gap:12px;margin-bottom:20px;padding-bottom:12px;display:flex;overflow-x:auto}.column{background:var(--surface-2);border-radius:8px;flex:0 0 240px;padding:12px}.column.won{background:var(--ok-bg)}.column h2{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);justify-content:space-between;margin:0 0 4px;font-size:12px;display:flex}.column-total{color:var(--muted);font-variant-numeric:tabular-nums;margin-bottom:10px;font-size:12.5px}.opp{background:var(--surface);border:1px solid var(--rule);border-radius:6px;margin-bottom:8px;padding:10px 12px}.opp-company{color:var(--muted);font-size:12.5px;text-decoration:none}.opp-title{margin:2px 0;font-size:14px;font-weight:550}.opp-amount{font-variant-numeric:tabular-nums;font-size:14px}.move{gap:4px;margin-top:8px;display:flex}.move select{padding:3px 5px;font-size:12px}.move button{border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface-2);width:auto;color:var(--ink);cursor:pointer;padding:3px 8px}.empty-state{text-align:center;padding:36px 20px}@media (max-width:640px){.filters{flex-direction:column}.filters input,.filters input[type=search],.filters select,.filters button,.inline-form input,.inline-form select,.inline-form button{flex:none;width:100%}.inline-form{flex-direction:column;align-items:stretch}.inline-form.tight{flex-direction:row}.inline-form.tight select,.inline-form.tight button{width:auto}.timeline li{grid-template-columns:1fr;gap:2px}.form .row{flex-direction:column;gap:0}.page-head{flex-direction:column;align-items:flex-start;gap:10px}}.danger-zone{border-color:var(--rule)}.danger-zone h2{color:var(--crit)}.btn.danger{border-color:var(--crit);color:var(--crit)}.btn.danger:hover{background:var(--crit);border-color:var(--crit);color:#fff}.flash{background:var(--ok-bg);color:var(--ok);border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:14px}.flash a{color:inherit}.dot{vertical-align:middle;border-radius:50%;width:9px;height:9px;display:inline-block}.dot.vert{background:var(--ok)}.dot.orange{background:var(--warn)}.dot.rouge{background:var(--crit)}.bandeau{background:var(--rule);border:1px solid var(--rule);border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1px;margin-bottom:20px;display:grid;overflow:hidden}.bandeau>div{background:var(--surface);padding:12px 16px}.bandeau span{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:4px;font-size:11px;display:block}.bandeau b{font-size:15px;font-weight:600;display:block}.bandeau em{color:var(--muted);margin-top:2px;font-size:12.5px;font-style:normal;display:block}.bandeau .etat.vert b{color:var(--ok)}.bandeau .etat.orange b{color:var(--warn)}.bandeau .etat.rouge b{color:var(--crit)}.bandeau .etat b{text-transform:uppercase;letter-spacing:.05em;font-size:13px}.check-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;width:auto;padding:0 6px 0 0;font-size:16px;line-height:1}.check-btn:hover{color:var(--accent)}.check{color:var(--muted);align-items:center;gap:6px;width:auto;font-size:13px;display:flex}.check input{width:auto}.stages{margin:0;padding:0;list-style:none}.stages>li{border-bottom:1px solid var(--rule);gap:10px;padding:12px 0;display:flex}.stages>li:last-child{border-bottom:none}.stages>li.done .item-title{color:var(--muted);text-decoration:line-through}.stages form{flex:none}.subtasks{margin:8px 0 0;padding:0 0 0 4px;list-style:none}.subtasks li{color:var(--muted);align-items:center;gap:6px;padding:2px 0;font-size:13.5px;display:flex}.subtasks li.done span{opacity:.65;text-decoration:line-through}.done-text{color:var(--muted);text-decoration:line-through}tr.row-muted td{opacity:.5}ul.list.card{padding:8px 18px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin:12px 0;display:grid}.card>h2 .item-meta{text-transform:none;letter-spacing:0;font-weight:400}button:disabled{opacity:.45;cursor:not-allowed}.tiles{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:20px;display:grid}.tile{background:var(--surface);border:1px solid var(--rule);border-radius:8px;padding:14px 16px}.tile span{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-size:11px;display:block}.tile b{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:4px 0 2px;font-size:22px;font-weight:600;display:block}.tile b.ok{color:var(--ok)}.tile b.warn{color:var(--warn)}.tile b.crit{color:var(--crit)}.tile em{color:var(--muted);font-size:12.5px;font-style:normal}.groupe-client{margin-bottom:14px}.groupe-client h3{margin:6px 0 4px;font-size:14px}.check-line{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.check-line input{width:auto;margin-top:3px}.facture-form{border-top:1px solid var(--rule);margin-top:8px;padding-top:12px}.facture-ligne{flex-wrap:wrap}.facture-ligne .inline-form.tight input[type=number]{flex:0 0 110px;width:110px}.facture-ligne .inline-form.tight input[type=date]{flex:0 0 140px;width:140px}.section-title{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:24px 0 10px;font-size:13px}.message{background:var(--surface-2);border-radius:6px;margin:10px 0 12px;padding:12px 14px}.message-sujet{margin-bottom:8px;font-size:14px;font-weight:600}.message-corps{font-family:var(--sans);white-space:pre-wrap;color:var(--ink);margin:0;font-size:13.5px}.card>h2{gap:12px}@media (max-width:640px){.facture-ligne .inline-form.tight{flex-wrap:wrap}.facture-ligne .inline-form.tight input,.facture-ligne .inline-form.tight select{flex:45%;width:auto}}.cockpit .page-head{margin-bottom:14px}.brief-bandeau{background:var(--accent-soft);border-radius:8px;margin-bottom:16px;padding:12px 16px}.brief-bandeau summary{cursor:pointer;font-size:14.5px;list-style-position:outside}.brief-bandeau.vide{background:var(--surface-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.brief-section{margin-top:12px}.brief-section h3{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:0 0 4px;font-size:12px}.brief-section ul{margin:0;padding-left:18px;font-size:14px}.brief-section li{margin:2px 0}details.brief summary{cursor:pointer;list-style:none}details.brief summary p{margin:6px 0 0}.recommandation{border:1px solid var(--warn);background:var(--warn-bg);color:var(--ink);border-radius:8px;margin-bottom:18px;padding:14px 18px}.recommandation p{margin:0 0 10px}.recommandation details summary{cursor:pointer;color:var(--muted);margin-top:10px;font-size:13.5px}.options{margin:8px 0 0;padding:0;list-style:none}.options li{padding:4px 0}.options .check-btn{color:var(--accent);text-align:left;font-size:13.5px}.priorites{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-bottom:18px;display:grid}.priorite{background:var(--surface);border:1px solid var(--rule);border-radius:8px;grid-template-columns:auto 1fr;gap:12px;padding:14px 16px;display:grid}.priorite.retard{border-color:var(--crit)}.rang{color:var(--accent);min-width:20px;font-size:26px;font-weight:700;line-height:1}.priorite-corps h3{letter-spacing:-.01em;margin:6px 0 4px;font-size:15.5px}.priorite-corps .badge{margin-left:0}.priorite-corps p{margin:0 0 4px}.priorite-action{grid-column:1/-1;justify-content:flex-end;display:flex}.jauge{background:var(--surface-2);border-radius:4px;height:8px;margin:2px 0 12px;overflow:hidden}.jauge-remplie{background:var(--ok);border-radius:4px;height:100%}.jauge-remplie.haute{background:var(--warn)}.jauge-remplie.pleine{background:var(--crit)}.journee{margin:0;padding:0;list-style:none}.journee li{border-bottom:1px solid var(--rule);grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:9px 0;display:grid}.journee li:last-child{border-bottom:none}.journee li.retard .item-title{color:var(--crit)}.ordre{flex-direction:column;display:flex}.ordre .check-btn{padding:0 4px;font-size:13px}.journee-corps .item-title{color:var(--ink);font-size:14.5px;text-decoration:none}.journee-meta{white-space:nowrap;align-items:center;gap:8px;display:flex}.journee-meta .check-btn{font-size:12.5px}.lien-action{text-decoration:none}.journee-pied{border-top:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding-top:10px;display:flex}.journee-pied input{flex:0 0 70px!important;width:70px!important}.reportees summary{cursor:pointer;color:var(--muted);margin-top:8px;font-size:13.5px}.reportees ul{color:var(--muted);font-size:13.5px}.warn-text{color:var(--warn)}.pied-cockpit{text-align:center;margin-top:24px}@media (max-width:640px){.priorites{grid-template-columns:1fr}.journee li{grid-template-columns:auto 1fr}.journee-meta{grid-column:2;justify-content:flex-start}.rang{font-size:22px}}.public-page{max-width:760px;margin:0 auto;padding:56px 24px 80px;line-height:1.65}.public-page h1{letter-spacing:-.02em;text-wrap:balance;margin:4px 0 12px;font-size:34px}.public-page h2{margin:32px 0 8px;font-size:18px}.public-page ul{gap:6px;padding-left:20px;display:grid}.public-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-size:12px}.public-lead{color:var(--muted);max-width:65ch;font-size:17px}.public-actions{flex-wrap:wrap;gap:10px;margin-top:32px;display:flex}.public-footer{border-top:1px solid var(--rule);color:var(--muted);margin-top:48px;padding-top:16px;font-size:13px}.login-links{margin-top:18px;font-size:13px}.agenda-jour h2{text-transform:capitalize}.agenda-jour li{align-items:center;gap:14px}.agenda-jour li.libre .item-title{color:var(--muted)}.rdv-heure{font-variant-numeric:tabular-nums;color:var(--muted);min-width:104px;font-size:13px}.rdv-client{margin-left:auto}.rdv-client input{min-width:200px}.flash{background:var(--ok-bg);color:var(--ok);border-radius:var(--radius);margin-bottom:16px;padding:10px 14px}.semaine-nav{flex-wrap:wrap}.barres{gap:8px;margin:0;padding:0;list-style:none;display:grid}.barres li{grid-template-columns:64px 1fr 72px;align-items:center;gap:10px;font-size:13px;display:grid}.barres li span:first-child{color:var(--muted);text-transform:capitalize}.barres b{text-align:right;font-variant-numeric:tabular-nums;font-weight:550}.barre{background:var(--surface-2);border-radius:4px;height:8px;overflow:hidden}.barre span{background:var(--accent);border-radius:4px;height:100%;display:block}td.crit{color:var(--crit)}.prospect .grid-2{align-items:start}.prospect details{margin-top:8px}.prospect summary{cursor:pointer;color:var(--accent);font-size:14px}.prospect-texte{white-space:pre-line}.token-box{border:1px solid var(--warn);background:var(--warn-bg)}.token{background:var(--surface);border-radius:var(--radius);word-break:break-all;-webkit-user-select:all;user-select:all;margin:10px 0 14px;padding:10px 12px;font-size:14px;display:block}.journal-detail{font-family:var(--mono);word-break:break-word;max-width:420px;font-size:12px}.conflit{border:1px solid var(--rule);border-radius:var(--radius);margin-bottom:12px;padding:12px 14px}.conflit h3{margin:0 0 8px;font-size:14px}.conflit .check-line{padding:3px 0}.conflit .check-line span{font-size:14px}td input[type=radio]{width:auto}
