:root{--teal:#00a94f;--emerald:#00bf56;--mint:#6fe3a4;--ink:#1c1e1c;--navy:#2f2f2f;--steel:#70766f;--line:#2f2f2f29;--danger:#b6344b;--warning:#c7771f;--radius-panel:20px;--radius-card:10px;color:var(--ink);font-synthesis:none;-webkit-font-smoothing:antialiased;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{background-color:#f6faf7;background-image:radial-gradient(680px 340px at 85% -80px,#00bf5518,#0000 65%),radial-gradient(540px 300px at -60px 30%,#6fe3a414,#0000 60%),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;min-width:320px}button,input,select,textarea{font:inherit;color:inherit}.shell{width:min(100% - 24px,660px);padding:max(16px, env(safe-area-inset-top)) 0 40px;margin:0 auto}.topbar{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.brand{align-items:center;gap:10px;min-width:0;display:flex}.brand-logo{object-fit:contain;width:auto;max-width:38vw;height:36px;display:block}.badge-terrain{color:#fff;letter-spacing:.05em;text-transform:uppercase;background:linear-gradient(135deg, var(--teal), var(--emerald));border-radius:999px;padding:3px 11px;font-size:.74rem;font-weight:760;box-shadow:0 4px 12px #00a94f42}.employee-chip{border:1px solid var(--line);cursor:pointer;background:linear-gradient(155deg,#ffffffd9,#ffffff96);border-radius:999px;flex-shrink:1;align-items:center;gap:8px;min-width:0;max-width:52%;padding:6px 12px 6px 6px;transition:transform .16s,box-shadow .16s;display:flex;box-shadow:inset 0 1px #ffffffe6,0 4px 14px #2f2f2f14}.employee-chip:hover{transform:translateY(-1px);box-shadow:inset 0 1px #ffffffe6,0 8px 20px #2f2f2f1f}.employee-chip .avatar{color:#fff;text-transform:uppercase;background:linear-gradient(135deg, var(--teal), var(--emerald));border-radius:999px;place-items:center;width:28px;height:28px;font-size:.82rem;font-weight:750;display:grid}.employee-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.9rem;font-weight:680;overflow:hidden}.change-hint{color:var(--teal);font-size:.76rem;font-weight:650}.syncbar{color:#056138;overflow-wrap:anywhere;background:#eafaf1;border:1px solid #00a94f2e;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;padding:9px 14px;font-size:.84rem;display:flex}.syncbar.warning{color:#8a5310;background:#fdf3e3;border-color:#c7771f38}.syncbar small{text-align:right;opacity:.82}.sync-state{align-items:center;gap:7px;font-weight:650;display:flex}.dot{background:#b6344b;border-radius:999px;width:9px;height:9px}.dot.online{background:var(--emerald);animation:2.4s infinite pulse;box-shadow:0 0 0 4px #00bf5626}@keyframes pulse{50%{box-shadow:0 0 0 7px #00bf5612}}.toast{z-index:30;color:#fff;text-align:center;background:linear-gradient(135deg, var(--teal), var(--emerald));border-radius:13px;margin-bottom:14px;padding:13px 18px;font-weight:700;position:sticky;top:10px;box-shadow:0 14px 34px #00a94f52}.steps{gap:6px;margin:0 0 14px;display:flex}.step-dot{text-align:center;color:var(--steel);letter-spacing:.01em;border:1px solid var(--line);background:#ffffff8f;border-radius:999px;flex:1;padding:7px 4px;font-size:.74rem;font-weight:700;transition:background .25s,color .25s}.step-dot.active{color:#fff;background:linear-gradient(135deg, var(--teal), var(--emerald));border-color:#0000;box-shadow:0 6px 16px #00a94f42}.step-dot.done{color:var(--teal);background:#eafaf1;border-color:#00a94f2e}.card{overflow-wrap:anywhere;border:1px solid var(--line);border-radius:var(--radius-panel);background:linear-gradient(155deg,#ffffffd6,#ffffffa8);max-width:100%;padding:24px;box-shadow:inset 0 1px #ffffffe6,0 18px 50px #2f2f2f17,0 5px 18px #1418140f}.card.loading{color:var(--steel);align-items:center;gap:12px;font-weight:650;display:flex}.spinner{border:3px solid #00a94f30;border-top-color:var(--teal);border-radius:999px;width:22px;height:22px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}h1{letter-spacing:-.02em;margin:4px 0 18px;font-size:clamp(1.4rem,5.4vw,1.85rem)}label{margin:15px 0 6px;font-size:.92rem;font-weight:700;display:block}.hint{color:var(--steel);margin:8px 0 0;font-size:.86rem}.location{color:#056138;text-align:left;overflow-wrap:anywhere;background:#eafaf1;border:1px solid #00a94f2e;border-radius:18px;flex-wrap:wrap;align-items:center;gap:8px;max-width:100%;margin:0 0 4px;padding:8px 14px;font-size:.9rem;font-weight:700;display:inline-flex}button.location{cursor:pointer;transition:transform .14s,box-shadow .14s}button.location:hover{transform:translateY(-1px);box-shadow:0 6px 16px #00a94f2e}.loc-change{color:#fff;background:linear-gradient(135deg, var(--teal), var(--emerald));border-radius:999px;padding:2px 9px;font-size:.72rem;font-weight:750}input,select,textarea{border-radius:var(--radius-card);background:#fff;border:1.5px solid #2f2f2f24;width:100%;min-height:50px;padding:12px 14px;transition:border-color .18s,box-shadow .18s}textarea{resize:vertical;min-height:64px}input:focus,select:focus,textarea:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 4px #00a94f24}input:disabled{color:var(--steel);background:#f1f4f1}.two-cols{grid-template-columns:1fr 1fr;gap:0 14px;display:grid}button.primary{cursor:pointer;color:#fff;letter-spacing:.01em;background:linear-gradient(135deg, var(--teal), var(--emerald));border:0;border-radius:13px;width:100%;min-height:52px;margin-top:22px;padding:12px 16px;font-size:1.02rem;font-weight:760;transition:transform .16s,box-shadow .16s,filter .16s;box-shadow:0 10px 26px #00a94f47,inset 0 1px #ffffff4d}button.primary:hover:not(:disabled){filter:brightness(1.04);transform:translateY(-2px);box-shadow:0 16px 34px #00a94f57,inset 0 1px #ffffff4d}button.primary:active:not(:disabled){transform:translateY(0)}button.primary:disabled{color:#8b938b;box-shadow:none;cursor:not-allowed;background:#e4e9e4}.back{width:auto;min-height:40px;color:var(--teal);cursor:pointer;background:0 0;border:0;margin:0 0 4px;padding:6px 0;font-weight:700}.back:hover{text-decoration:underline}.status{overflow-wrap:anywhere;border-radius:12px;gap:6px;margin-bottom:12px;padding:14px 16px;display:grid}.status.error{color:#8f1f33;background:#fdeef1;border:1px solid #b6344b2e}.field-error{color:var(--danger);margin:6px 0 0;font-size:.88rem;font-weight:650;display:block}.suggest-wrap{position:relative}.suggest{z-index:20;border:1px solid var(--line);background:#fff;border-radius:12px;max-height:264px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 18px 44px #2f2f2f2b}.suggest li button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;flex-direction:column;gap:2px;width:100%;padding:10px 12px;transition:background .12s;display:flex}.suggest li button:hover{background:#eafaf1}.suggest li button strong{font-size:.93rem}.suggest li button span{color:var(--steel);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.82rem;overflow:hidden}.suggest li button.create{color:var(--teal);font-weight:750}.tags-field{border-radius:var(--radius-card);background:#fff;border:1.5px solid #2f2f2f24;flex-wrap:wrap;align-items:center;gap:7px;min-height:54px;padding:8px 10px;transition:border-color .18s,box-shadow .18s;display:flex}.tags-field.focused{border-color:var(--teal);box-shadow:0 0 0 4px #00a94f24}.tag{color:#045232;background:linear-gradient(135deg,#d9f6e6,#c3f0d8);border:1px solid #00a94f38;border-radius:999px;align-items:center;gap:6px;padding:6px 8px 6px 12px;font-size:.88rem;font-weight:700;animation:.18s tag-in;display:inline-flex}@keyframes tag-in{0%{opacity:0;transform:scale(.85)}}.tag-remove{color:#045232;cursor:pointer;background:#00a94f22;border:0;border-radius:999px;place-items:center;width:20px;height:20px;padding:0;font-size:.95rem;line-height:1;transition:background .14s;display:grid}.tag-remove:hover{background:var(--danger);color:#fff}.tag-input{background:0 0;border:0;flex:1;min-width:130px;min-height:34px;padding:4px 6px}.tag-input:focus{box-shadow:none;outline:none}.grid-table{border:1px solid var(--line);background:#fff;border-radius:14px;margin-top:14px;overflow:hidden}.grid-head,.grid-row{grid-template-columns:1.3fr 1fr 1fr 1fr;align-items:center;gap:10px;padding:10px 14px;display:grid}.grid-head{color:#056138;text-transform:uppercase;letter-spacing:.04em;background:linear-gradient(135deg,#eafaf1,#dff5e9);font-size:.82rem;font-weight:750}.grid-row{border-top:1px solid #2f2f2f14;transition:background .15s}.grid-row:hover{background:#f6fdf9}.grid-row.closed{opacity:.75;background:#f6f6f6}.grid-row input{min-height:44px;padding:8px 10px}.variant-name{flex-direction:column;gap:4px;font-size:.95rem;font-weight:750;display:flex}.badge{color:#056138;background:#eafaf1;border:1px solid #00a94f2e;border-radius:999px;align-self:flex-start;padding:2px 9px;font-size:.72rem;font-weight:700}.badge.closed-badge{color:var(--danger);background:#fdeef1;border-color:#b6344b2e}.grid-row span[data-label]:before{content:none}@media (max-width:560px){.grid-head{display:none}.grid-row{grid-template-columns:1fr 1fr;gap:8px;padding:14px}.variant-name{flex-direction:row;grid-column:1/-1;align-items:center;gap:8px}.grid-row span[data-label]{flex-direction:column;gap:3px;display:flex}.grid-row span[data-label]:before{content:attr(data-label);color:var(--steel);font-size:.74rem;font-weight:700;display:block}.grid-row span[data-label="Quantité *"]{grid-column:1/-1}.two-cols{grid-template-columns:1fr}}@media (max-width:420px){.shell{width:min(100% - 14px,660px)}.card{padding:17px}.syncbar{flex-direction:column;align-items:flex-start}.syncbar small{text-align:left}.employee-chip .change-hint{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
