:root{--ground: #f2f4f6;--surface: #ffffff;--surface-2: #f7f9fb;--ink: #131a21;--muted: #5a6875;--faint: #8b98a5;--line: #d8dee5;--line-fort: #c2cbd4;--accent: #14508f;--on-accent: #ffffff;--accent-soft: #e6eef8;--ok: #0c6b52;--ok-soft: #dcf0e9;--warn: #8a5300;--warn-soft: #fbeed4;--danger: #9d2b33;--danger-soft: #f9e4e6}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--ground: #0e1317;--surface: #161c22;--surface-2: #1c242b;--ink: #e6ecf1;--muted: #97a4b0;--faint: #6d7b87;--line: #262f37;--line-fort: #34404a;--accent: #78a8e8;--on-accent: #0e1317;--accent-soft: #1a2837;--ok: #55c9a5;--ok-soft: #14302a;--warn: #dda94f;--warn-soft: #332a17;--danger: #e08a92;--danger-soft: #3a1c20}}:root[data-theme=dark]{--ground: #0e1317;--surface: #161c22;--surface-2: #1c242b;--ink: #e6ecf1;--muted: #97a4b0;--faint: #6d7b87;--line: #262f37;--line-fort: #34404a;--accent: #78a8e8;--on-accent: #0e1317;--accent-soft: #1a2837;--ok: #55c9a5;--ok-soft: #14302a;--warn: #dda94f;--warn-soft: #332a17;--danger: #e08a92;--danger-soft: #3a1c20}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--ground);color:var(--ink);font-family:Archivo,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.4;-webkit-font-smoothing:antialiased}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.6}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.app{height:100%;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:14px;padding:0 16px;background:var(--surface);border-bottom:1px solid var(--line-fort);overflow-x:auto;-webkit-overflow-scrolling:touch;position:sticky;top:env(safe-area-inset-top,0px);z-index:5}.logo{font-family:IBM Plex Mono,ui-monospace,monospace;font-weight:600;font-size:13px;letter-spacing:.14em;color:var(--accent);padding:12px 0;flex:none}.tabs{display:flex;gap:2px;flex:none}.tabs button{background:none;border:0;padding:12px 11px 10px;font-size:13.5px;font-weight:500;color:var(--muted);border-bottom:2px solid transparent;white-space:nowrap}.tabs button.on{color:var(--ink);font-weight:600;border-bottom-color:var(--accent)}main{flex:1;overflow-y:auto;padding:12px 16px calc(24px + env(safe-area-inset-bottom,0px));max-width:1200px;width:100%;margin:0 auto}.deconnexion{margin-left:auto;flex:none;white-space:nowrap}.login{min-height:100%;display:flex;align-items:center;justify-content:center;padding:16px}.login-carte{width:100%;max-width:340px;display:flex;flex-direction:column;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:16px 20px 20px}.login-carte .logo{padding:0 0 4px}.login-carte .bandeau{margin-bottom:0}.login-carte .champ{flex:none}.bandeau{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger);border-radius:8px;padding:8px 12px;margin-bottom:10px;font-size:13px;font-weight:500}.bandeau .lien{color:var(--danger)}.etat{text-align:center;color:var(--faint);padding:40px 10px}.ouvrir{display:none;width:100%;margin-bottom:10px;background:var(--accent);border:1px solid var(--accent);color:var(--on-accent);border-radius:8px;padding:11px;font-size:14.5px;font-weight:600}.quickadd{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:10px 12px 12px;margin-bottom:12px}.qa-fields{display:flex;flex-wrap:wrap;gap:8px 10px}.champ{display:flex;flex-direction:column;gap:3px;flex:1 1 150px;min-width:130px}.champ>span{font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.champ input,.champ select{background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:9px 8px;font-size:16px;width:100%}.champ input::placeholder{color:var(--faint)}.qa-foot{display:flex;align-items:center;gap:12px;margin-top:10px;flex-wrap:wrap}.qa-note{font-size:12px;color:var(--faint)}.btn{background:var(--surface-2);border:1px solid var(--line-fort);border-radius:6px;padding:8px 13px;font-size:13.5px;font-weight:600;white-space:nowrap}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}.search{flex:1 1 220px;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:9px 10px;font-size:16px}.chips{display:flex;gap:4px;flex-wrap:wrap}.chip{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:500;color:var(--muted);white-space:nowrap}.chip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:8px}table{width:100%;border-collapse:collapse;font-size:13.5px}thead th{position:sticky;top:0;z-index:1;background:var(--surface-2);text-align:left;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);padding:8px 10px;border-bottom:1px solid var(--line-fort);white-space:nowrap}tbody td{padding:7px 10px;border-bottom:1px solid var(--line);vertical-align:top}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:var(--surface-2)}tbody tr.cliquable{cursor:pointer}tfoot td{padding:8px 10px;border-top:1px solid var(--line-fort);background:var(--surface-2);font-size:12.5px;color:var(--muted)}th.num,td.num{text-align:right;white-space:nowrap}td.actions{text-align:right;white-space:nowrap;color:var(--faint)}.liste{display:none;background:var(--surface);border:1px solid var(--line);border-radius:8px}.m-row{padding:10px 12px;border-bottom:1px solid var(--line)}.m-row:last-child{border-bottom:0}.m-row.cliquable{cursor:pointer}.m-line{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-width:0}.m-line+.m-line{margin-top:3px}.m-line>span:first-child{min-width:0;overflow-wrap:anywhere}.m-sec{font-size:12.5px;color:var(--muted)}.m-pied{padding:9px 12px;border-top:1px solid var(--line-fort);background:var(--surface-2);font-size:12.5px;color:var(--muted);display:flex;justify-content:space-between;gap:10px}.mono{font-family:IBM Plex Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums}.fort{font-weight:600}.secondaire{color:var(--muted)}.vide{text-align:center;color:var(--faint);padding:22px 10px}.lien{background:none;border:0;padding:2px 4px;font-size:12.5px;font-weight:600;color:var(--accent)}.lien.danger{color:var(--danger)}.lien:disabled{color:var(--faint);opacity:1}.statut{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.03em;padding:2px 7px;border-radius:4px;white-space:nowrap}.statut.loue{background:var(--ok-soft);color:var(--ok)}.statut.reserve{background:var(--accent-soft);color:var(--accent)}.statut.terminee,.statut.libre{background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}.alerte{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11.5px;font-weight:600;color:var(--warn);background:var(--warn-soft);padding:1px 5px;border-radius:4px;margin-left:5px}.lien-ajout{background:none;border:0;padding:4px 2px;font-size:13px;font-weight:600;color:var(--accent);white-space:nowrap}.lien-ajout:hover{text-decoration:underline}.retour{background:none;border:0;padding:2px 0 10px;font-size:13px;font-weight:600;color:var(--accent)}.fiche-tete{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.fiche-tete .plaque{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:20px;font-weight:600;letter-spacing:.04em}.fiche-sous{color:var(--muted);font-size:13.5px;margin:2px 0 12px}.meta{background:var(--surface);border:1px solid var(--line);border-radius:8px;margin-bottom:20px}.meta-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 12px;border-bottom:1px solid var(--line)}.meta-row:last-child{border-bottom:0}.meta-row>span:first-child{font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);flex:none}.meta-row>span:last-child{text-align:right}.section-tete{display:flex;align-items:center;gap:10px;margin-bottom:8px}.bascule{flex:1;min-width:0;display:flex;align-items:baseline;gap:8px;background:none;border:0;padding:6px 0;text-align:left}.bascule h2{margin:0;font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.bascule:hover h2{color:var(--ink)}.bascule .fleche{color:var(--faint);font-size:10px;flex:none;width:9px;line-height:1.6}.bascule .compte{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11.5px;color:var(--faint)}.section+.section{margin-top:22px}.zone-danger{margin-top:26px;text-align:center}.fiche .quickadd{display:block}@media(max-width:700px){main{padding:10px 12px calc(24px + env(safe-area-inset-bottom,0px))}.table-wrap{display:none}.liste,.ouvrir{display:block}.quickadd{display:none}.quickadd.ouvert{display:block}.champ{flex:1 1 100%}.champ.demi{flex:1 1 calc(50% - 5px);min-width:0}.toolbar{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px}.toolbar .search{flex:1 0 60%}.chips{flex-wrap:nowrap}.qa-note{display:none}.fiche-tete .plaque{font-size:18px}}@media(max-width:460px){.logo{display:none}}@media(min-width:701px){.champ input,.champ select,.search{font-size:14px}}
