:root{--color-bg:#f6f8f6;--color-surface:#fff;--color-border:#e4e9e6;--color-primary:#2d6a4f;--color-primary-dark:#245a40;--color-primary-light:#e8f4ee;--color-text:#1a1e1b;--color-text-muted:#6b7a72;--color-error:#dc2626;--color-error-bg:#fef2f2;--color-success:#16a34a;--color-success-bg:#f0fdf4;--header-height:60px;--sidebar-width:240px;--radius:10px;--radius-sm:6px;--shadow-sm:0 1px 3px #00000014, 0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000014, 0 2px 4px #0000000a;--font:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--transition:.15s ease;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--text-xs:11px;--text-sm:13px;--text-md:15px;--text-lg:19px;--radius-md:10px;--color-danger:var(--color-error);--color-danger-soft:var(--color-error-bg);--color-border-soft:#eef2ef;--color-surface-alt:#f1f4f2;--color-warning:#b45309}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;font-size:14px}.app-layout{flex-direction:column;height:100vh;display:flex;overflow:hidden}.app-header{height:var(--header-height);background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm);z-index:100;flex-shrink:0;justify-content:space-between;align-items:center;padding:0 20px;display:flex}.header-logo-link{cursor:pointer;align-items:center;display:inline-flex}.header-logo{object-fit:contain;height:30px}.header-right{align-items:center;gap:12px;display:flex}.user-badge{align-items:center;gap:8px;display:flex}.user-avatar{background:var(--color-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:600;display:flex}.username-text{color:var(--color-text);font-size:13px;font-weight:500}.logout-btn{border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-muted);transition:background var(--transition), color var(--transition);background:0 0;border:none;align-items:center;padding:6px;display:flex}.logout-btn:hover{background:var(--color-bg);color:var(--color-text)}.app-body{flex:1;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-width);background:var(--color-surface);border-right:1px solid var(--color-border);flex-shrink:0;padding:16px 10px;overflow-y:auto}.sidebar-nav{flex-direction:column;gap:2px;display:flex}.nav-item{border-radius:var(--radius-sm);color:var(--color-text-muted);transition:background var(--transition), color var(--transition);align-items:center;gap:10px;padding:9px 12px;font-size:13px;font-weight:500;text-decoration:none;display:flex}.nav-item:hover{background:var(--color-bg);color:var(--color-text)}.nav-item.active{background:var(--color-primary-light);color:var(--color-primary)}.content-area{flex:1;padding:28px 32px;overflow-y:auto}.burger{border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text);background:0 0;border:none;margin-right:6px;padding:6px;display:none}.header-left{align-items:center;display:flex}.sidebar-user,.sidebar-backdrop{display:none}.page-title{color:var(--color-text);margin-bottom:4px;font-size:20px;font-weight:700}.page-description{color:var(--color-text-muted);margin-bottom:24px;font-size:13px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:clip}.card-section{border-bottom:1px solid var(--color-border);padding:20px 24px}.card-section:last-child{border-bottom:none}.form-label{color:var(--color-text);margin-bottom:8px;font-size:13px;font-weight:600;display:block}.form-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;max-width:480px;font-family:var(--font);color:var(--color-text);background:var(--color-surface);transition:border-color var(--transition), box-shadow var(--transition);outline:none;padding:9px 12px;font-size:14px}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 12%, transparent)}.btn{border-radius:var(--radius-sm);font-family:var(--font);cursor:pointer;transition:background var(--transition), opacity var(--transition), transform var(--transition);white-space:nowrap;border:none;align-items:center;gap:7px;padding:9px 18px;font-size:13px;font-weight:600;display:inline-flex}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark)}.spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,#f0f0f0 25%,#f8f8f8 50%,#f0f0f0 75%) 0 0/200% 100%;animation:1.5s infinite skeleton-loading}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-row{width:100%;height:42px}.skeleton-mention{border-radius:12px;width:120px;height:40px}.skeleton-save{width:100%;height:52px;margin-bottom:4px}.empty-saves{text-align:center;color:var(--color-text-muted);border:1px dashed var(--color-border);border-radius:var(--radius);margin:10px;padding:20px;font-size:13px;font-style:italic}.result-section{background:var(--color-success-bg);border:1px solid var(--color-success);border-radius:var(--radius);margin-top:24px;padding:24px;animation:.3s ease-out slideUp}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.result-header{color:var(--color-success);align-items:center;gap:10px;margin-bottom:16px;font-weight:700;display:flex}.pdf-url-container{border-radius:var(--radius-sm);background:#fff9;border:1px solid #16a34a33;align-items:center;gap:12px;margin-bottom:20px;padding:12px 16px;display:flex}.pdf-url{color:var(--color-success);white-space:nowrap;text-overflow:ellipsis;flex:1;font-family:Monaco,Consolas,monospace;font-size:12px;text-decoration:none;overflow:hidden}.result-actions{gap:12px;display:flex}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-bg)}.btn-outline{border:1px solid var(--color-success);color:var(--color-success);background:0 0}.btn-outline:hover{background:var(--color-success);color:#fff}.btn-danger{background:var(--color-error);color:#fff;border:1px solid #0000}.btn-danger:hover:not(:disabled){filter:brightness(.93)}.btn-ghost{color:var(--color-text-muted);background:0 0;border:1px solid #0000}.btn-ghost:hover:not(:disabled){background:var(--color-bg);color:var(--color-text)}.btn-white{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-white:hover:not(:disabled){background:var(--color-bg)}.btn-link{color:var(--color-primary);background:0 0;border:none;padding:4px}.btn-link:hover:not(:disabled){color:var(--color-primary-dark);text-decoration:underline}.btn-sm{padding:6px 12px;font-size:12px}.btn-xs{gap:5px;padding:4px 9px;font-size:11px}.btn:disabled{opacity:.55;cursor:not-allowed}.badge{text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.badge-neutral{background:var(--color-bg);color:var(--color-text-muted);border:1px solid var(--color-border)}.badge-primary{background:var(--color-primary-light);color:var(--color-primary-dark)}.badge-success,.badge-ok{background:var(--color-success-bg);color:var(--color-success)}.badge-danger,.badge-error{background:var(--color-error-bg);color:var(--color-error)}.badge-warning,.badge-warn{color:#b7791f;background:#fef7e6}.badge-info{color:#2b6cb0;background:#eaf1fb}.error-message{background:var(--color-error-bg);border:1px solid var(--color-error);color:var(--color-error);border-radius:var(--radius-sm);margin-top:16px;padding:12px 16px;font-size:13px;font-weight:500}@media (width<=768px){.burger{align-items:center;display:inline-flex}.app-header .header-right{display:none}.app-header{padding:0 14px}.sidebar{top:var(--header-height);z-index:200;width:260px;max-width:82vw;box-shadow:var(--shadow-md);flex-direction:column;transition:transform .25s;display:flex;position:fixed;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-backdrop{inset:var(--header-height) 0 0 0;z-index:150;background:#00000059;display:block;position:fixed}.sidebar-user{border-top:1px solid var(--color-border);flex-direction:column;gap:10px;margin-top:auto;padding-top:14px;display:flex}.sidebar-user .logout-btn{color:var(--color-text-muted);gap:8px;padding:9px 12px;font-size:13px;font-weight:500}.content-area{padding:16px 14px;overflow-x:hidden}.page-title{font-size:18px}.content-area *{min-width:0}.content-area table{-webkit-overflow-scrolling:touch;white-space:nowrap;width:100%;display:block;overflow-x:auto}.table-card{overflow-x:auto}}@media (width>=769px) and (height<=940px){main.content-area{padding:18px 24px}main.content-area .card-section{padding:15px 18px}}@media (width>=769px){.table-wrap,.table-card,.table-scroll,.tbl-wrap,.bl-table-wrap{max-height:calc(100vh - 250px);overflow-y:auto}main.content-area thead th{z-index:2;background:var(--color-surface);position:sticky;top:0}}.table-wrap,.table-card,.table-scroll,.tbl-wrap,.bl-table-wrap{background-image:linear-gradient(to right, var(--color-surface) 60%, #fff0), linear-gradient(to left, var(--color-surface) 60%, #fff0), linear-gradient(to right, #0f172a21, #0f172a00), linear-gradient(to left, #0f172a21, #0f172a00);background-position:0 0,100% 0,0 0,100% 0;background-repeat:no-repeat;background-size:34px 100%,34px 100%,13px 100%,13px 100%;background-attachment:local,local,scroll,scroll;overflow-x:auto}@media (width<=768px){.content-area input:not([type=checkbox]):not([type=radio]):not([type=file]),.content-area select,.content-area textarea{min-height:40px;font-size:16px}.page-description{margin-bottom:12px}.page-head{flex-wrap:wrap;gap:10px}.content-area table{background-image:linear-gradient(to right, var(--color-surface) 60%, #fff0), linear-gradient(to left, var(--color-surface) 60%, #fff0), linear-gradient(to right, #0f172a21, #0f172a00), linear-gradient(to left, #0f172a21, #0f172a00);background-position:0 0,100% 0,0 0,100% 0;background-repeat:no-repeat;background-size:34px 100%,34px 100%,13px 100%,13px 100%;background-attachment:local,local,scroll,scroll}}.ui-btn.svelte-1xko78n{font-family:var(--font);white-space:nowrap;border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition), transform var(--transition);border:1px solid #0000;justify-content:center;align-items:center;gap:7px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.ui-btn.svelte-1xko78n:active:not(.is-disabled){transform:translateY(.5px)}.ui-btn.svelte-1xko78n:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 28%, transparent);outline:none}.ui-btn.xs.svelte-1xko78n{gap:5px;padding:4px 9px;font-size:11px}.ui-btn.sm.svelte-1xko78n{padding:6px 12px;font-size:12px}.ui-btn.md.svelte-1xko78n{padding:9px 18px;font-size:13px}.ui-btn.lg.svelte-1xko78n{padding:12px 22px;font-size:15px}.ui-btn.icon-only.xs.svelte-1xko78n{padding:4px}.ui-btn.icon-only.sm.svelte-1xko78n{padding:6px}.ui-btn.icon-only.md.svelte-1xko78n{padding:9px}.ui-btn.icon-only.lg.svelte-1xko78n{padding:12px}.ui-btn.block.svelte-1xko78n{width:100%}.ui-btn.primary.svelte-1xko78n{background:var(--color-primary);color:#fff}.ui-btn.primary.svelte-1xko78n:hover:not(.is-disabled):not(:disabled){background:var(--color-primary-dark)}.ui-btn.secondary.svelte-1xko78n{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.ui-btn.secondary.svelte-1xko78n:hover:not(.is-disabled):not(:disabled){background:var(--color-bg)}.ui-btn.danger.svelte-1xko78n{background:var(--color-error);color:#fff}.ui-btn.danger.svelte-1xko78n:hover:not(.is-disabled):not(:disabled){filter:brightness(.93)}.ui-btn.ghost.svelte-1xko78n{color:var(--color-text-muted);background:0 0}.ui-btn.ghost.svelte-1xko78n:hover:not(.is-disabled):not(:disabled){background:var(--color-bg);color:var(--color-text)}.ui-btn.outline.svelte-1xko78n{color:var(--color-primary);border-color:var(--color-primary);background:0 0}.ui-btn.outline.svelte-1xko78n:hover:not(.is-disabled):not(:disabled){background:var(--color-primary-light)}.ui-btn.link.svelte-1xko78n{color:var(--color-primary);background:0 0;padding:2px 4px}.ui-btn.link.svelte-1xko78n:hover:not(.is-disabled):not(:disabled){color:var(--color-primary-dark);text-decoration:underline}.ui-btn.svelte-1xko78n:disabled,.ui-btn.is-disabled.svelte-1xko78n{opacity:.55;cursor:not-allowed;pointer-events:none}.ui-btn__icon.svelte-1xko78n{align-items:center;display:inline-flex}.ui-btn__icon.svelte-1xko78n svg{width:1em;height:1em;display:block}.ui-btn__spinner.svelte-1xko78n{opacity:.85;border:2px solid;border-right-color:#0000;border-radius:50%;width:1em;height:1em;animation:.7s linear infinite svelte-1xko78n-ui-btn-spin}@keyframes svelte-1xko78n-ui-btn-spin{to{transform:rotate(360deg)}}.ui-btn.svelte-1xko78n:has(>.ui-btn__icon:where(.svelte-1xko78n)){padding-left:14px}.ui-btn.sm.svelte-1xko78n:has(>.ui-btn__icon:where(.svelte-1xko78n)){padding-left:7px}.ui-btn.lg.svelte-1xko78n:has(>.ui-btn__icon:where(.svelte-1xko78n)){padding-left:17px}.ui-btn__label.svelte-1xko78n>svg:first-child{vertical-align:-2px;margin-right:6px}.ui-tag.svelte-2tvstf{font-family:var(--font);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;font-weight:600;line-height:1;display:inline-flex}.ui-tag.md.svelte-2tvstf{padding:4px 10px;font-size:12px}.ui-tag.sm.svelte-2tvstf{padding:3px 8px;font-size:11px}.ui-tag__dot.svelte-2tvstf{background:currentColor;border-radius:50%;width:6px;height:6px}.ui-tag.neutral.svelte-2tvstf{background:var(--color-bg);color:var(--color-text-muted);border:1px solid var(--color-border)}.ui-tag.primary.svelte-2tvstf{background:var(--color-primary-light);color:var(--color-primary-dark)}.ui-tag.success.svelte-2tvstf{background:var(--color-success-bg);color:var(--color-success)}.ui-tag.danger.svelte-2tvstf{background:var(--color-error-bg);color:var(--color-error)}.ui-tag.warning.svelte-2tvstf{color:#b7791f;background:#fef7e6}.ui-tag.info.svelte-2tvstf{color:#2b6cb0;background:#eaf1fb}.ui-tag.solid.svelte-2tvstf{color:#fff;border:none}.ui-tag.solid.neutral.svelte-2tvstf{background:var(--color-text-muted)}.ui-tag.solid.primary.svelte-2tvstf{background:var(--color-primary)}.ui-tag.solid.success.svelte-2tvstf{background:var(--color-success)}.ui-tag.solid.danger.svelte-2tvstf{background:var(--color-error)}.ui-tag.solid.warning.svelte-2tvstf{background:#d69e2e}.ui-tag.solid.info.svelte-2tvstf{background:#3182ce}.ui-modal__backdrop.svelte-32v57s{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:9999;background:#11181473;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.ui-modal.svelte-32v57s{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-md);flex-direction:column;width:100%;max-height:90vh;display:flex;overflow:hidden}.ui-modal.sm.svelte-32v57s{max-width:400px}.ui-modal.md.svelte-32v57s{max-width:520px}.ui-modal.lg.svelte-32v57s{max-width:760px}.ui-modal.xl.svelte-32v57s{max-width:1000px}.ui-modal.full.svelte-32v57s{max-width:min(1280px,95vw)}.ui-modal__head.svelte-32v57s{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;display:flex}.ui-modal__title.svelte-32v57s{color:var(--color-text);font-size:17px;font-weight:700}.ui-modal__close.svelte-32v57s{cursor:pointer;color:var(--color-text-muted);border-radius:var(--radius-sm);transition:background var(--transition), color var(--transition);background:0 0;border:none;padding:4px;display:inline-flex}.ui-modal__close.svelte-32v57s svg:where(.svelte-32v57s){width:20px;height:20px}.ui-modal__close.svelte-32v57s:hover{background:var(--color-bg);color:var(--color-text)}.ui-modal__body.svelte-32v57s{color:var(--color-text);padding:22px;font-size:14px;line-height:1.6;overflow-y:auto}.ui-modal__foot.svelte-32v57s{background:var(--color-bg);border-top:1px solid var(--color-border);justify-content:flex-end;gap:10px;padding:15px 22px;display:flex}.dlg-msg.svelte-6d5x9a{white-space:pre-line;margin:0}.actions.svelte-128x4uy{max-width:720px;min-height:100dvh;padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));font-family:var(--font);color:var(--color-text);flex-direction:column;gap:20px;margin:0 auto;display:flex}header.svelte-128x4uy{justify-content:space-between;align-items:baseline;gap:12px;display:flex}h1.svelte-128x4uy{margin:0;font-size:22px}.moi.svelte-128x4uy{color:var(--color-text-muted);font-size:var(--text-sm)}.demo.svelte-128x4uy{background:var(--color-primary-light);border-radius:var(--radius-sm);font-size:var(--text-sm);margin:0;padding:8px 12px}.erreur.svelte-128x4uy{background:var(--color-error-bg);color:var(--color-error);border-radius:var(--radius-sm);font-size:var(--text-sm);margin:0;padding:8px 12px}.muet.svelte-128x4uy{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.liste.svelte-128x4uy{flex-direction:column;gap:12px;display:flex}.carte.svelte-128x4uy{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);grid-template-columns:1fr auto;align-items:center;gap:12px 16px;padding:16px;display:grid}.carte.svelte-128x4uy h2:where(.svelte-128x4uy){margin:0 0 4px;font-size:16px}.carte.svelte-128x4uy p:where(.svelte-128x4uy){color:var(--color-text-muted);font-size:var(--text-sm);margin:0;line-height:1.45}.resultat.svelte-128x4uy{font-size:var(--text-sm);flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px;display:flex}.resultat.svelte-128x4uy a:where(.svelte-128x4uy),.detail.svelte-128x4uy a:where(.svelte-128x4uy){color:var(--color-primary)}@media (width<=480px){.carte.svelte-128x4uy{grid-template-columns:1fr}.geste.svelte-128x4uy button{width:100%}}.journal.svelte-128x4uy h2:where(.svelte-128x4uy){font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin:0 0 8px}.journal.svelte-128x4uy ul:where(.svelte-128x4uy){background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);margin:0;padding:0;list-style:none}.journal.svelte-128x4uy li:where(.svelte-128x4uy){padding:10px 16px}.journal.svelte-128x4uy li:where(.svelte-128x4uy)+li:where(.svelte-128x4uy){border-top:1px solid var(--color-border)}.ligne.svelte-128x4uy{font-size:var(--text-md);grid-template-columns:1fr auto auto;align-items:center;gap:12px;display:grid}.nom.svelte-128x4uy{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.quand.svelte-128x4uy{color:var(--color-text-muted);font-size:var(--text-sm)}.detail.svelte-128x4uy{color:var(--color-text-muted);font-size:var(--text-sm);overflow-wrap:anywhere;margin-top:4px}footer.svelte-128x4uy{font-size:var(--text-sm);color:var(--color-text-muted);justify-content:space-between;align-items:center;margin-top:auto;display:flex}.lien.svelte-128x4uy{color:var(--color-primary);font:inherit;cursor:pointer;background:0 0;border:0;padding:8px 0}
