@import url("https://fonts.googleapis.com/css2?family=Syne:wght@500;700;800&family=Manrope:wght@400;500;700&display=swap");:root{--bg:#f6f7f4;--bg-soft:#ecefe8;--ink:#142013;--ink-muted:#4b5b4f;--brand:#0d6a42;--brand-2:#d37f2f;--surface:#fff;--surface-glass:hsla(0,0%,100%,.84);--border:#d3dccc;--danger:#c03f2f;--radius:16px;--shadow:0 20px 60px rgba(20,32,19,.14)}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%}body{font-family:Manrope,sans-serif;color:var(--ink);background:radial-gradient(circle at 15% 20%,rgba(13,106,66,.14),transparent 36%),radial-gradient(circle at 84% 8%,rgba(211,127,47,.17),transparent 28%),linear-gradient(120deg,var(--bg) 0,#f9f7f2 42%,var(--bg-soft) 100%)}a{color:inherit;text-decoration:none}.page-shell{max-width:1160px;margin:0 auto;padding:32px 18px 72px}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:1000;display:flex;justify-content:space-between;align-items:center;padding:10px 18px;background:hsla(80,16%,96%,.78);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid hsla(94,19%,83%,.7)}.brand-topbar{display:inline-flex;align-items:center;gap:10px;padding:4px 8px;border-radius:12px;transition:background-color .18s ease}.brand-topbar:hover{background:hsla(0,0%,100%,.6)}.brand-logo{height:36px;width:auto;display:block}.brand-topbar-text{font-family:Syne,sans-serif;font-weight:700;font-size:1rem;letter-spacing:-.01em;color:var(--ink)}.account-menu{position:relative}.account-trigger{border:1px solid var(--border);background:#f8fbf6;color:var(--ink);border-radius:999px;padding:8px 12px;display:inline-flex;align-items:center;gap:8px;font-weight:700;cursor:pointer}.account-dot{width:8px;height:8px;border-radius:999px;background:#2f7d52;box-shadow:0 0 0 4px rgba(47,125,82,.14)}.account-dropdown{position:absolute;right:0;top:calc(100% + 8px);background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:8px;box-shadow:0 12px 24px rgba(0,0,0,.12);z-index:1100}.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(13,106,66,.96),rgba(11,73,47,.94));color:#f2f7f0;border-radius:calc(var(--radius) + 8px);padding:28px;box-shadow:var(--shadow);animation:rise .52s ease}.hero:after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:999px;background:radial-gradient(circle at 35% 35%,rgba(236,174,98,.8),rgba(211,127,47,.18));filter:blur(1px)}.title{margin:0;font-family:Syne,sans-serif;line-height:1;letter-spacing:-.02em;font-weight:800;font-size:clamp(1.7rem,2.8vw,2.75rem)}.subtitle{margin:10px 0 0;max-width:70ch;color:rgba(242,247,240,.9)}.toolbar{margin-top:20px;display:flex;flex-wrap:wrap;gap:10px}.btn{border:0;border-radius:12px;font-weight:700;font-family:Manrope,sans-serif;padding:12px 16px;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{color:#103523;background:linear-gradient(135deg,#e5f5da,#c8eabf);box-shadow:0 8px 18px rgba(7,26,16,.22)}.btn-secondary{color:#f8faf7;background:rgba(248,250,247,.12);border:1px solid rgba(248,250,247,.24)}.btn-neutral{color:var(--ink);background:#f1f5ec;border:1px solid var(--border)}.btn-danger{color:#fff5f3;background:var(--danger)}.panel{margin-top:18px;background:var(--surface-glass);border:1px solid hsla(94,19%,83%,.8);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius);box-shadow:0 14px 28px rgba(17,30,18,.08);padding:18px;animation:rise .56s ease}.grid{display:grid;grid-gap:14px;gap:14px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.field{display:grid;grid-gap:7px;gap:7px}.field label,.label{color:var(--ink-muted);font-size:.9rem;font-weight:700}.input,.select,.textarea{width:100%;border-radius:12px;border:1px solid var(--border);background:#fbfcfa;color:var(--ink);font:inherit;padding:11px 12px;outline:none;transition:border-color .16s ease,box-shadow .16s ease}.textarea{min-height:110px;resize:vertical}.input:focus,.select:focus,.textarea:focus{border-color:#6ea083;box-shadow:0 0 0 3px rgba(110,160,131,.16)}.products{list-style:none;margin:0;padding:0;display:grid;grid-gap:12px;gap:12px}.product-card{border:1px solid var(--border);border-radius:14px;background:linear-gradient(120deg,#fff,#f7faf4);padding:14px;display:flex;justify-content:space-between;align-items:center;gap:12px;animation:rise .52s ease both}.products-card-mode{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.product-card-compact{flex-direction:column;align-items:stretch}.product-content{display:grid;grid-template-columns:148px 1fr;grid-gap:12px;gap:12px;width:100%;align-items:center}.product-image-wrap{height:108px;border-radius:12px;overflow:hidden;border:1px solid var(--border);background:#edf2ea}.product-main-image{width:100%;height:100%;object-fit:cover;display:block}.product-no-image{height:100%;display:grid;place-items:center;color:var(--ink-muted);font-size:.85rem}.product-meta{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.pill{border-radius:999px;font-size:.78rem;padding:5px 9px;font-weight:700;background:#e8f0e5;color:#284235}.price{font-family:Syne,sans-serif;font-size:1.2rem}.split{grid-template-columns:1.5fr 1fr}.split,.stack{display:grid;grid-gap:16px;gap:16px}.thumb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:10px;gap:10px}.thumb{width:100%;height:112px;border-radius:12px;object-fit:cover;border:1px solid var(--border)}.empty{border:1px dashed #b8c6b6;border-radius:12px;padding:16px;color:#657563;text-align:center}.section-title{margin:0 0 12px;font-family:Syne,sans-serif;font-size:1.1rem}.list-clean{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.list-item{border:1px solid var(--border);border-radius:11px;padding:10px;background:#fbfcfa}.list-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.thumb-card{display:grid;grid-gap:8px;gap:8px}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:22px}.auth-card{width:min(480px,100%);background:var(--surface-glass);border:1px solid hsla(94,19%,83%,.8);border-radius:calc(var(--radius) + 4px);box-shadow:var(--shadow);padding:24px;animation:rise .56s ease}.auth-brand{display:flex;align-items:center;gap:14px;margin-bottom:12px}.auth-logo{height:56px;width:auto;display:block}.auth-brand-kicker{margin:0;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand)}.auth-title{margin:0;font-family:Syne,sans-serif;font-size:2rem;letter-spacing:-.02em}.hint{margin:8px 0 20px;color:var(--ink-muted)}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.kpi-card{border-radius:14px;border:1px solid var(--border);background:#fbfdf9;padding:14px}.kpi-label{margin:0;color:var(--ink-muted);font-size:.85rem;font-weight:700}.kpi-value{margin:6px 0 0;font-family:Syne,sans-serif;font-size:1.7rem;line-height:1}.status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.status-card{border-radius:12px;padding:10px;border:1px solid var(--border);background:#fff}.status-label{color:var(--ink-muted);font-size:.8rem;font-weight:700;margin:0}.status-value{margin:4px 0 0;font-size:1.1rem;font-family:Syne,sans-serif}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;min-width:760px}.table td,.table th{text-align:left;border-bottom:1px solid var(--border);padding:10px 8px;font-size:.93rem}.table th{color:var(--ink-muted);font-weight:700}.chip{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:.77rem;font-weight:700}.chip-clickable{border:0;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}.chip-clickable:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(0,0,0,.12)}.chip-attente{background:#fff4dd;color:#885300}.chip-valider{background:#e5f6ea;color:#1f6a35}.chip-annuler{background:#fde9e5;color:#8f2e22}.chip-terminer{background:#e8edf2;color:#3a4b5c}.chip-pub{background:#e5f6ea;color:#1f6a35}.chip-nonpub{background:#edf0f3;color:#3d4954}.chip-location{background:#fff4dd;color:#885300}.toast-stack{position:fixed;top:14px;right:14px;display:grid;grid-gap:8px;gap:8px;z-index:1200}.toast{border-radius:10px;padding:10px 12px;font-weight:700;box-shadow:0 10px 22px rgba(0,0,0,.16);animation:rise .28s ease}.toast-success{background:#daf2df;color:#1f6a35;border:1px solid #acd3b7}.toast-error{background:#fee7e3;color:#8f2e22;border:1px solid #f4b3a8}input[type=checkbox]{width:16px;height:16px;accent-color:#2f7d52}.actions{display:flex;gap:8px}.filter-row{display:grid;grid-template-columns:1fr 200px;grid-gap:10px;gap:10px}.toggle-row{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.check-item{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--ink-muted)}.product-filter-row{display:grid;grid-template-columns:1.6fr 1fr 1fr auto;grid-gap:10px;gap:10px;margin-bottom:14px}.modal-backdrop{position:fixed;inset:0;background:rgba(15,22,15,.36);display:grid;place-items:center;z-index:1300;padding:16px;overflow-y:auto}.modal-card{width:min(520px,100%);background:#fff;border:1px solid var(--border);border-radius:16px;padding:18px;box-shadow:0 22px 42px rgba(0,0,0,.24);animation:rise .22s ease;max-height:calc(100vh - 32px);overflow-y:auto}.detail-box{border:1px solid var(--border);border-radius:12px;padding:10px 12px;background:#fbfcfa;min-height:46px}.link-inline{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:0;font:inherit;color:#1f6a35;font-weight:700;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.link-inline:hover{color:#164e28}.mini-action{margin-left:8px;padding:2px 8px;border:1px solid var(--border);border-radius:999px;background:#f4f7f2;color:#26422f;font-size:12px;font-weight:700;cursor:pointer}.mini-action:hover{background:#e8efe7}.modal-actions-sticky{position:-webkit-sticky;position:sticky;bottom:-18px;padding:10px 0 0;background:linear-gradient(180deg,hsla(0,0%,100%,0),#fff 36%)}@media (max-width:900px){.filter-row,.kpi-grid,.product-filter-row,.status-grid{grid-template-columns:1fr 1fr}}@media (max-width:600px){.filter-row,.kpi-grid,.product-filter-row,.status-grid{grid-template-columns:1fr}.brand-topbar-text{display:none}.brand-logo{height:32px}.auth-brand{align-items:flex-start}.auth-logo{height:48px}}@keyframes rise{0%{opacity:0;transform:translateY(14px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:900px){.grid-2,.grid-3,.split{grid-template-columns:1fr}.hero{padding:20px}.product-card{flex-direction:column;align-items:flex-start}.product-content{grid-template-columns:1fr}}