:root{color-scheme:dark;font-family:Segoe UI,system-ui,sans-serif;background:#0f1f18;color:#e8f5e9}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;padding:0;background:#0f1f18}html.aap-web{padding-top:var(--sys-inset-top, 0px);padding-right:var(--sys-inset-right, 0px);padding-bottom:var(--sys-inset-bottom, 0px);padding-left:var(--sys-inset-left, 0px)}html.aap-native{padding-top:var(--sys-inset-top, 0px);padding-right:var(--sys-inset-right, 0px);padding-bottom:var(--sys-inset-bottom, 0px);padding-left:var(--sys-inset-left, 0px);background:#1a3a2a}html.aap-native body,html.aap-native #root{background:#0f1f18}button{font:inherit;cursor:pointer}.app-shell{min-height:100%;display:flex;flex-direction:column}.topbar{display:flex;gap:.5rem;padding:.75rem 1rem;background:#1a3a2a;align-items:center}.topbar h1{font-size:1rem;margin:0;flex:1}.lang-switch{display:inline-flex;gap:0;border:1px solid #2e5a40;border-radius:6px;overflow:hidden}.lang-switch button{padding:.25rem .5rem;border:none;background:#163026;color:inherit;font-size:.75rem;font-weight:600}.lang-switch button.active{background:#2e7d4f;color:#fff}.panel{padding:1rem;flex:1}.list button.row{display:block;width:100%;text-align:left;margin-bottom:.5rem;padding:.75rem 1rem;border:1px solid #2e5a40;background:#163026;color:inherit;border-radius:8px}.hint{opacity:.8;font-size:.9rem}.guidance{position:relative;flex:1;display:flex;flex-direction:column;min-height:0;background:#0a1510}.guidance svg.scene{flex:1;width:100%;min-height:60vh;touch-action:none}.side-left,.side-right{position:absolute;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:.5rem;z-index:2}.side-left{left:.5rem}.side-right{right:.5rem}.side-left button,.side-right button{width:2.75rem;height:2.75rem;border-radius:8px;border:none;background:#1a3a2aeb;color:#e8f5e9;font-weight:700}.consignes-btn{position:absolute;left:50%;bottom:.75rem;transform:translate(-50%);z-index:5;font:inherit;font-weight:700;padding:.55rem 1.1rem;border-radius:8px;border:1px solid #4caf70;background:#1a3a2af5;color:#e8f5e9}.consignes-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;display:flex;flex-direction:column;background:#0a1510;color:#e8f5e9;padding:1rem 1rem 4.5rem;box-sizing:border-box}.consignes-overlay-body{flex:1;min-height:0;overflow:auto;padding:.5rem .25rem 1rem}.consignes-text{margin:0;white-space:pre-wrap;font-size:1.15rem;line-height:1.45}.consignes-close{flex-shrink:0;font:inherit;font-weight:700;padding:.65rem 1rem;border-radius:8px;border:1px solid #2e5a40;background:#1a3a2a;color:inherit}.video-wrap{position:relative}.scan-stage{height:50vh;overflow:hidden;background:#000;border-radius:8px;touch-action:none}.scan-video-clip{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;display:flex;align-items:center;justify-content:center}.scan-video-clip video{width:100%;height:100%;max-height:none;flex:0 0 auto;object-fit:cover;background:#000;border-radius:0}.scan-focus{position:absolute;width:72px;height:72px;border:2px solid #4fc3f7;border-radius:4px;pointer-events:none;animation:scan-focus .9s ease-out forwards}@keyframes scan-focus{0%{transform:translate(-50%,-50%) scale(1.2);opacity:1}to{transform:translate(-50%,-50%) scale(.85);opacity:0}}.scan-zoom{position:absolute;left:.75rem;right:.75rem;bottom:.75rem;z-index:2;display:flex;flex-direction:column;align-items:center;gap:.5rem;color:#fff;font-weight:650}.scan-zoom select{max-width:100%;padding:.4rem .6rem;border:0;border-radius:8px;background:#0a1018d1;color:#fff;font:inherit}.scan-zoom-row{display:flex;align-items:center;gap:.75rem}.scan-zoom button{width:48px;height:48px;border:0;border-radius:24px;background:#0a1018d1;color:#fff;font-size:1.5rem;line-height:1}.scan-zoom button:disabled{opacity:.35}.error{color:#ffab91}.version{opacity:.7;font-size:.85rem;margin:0 0 .75rem}.update-row{margin:0 0 1rem}.update-row button{font:inherit;padding:.45rem .85rem;border-radius:6px;border:1px solid #4caf70;background:#1a3a2a;color:inherit;font-weight:600}.update-modal{margin-top:1rem;padding:.85rem;border:1px solid #2e5a40;border-radius:8px;background:#163026}.update-modal h3{margin:0 0 .35rem;font-size:1rem}.update-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0}.update-actions button,.update-close{font:inherit;padding:.45rem .75rem;border-radius:6px;border:1px solid #2e5a40;background:#1a3a2a;color:inherit}.update-actions button:disabled,.update-close:disabled{opacity:.55;cursor:not-allowed}.update-info{color:#9ccc65;font-size:.9rem}.toolbar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.toolbar button,.row-actions button{font:inherit;padding:.4rem .7rem;border-radius:6px;border:1px solid #2e5a40;background:#1a3a2a;color:inherit}.row-card{display:flex;align-items:stretch;gap:.4rem;margin-bottom:.5rem}.row-card .row{flex:1;margin-bottom:0}.row-actions{display:flex;flex-direction:column;justify-content:center;gap:.25rem}.qr-overlay{margin:0 0 1rem;padding:.75rem;border:1px solid #2e5a40;border-radius:8px;background:#163026;text-align:center}.qr-preview{display:block;width:min(16rem,100%);margin:.5rem auto;background:#fff;border-radius:4px}.gps-browser-notice{margin:0;padding:.4rem .75rem;font-size:.75rem;line-height:1.3;background:#3e2723;color:#ffccbc;z-index:3}
