:root{--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-serif: Georgia, "Times New Roman", Times, serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--space-1: 4px;--space-2: 8px;--space-3: 16px;--space-4: 24px;--space-5: 32px;--space-6: 48px;--space-7: 64px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 2px rgba(20, 16, 8, .06);--shadow-md: 0 4px 10px rgba(20, 16, 8, .1);--shadow-lg: 0 16px 32px rgba(20, 16, 8, .18);--color-bg: #fcfaf7;--color-surface: #f6f3ef;--color-surface-raised: #ffffff;--color-border: #d7d4cf;--color-border-strong: #b6b2ab;--color-text-primary: #2a2620;--color-text-secondary: #5c5751;--color-text-tertiary: #85807a;--color-text-on-accent: #ffffff;--color-accent-solid: #266741;--color-accent-solid-hover: #1a5535;--color-accent-text: #00572e;--color-accent-bg: #e2f0e6;--color-danger-solid: #b3261e;--color-danger-solid-hover: #8f1e18;--color-danger-text: #831a1d;--color-danger-bg: #ffd8d4;--color-focus-ring: #266741;--status-ia-bg: #cfebff;--status-ia-text: #004288;--status-a-verifier-bg: #f2daba;--status-a-verifier-text: #652b00;--status-valide-bg: #cbefd6;--status-valide-text: #004a10;--status-erreur-bg: #ffd8d4;--status-erreur-text: #831a1d;--status-neutral-bg: #e7e4de;--status-neutral-text: #5c5751;--input-bg: #efece6;--input-bg-focus: #ffffff;--viewer-bg: #131211;color-scheme:light}@media(prefers-color-scheme:dark){:root{--color-bg: #161310;--color-surface: #221f1b;--color-surface-raised: #29251f;--color-border: #3b3732;--color-border-strong: #4f4a43;--color-text-primary: #eae7e3;--color-text-secondary: #a8a49e;--color-text-tertiary: #837e77;--color-text-on-accent: #04120a;--color-accent-solid: #50986b;--color-accent-solid-hover: #66ab7e;--color-accent-text: #71c38f;--color-accent-bg: #133023;--color-danger-solid: #d9584f;--color-danger-solid-hover: #e6746c;--color-danger-text: #ffb4ad;--color-danger-bg: #421c19;--color-focus-ring: #71c38f;--status-ia-bg: #0e2a45;--status-ia-text: #9bd3ff;--status-a-verifier-bg: #3a2400;--status-a-verifier-text: #eebe7c;--status-valide-bg: #042c17;--status-valide-text: #8ed8a8;--status-erreur-bg: #421c19;--status-erreur-text: #ffb4ad;--status-neutral-bg: #322e29;--status-neutral-text: #a8a49e;--input-bg: #1e1b17;--input-bg-focus: #29251f;--viewer-bg: #0a0a09;color-scheme:dark}}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-sans);font-size:var(--text-base);line-height:1.5;color:var(--color-text-primary);background:var(--color-bg);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-serif);line-height:1.2;margin:0 0 var(--space-3);font-weight:600}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}p{margin:0 0 var(--space-3)}a{color:var(--color-accent-text)}button{font:inherit;color:inherit}img{max-width:100%;display:block}.tabular-nums{font-variant-numeric:tabular-nums}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:var(--space-3);top:-40px;background:var(--color-accent-solid);color:var(--color-text-on-accent);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);z-index:100;transition:top .15s ease}.skip-link:focus{top:var(--space-3)}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.page{max-width:1180px;margin:0 auto;padding:var(--space-4) var(--space-3) var(--space-7)}.page-wide{max-width:1480px}.page-narrow{max-width:480px;margin:0 auto;padding:var(--space-6) var(--space-3)}.stack{display:flex;flex-direction:column;gap:var(--space-3)}.row{display:flex;align-items:center;gap:var(--space-2)}.row-between{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary);font-size:var(--text-sm)}.text-sm{font-size:var(--text-sm)}@media(max-width:767px){.page{padding:var(--space-3) var(--space-2) var(--space-6)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:10px var(--space-3);border-radius:var(--radius-md);border:1px solid transparent;font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:background-color .12s ease,border-color .12s ease;white-space:nowrap}.btn-sm{padding:6px var(--space-2);font-size:var(--text-sm, .875rem)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-accent-solid);color:var(--color-text-on-accent);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--color-accent-solid-hover)}.btn-secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-primary)}.btn-secondary:hover:not(:disabled){border-color:var(--color-border-strong)}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--color-surface);color:var(--color-text-primary)}.btn-danger{background:var(--color-danger-solid);color:#fff}.btn-danger:hover:not(:disabled){background:var(--color-danger-solid-hover)}.btn-block{width:100%}.btn-lg{padding:14px var(--space-4);font-size:var(--text-base)}.field{display:flex;flex-direction:column;gap:var(--space-1)}.field-label{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-secondary)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.field-hint{font-size:var(--text-xs);color:var(--color-text-tertiary)}.field-error{font-size:var(--text-xs);color:var(--color-danger-text)}.input,.select,.textarea{background:var(--input-bg);border:1px solid transparent;border-radius:var(--radius-md);padding:10px 12px;font-size:var(--text-base);color:var(--color-text-primary);width:100%}.input:focus,.select:focus,.textarea:focus{background:var(--input-bg-focus);border-color:var(--color-accent-solid);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent-solid) 25%,transparent)}.input[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--color-danger-solid)}.textarea{resize:vertical;min-height:5rem;font-family:inherit}.checkbox-row{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm)}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:var(--text-xs);font-weight:600;white-space:nowrap}.badge-ia{background:var(--status-ia-bg);color:var(--status-ia-text)}.badge-a_verifier{background:var(--status-a-verifier-bg);color:var(--status-a-verifier-text)}.badge-valide{background:var(--status-valide-bg);color:var(--status-valide-text)}.badge-erreur{background:var(--status-erreur-bg);color:var(--status-erreur-text)}.badge-neutral{background:var(--status-neutral-bg);color:var(--status-neutral-text)}.card{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4)}.progress{display:flex;flex-direction:column;gap:var(--space-1)}.progress-track{height:8px;border-radius:999px;background:var(--color-border);overflow:hidden}.progress-fill{height:100%;background:var(--color-accent-solid);border-radius:999px;transition:width .2s ease}.progress-label{font-size:var(--text-sm);color:var(--color-text-secondary)}.toast-region{position:fixed;bottom:var(--space-4);right:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);z-index:200;max-width:360px}.toast{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);box-shadow:var(--shadow-md);font-size:var(--text-sm)}.toast-error{border-color:var(--color-danger-solid);color:var(--color-danger-text)}@media(max-width:767px){.toast-region{left:var(--space-2);right:var(--space-2);bottom:var(--space-2);max-width:none}}dialog.dialog{border:none;background:var(--color-surface-raised);color:var(--color-text-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:480px;max-height:90vh;overflow-y:auto;padding:var(--space-4)}dialog.dialog::backdrop{background:#0a080680}dialog.dialog-wide{max-width:720px}.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4)}.icon-btn{background:transparent;border:none;cursor:pointer;color:var(--color-text-secondary);font-size:var(--text-lg);line-height:1;padding:var(--space-1);border-radius:var(--radius-sm)}.icon-btn:hover{color:var(--color-text-primary);background:var(--color-surface)}.empty-state,.error-state,.loading-state{text-align:center;padding:var(--space-6) var(--space-3);color:var(--color-text-secondary)}.error-state{color:var(--color-danger-text)}.pager{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-3) 0}.table-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-raised)}table.data-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.data-table th{text-align:left;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-secondary);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);white-space:nowrap}.data-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);vertical-align:middle}.data-table tbody tr{cursor:pointer}.data-table tbody tr:hover{background:var(--color-surface)}.thumb{width:48px;height:48px;max-width:none;object-fit:cover;border-radius:var(--radius-sm);background:var(--color-surface)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.warning-icons{display:inline-flex;gap:2px}.spinner{width:1.25em;height:1.25em;border:2px solid var(--color-border);border-top-color:var(--color-accent-solid);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:1.6s}}.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--color-surface-raised);border-bottom:1px solid var(--color-border)}.topbar-brand{font-family:var(--font-serif);font-size:var(--text-lg);font-weight:600;color:var(--color-text-primary);text-decoration:none}.topbar-nav{display:flex;align-items:center;gap:var(--space-1)}.nav-link{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-text-secondary);text-decoration:none;font-size:var(--text-sm);font-weight:500}.nav-link:hover{background:var(--color-surface);color:var(--color-text-primary)}.nav-link-active{color:var(--color-text-primary);background:var(--color-accent-bg)}.topbar-user{position:relative;display:flex;align-items:center;gap:var(--space-2)}.user-menu-trigger{background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:6px 12px;cursor:pointer;font-size:var(--text-sm);color:var(--color-text-primary)}.user-menu{position:absolute;top:calc(100% + 4px);right:0;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);min-width:180px;overflow:hidden;z-index:60}.user-menu button,.user-menu a{display:block;width:100%;text-align:left;padding:var(--space-2) var(--space-3);background:none;border:none;text-decoration:none;color:var(--color-text-primary);font-size:var(--text-sm);cursor:pointer}.user-menu button:hover,.user-menu a:hover{background:var(--color-surface)}@media(max-width:767px){.topbar{flex-wrap:wrap;gap:var(--space-2)}.topbar-nav{order:3;width:100%;overflow-x:auto}}.folder-header{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-4)}.folder-header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap}.folder-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.folder-counters{display:flex;flex-wrap:wrap;gap:var(--space-4);font-size:var(--text-sm);color:var(--color-text-secondary)}.folder-toolbar{margin-bottom:var(--space-3)}.galet-cards{display:none;list-style:none;margin:0;padding:0;flex-direction:column;gap:var(--space-2)}.galet-card{display:flex;gap:var(--space-3);padding:var(--space-3);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer}.galet-card .thumb{width:64px;height:64px;flex-shrink:0}.galet-card-body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.dropzone{border:2px dashed var(--color-border-strong);border-radius:var(--radius-lg);padding:var(--space-5);text-align:center;color:var(--color-text-secondary)}.import-results{list-style:none;margin:var(--space-3) 0 0;padding:0;max-height:240px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-md)}.import-result{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border)}.import-result:last-child{border-bottom:none}.import-result-created .text-sm{color:var(--color-accent-text)}.import-result-duplicate .text-sm{color:var(--status-a-verifier-text)}.import-result-rejected .text-sm{color:var(--color-danger-text)}.galet-filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}@media(max-width:767px){.galet-filters{display:grid;grid-template-columns:1fr 1fr}.galet-filters>:first-child{grid-column:1 / -1}.galet-filters>*{width:100%;min-width:0}.galets-table-desktop{display:none}.galet-cards{display:flex}}.galet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;background:var(--viewer-bg)}.galet-overlay-image{flex:1;min-width:0;background:var(--viewer-bg);display:flex;flex-direction:column}.galet-overlay-panel{width:420px;flex-shrink:0;background:var(--color-surface-raised);color:var(--color-text-primary);display:flex;flex-direction:column;padding:var(--space-4);gap:var(--space-3);overflow:hidden}.galet-panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3)}.galet-meta{font-size:var(--text-xs);margin:4px 0 0}.galet-panel-scroll{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-4);padding-right:2px}.galet-panel-actions{border-top:1px solid var(--color-border);padding-top:var(--space-3)}.galet-panel-actions-compact{display:none}.conflict-banner{border-color:var(--color-danger-solid);background:var(--color-danger-bg);color:var(--color-danger-text);display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}.derived-row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);padding:var(--space-3);background:var(--color-surface);border-radius:var(--radius-md)}.proposal-box,.ai-box{border-color:var(--status-ia-text)}.proposal-grid{display:grid;grid-template-columns:auto 1fr;gap:2px var(--space-3);margin:var(--space-2) 0}.proposal-grid dt{color:var(--color-text-secondary);font-size:var(--text-sm)}.proposal-grid dd{margin:0}.history-panel summary{cursor:pointer;font-weight:600;padding:var(--space-2) 0}.history-entry{border-left:2px solid var(--color-border);padding-left:var(--space-3)}.image-viewer{flex:1;display:flex;flex-direction:column;min-height:0}.image-viewer-toolbar{display:flex;gap:var(--space-2);padding:var(--space-3);flex-wrap:wrap}.image-viewer-toolbar .btn{color:#e8e6e3}.image-viewer-hint{color:#e8e6e3;text-align:center;margin:0 0 var(--space-2)}.image-viewer-stage{flex:1;min-height:0;position:relative}.image-viewer-frame{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.image-viewer-frame img{width:100%;height:100%;max-width:none;object-fit:contain;-webkit-user-select:none;user-select:none}.image-viewer .image-viewer-frame img{pointer-events:auto}.landmarks-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}@media(max-width:900px){.galet-overlay{flex-direction:column}.galet-overlay-image{height:45vh;flex:none}.galet-overlay-panel{width:100%;flex:1}.galet-panel-actions{display:none}.galet-panel-actions-compact{display:flex;gap:var(--space-2);border-top:1px solid var(--color-border);padding-top:var(--space-3);position:sticky;bottom:0;background:var(--color-surface-raised)}.galet-actions-compact{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:var(--space-2);width:100%}.galet-actions-compact .btn{min-width:0;min-height:48px;padding:var(--space-2);white-space:normal}.galet-actions-compact .btn-primary{grid-column:span 2}.image-viewer-toolbar{flex-wrap:nowrap;overflow-x:auto}.image-viewer-toolbar .btn{flex:none}}.flag-list{display:flex;flex-wrap:wrap;gap:var(--space-1);list-style:none;margin:0;padding:0}.galet-secondary-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-1)}.galet-panel-actions .row>.btn{flex:1}.zoom-wrapper{position:relative;width:100%;height:100%;overflow:hidden;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;margin:0;padding:0;transform:translateZ(0)}.zoom-content{display:flex;width:100%;height:100%;margin:0;padding:0;transform-origin:0% 0%}.petro-toolbar{margin:var(--space-4) 0}.petro-search{max-width:360px}.petro-list{list-style:none;margin:var(--space-3) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.petro-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md)}.petro-row-main{flex:1 1 260px;min-width:0}.petro-row-name{display:flex;align-items:center;gap:var(--space-2);margin:0;overflow-wrap:anywhere}.petro-row-description{margin:4px 0 0;color:var(--color-text-secondary);font-size:var(--text-sm);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.petro-row-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);flex:0 1 auto;min-width:0}.petro-stat{display:flex;flex-direction:column;gap:2px;min-width:92px}.petro-stat-value{font-size:var(--text-base);font-weight:600;white-space:nowrap}.petro-stat-label{font-size:var(--text-xs);color:var(--color-text-tertiary);white-space:nowrap}.petro-section{margin-top:var(--space-5)}.petro-section-title{font-size:var(--text-sm);font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-secondary);font-family:var(--font-sans);margin:0 0 var(--space-2)}.petro-manage-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.petro-manage-value{margin:2px 0 0}
