*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{background:#1a1a2e;color:#e8e8f0;font-family:system-ui,sans-serif;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.screen{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem}.logo{width:96px;height:96px}.picto{font-size:3.5rem;letter-spacing:.5rem}.muted{opacity:.6}.target-name{font-size:2rem;text-align:center;padding:0 1rem}.big-check{width:min(70vw,320px);height:min(70vw,320px);border-radius:50%;border:none;background:#3dba6f;color:#fff;font-size:min(35vw,160px);line-height:1;cursor:pointer}.incident-btn{width:96px;height:96px;border-radius:24px;border:none;background:#e0a13d;font-size:3rem;cursor:pointer}.giant-ok{font-size:9rem;color:#3dba6f}.giant-err{font-size:9rem;color:#e05d5d}.spin{animation:pulse 1s infinite alternate}@keyframes pulse{0%{opacity:.4}to{opacity:1}}.pin-dots{display:flex;gap:1rem;min-height:1.5rem}.dot{width:1.25rem;height:1.25rem;border-radius:50%;border:2px solid #e8e8f0}.dot.filled{background:#e8e8f0}.dot.error{border-color:#e05d5d}.shake{animation:shake .3s}@keyframes shake{25%{transform:translate(-8px)}75%{transform:translate(8px)}}.pin-pad{display:grid;grid-template-columns:repeat(3,76px);gap:.75rem}.pin-key{height:76px;border-radius:16px;border:none;background:#2c2c48;color:#e8e8f0;font-size:1.75rem;cursor:pointer}.pin-key.ok{background:#3dba6f}.pin-key:disabled{opacity:.35}.staff-page{padding:1rem;max-width:720px;margin:0 auto}.staff-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.staff-header h1{font-size:1.4rem;flex:1}.staff-header input[type=date],.staff-form input{background:#2c2c48;color:#e8e8f0;border:1px solid #44446a;border-radius:8px;padding:.5rem .75rem;font-size:1rem}.link{background:none;border:none;color:#9c9cc9;cursor:pointer}.staff-form{display:flex;flex-direction:column;gap:.75rem;width:min(90vw,320px)}.staff-form h1{font-size:1.3rem;text-align:center;margin-bottom:.5rem}.staff-form button{background:#3dba6f;border:none;border-radius:8px;padding:.6rem;font-size:1rem;color:#fff;cursor:pointer}.form-error{color:#e05d5d}.or-divider{display:flex;align-items:center;gap:.75rem;color:#9c9cc9;font-size:.85rem}.or-divider:before,.or-divider:after{content:"";flex:1;height:1px;background:#44446a}.google-btn{display:flex;align-items:center;justify-content:center;gap:.6rem;background:#fff;color:#1a1a2e;border:none;border-radius:8px;padding:.6rem;font-size:1rem;cursor:pointer}.google-btn:disabled{opacity:.5}.unit-card{background:#23233c;border-radius:12px;padding:.75rem 1rem;margin-bottom:.75rem}.unit-head{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.unit-head h2{font-size:1.1rem}.space-row{display:flex;align-items:center;gap:.75rem;padding:.4rem 0 0 1rem;flex-wrap:wrap}.space-name{min-width:8rem;opacity:.85}.task-row{display:inline-flex;align-items:center;gap:.4rem;flex-wrap:wrap}.task-chip{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.15rem .6rem;font-size:.85rem}.status-a_faire{background:#5a3d3d}.status-faite{background:#55552e}.status-controlee_ok{background:#2e5540}.status-controlee_corrigee{background:#2e4d55}.chip-btn{background:#ffffff26;border:none;border-radius:50%;width:1.5rem;height:1.5rem;color:#e8e8f0;cursor:pointer;font-size:.8rem}.chip-btn.add{background:#2c2c48}.task-row select{background:#2c2c48;color:#e8e8f0;border:1px solid #44446a;border-radius:8px;padding:.2rem}.incident{gap:1.25rem;padding:1rem}.target-name.small{font-size:1.3rem}.zone{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;justify-content:center}.zone-btn{width:96px;height:96px;border-radius:24px;border:none;background:#2c2c48;font-size:3rem;cursor:pointer}.zone-btn.recording{background:#e05d5d;animation:pulse .8s infinite alternate}.thumbs{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}.thumb{width:64px;height:64px;border-radius:12px;overflow:hidden;border:2px solid #44446a;padding:0;background:none;cursor:pointer}.thumb.big{width:120px;height:120px;display:block}.thumb img{width:100%;height:100%;object-fit:cover}.icon-grid{display:grid;grid-template-columns:repeat(3,84px);gap:.75rem}.icon-cell{height:84px;border-radius:16px;border:2px solid transparent;background:#2c2c48;font-size:2.2rem;cursor:pointer}.icon-cell.selected{border-color:#3dba6f;background:#24402f}.incident-actions{display:flex;gap:1.5rem;align-items:center}.send-btn{width:120px;height:76px;border-radius:16px;border:none;background:#3dba6f;color:#fff;font-size:2rem;cursor:pointer}.send-btn:disabled{opacity:.35}.giant-err.small{font-size:3rem}.tabs{display:flex;gap:.5rem;margin-bottom:1rem}.tab{background:#23233c;border:none;border-radius:999px;color:#9c9cc9;padding:.4rem .9rem;cursor:pointer}.tab.active{background:#3dba6f;color:#fff}.ticket-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}.ticket-row{display:flex;align-items:center;gap:.75rem;width:100%;background:#23233c;border:none;border-radius:12px;color:#e8e8f0;padding:.7rem 1rem;cursor:pointer;text-align:left}.ticket-row .glyph{font-size:1.5rem}.ticket-main{flex:1;display:flex;flex-direction:column}.ticket-summary{opacity:.7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:40ch}.urgency{border-radius:999px;padding:.1rem .6rem;font-size:.8rem}.u-high{background:#5a3d3d}.u-medium{background:#55552e}.u-low{background:#2e5540}.u-none{background:#2c2c48}.empty{padding:1rem}.ticket-detail{background:#23233c;border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.75rem;align-items:flex-start}.ticket-text{background:#2c2c48;border-radius:8px;padding:.6rem .8rem}.action-btn{background:#3dba6f;border:none;border-radius:8px;color:#fff;padding:.6rem 1rem;font-size:1rem;cursor:pointer}.action-btn.secondary{background:#44446a}.action-btn:disabled{opacity:.5}.qualify-form{display:flex;flex-direction:column;gap:.6rem;width:min(100%,360px)}.qualify-form select,.qualify-form textarea{background:#2c2c48;color:#e8e8f0;border:1px solid #44446a;border-radius:8px;padding:.5rem;font-size:1rem;font-family:inherit}.qualify-form .row{display:flex;gap:1rem;align-items:center;justify-content:space-between}.queue-badge{position:fixed;top:1rem;right:1rem;background:#e0a13d;color:#1a1a2e;font-size:1.25rem;font-weight:700;padding:.5rem 1rem;border-radius:999px}
