:root{--color-brand-700:#183d2d;--color-brand-600:#1d6d4a;--color-brand-100:#eaf4ee;--color-white:#fff;--color-neutral-950:#17211c;--color-neutral-700:#4f6158;--color-title:#61746a;--color-neutral-300:#cbd8d1;--color-neutral-100:#f3f7f5;--color-status-not-done:#a03b3a;--color-status-not-done-soft:#ffecea;--color-status-not-done-line:#eabab6;--color-status-in-progress:#a45800;--color-status-in-progress-soft:#ffefe1;--color-status-in-progress-line:#e4c0a1;--color-status-waiting:#5d6674;--color-status-waiting-soft:#f0f3f6;--color-status-waiting-line:#c3c8ce;--color-status-done:#267148;--color-status-done-soft:#e9f7ed;--color-status-done-line:#b3d0bc;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--weight-light:200;--weight-regular:400;--weight-medium:600;--weight-bold:700;--focus-ring:0 0 0 3px #1d6d4a59;--radius-md:.75rem;--shadow-panel:0 1rem 2.5rem #183d2d1f}*{box-sizing:border-box}html{color:var(--color-neutral-950);background:var(--color-neutral-100);font-synthesis:none;text-rendering:optimizelegibility;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,sans-serif}body{min-width:20rem;min-height:100vh;margin:0}.confirmation-overlay{z-index:30;background:#1118277a;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.confirmation-dialog{background:#fff;border-radius:.8rem;width:min(100%,32rem);padding:1.25rem;box-shadow:0 18px 48px #00000038}.confirmation-dialog h2{font-size:var(--text-lg);margin-top:0}.dialog-actions{flex-wrap:wrap;gap:.7rem;margin-top:1rem;display:flex}.dialog-cancel-action{color:var(--color-neutral-700);background:var(--color-white);border:1px solid var(--color-neutral-300);cursor:pointer;border-radius:.5rem;padding:.65rem .9rem}.project-picker-row{align-items:end;gap:.7rem;display:flex}.project-picker-row .project-picker{flex:14rem}.project-delete-action:hover:not(:disabled){filter:brightness(.92)}.project-delete-action:focus-visible{outline:3px solid var(--color-status-not-done-line);outline-offset:2px}.admin-panel .project-delete-action:disabled{cursor:not-allowed;opacity:.55}.admin-panel .project-delete-action svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2px;width:1.2rem;height:1.2rem}.pending-project-cleanup .reference-list li{gap:.75rem}@media (width<=24.375rem){.project-picker-row{align-items:stretch}}.update-prompt{z-index:40;color:#fff;background:#24364b;border-radius:.7rem;align-items:center;gap:.8rem;width:min(100% - 2rem,40rem);padding:.8rem 1rem;display:flex;position:fixed;bottom:1rem;left:50%;transform:translate(-50%);box-shadow:0 12px 30px #00000038}.update-prompt button{flex:none}button,a,input,select,textarea{min-height:3rem;font:inherit}input,select,textarea{font-size:max(1rem,1em)}.admin-header>a,.similar-panel a,.trash-list a,.reservation-table a{justify-content:center;align-items:center;min-width:3rem;min-height:3rem;display:inline-flex}:focus-visible{box-shadow:var(--focus-ring);outline:none}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.app-shell{place-items:center;min-height:100vh;padding:1.5rem;display:grid}.brand-panel{width:min(100%,34rem);color:var(--color-brand-700);text-align:center;background:var(--color-white);border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);padding:clamp(2rem,8vw,4.5rem)}.brand-kicker{color:var(--color-brand-600);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .75rem}.brand-panel h1{letter-spacing:-.06em;margin:0;font-size:clamp(2.6rem,10vw,4.75rem)}.brand-opr{color:#8a938d;font-weight:var(--weight-light);letter-spacing:-.02em}.brand-summary{color:var(--color-neutral-700);margin:1rem 0 0;font-size:clamp(1rem,3vw,1.2rem)}.primary-link{color:var(--color-white);font-weight:var(--weight-bold);background:var(--color-brand-600);border-radius:.55rem;justify-content:center;align-items:center;margin-top:1.5rem;padding:.7rem 1rem;text-decoration:none;display:inline-flex}.icon-action{width:3.5rem;height:3.5rem;color:var(--color-brand-600);background:var(--color-white);border:3px solid var(--color-brand-600);border-radius:50%;place-items:center;padding:0;line-height:0;text-decoration:none;display:inline-grid}.icon-action-neutral{color:var(--color-neutral-700);border-color:var(--color-neutral-300)}.icon-action svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;transform-origin:50%;width:1.65rem;height:1.65rem;transition:transform .18s;display:block}.icon-action-plus:hover svg,.icon-action-plus:focus-visible svg{transform:rotate(90deg)}@media (prefers-reduced-motion:reduce){.icon-action svg{transition:none}}.home-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.secondary-link{color:var(--color-brand-700);background:var(--color-brand-100)}.project-list{text-align:left;border-top:1px solid var(--color-neutral-300);margin-top:2rem;padding-top:1rem}.project-list h2{font-size:var(--text-base);margin:0 0 .75rem}.project-cards{gap:.5rem;display:grid}.project-cards article{background:var(--color-brand-100);border-radius:.55rem;justify-content:space-between;gap:1rem;padding:.75rem;display:flex}.project-cards article>span{display:grid}.project-cards article a{color:var(--color-brand-700);font-weight:var(--weight-bold)}.project-links{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;display:flex}.project-cards article>.project-links{display:grid}.reservation-page{width:min(100% - 2rem,46rem);margin:0 auto;padding:1.5rem 0 3rem}.reservation-form{background:var(--color-white);border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);gap:.7rem;padding:.85rem;display:grid}.reservation-form label{color:var(--color-neutral-700);font-weight:var(--weight-bold);gap:.3rem;display:grid}.reservation-form input,.reservation-form select,.reservation-form textarea{width:100%;color:var(--color-neutral-950);background:var(--color-white);border:1px solid var(--color-neutral-300);border-radius:.55rem;padding:.6rem .75rem}.photo-fields{border:1px solid var(--color-neutral-300);border-radius:.55rem;gap:.75rem;margin:0;padding:1rem;display:grid}.photo-slot p{justify-content:space-between;align-items:center;gap:.5rem;margin:.35rem 0 0;display:flex}.primary-action,.photo-slot button{font-weight:var(--weight-bold);cursor:pointer;border-radius:.55rem;padding:.65rem .85rem}.primary-action{color:var(--color-white);background:var(--color-brand-600);border:0}.similar-panel{background:var(--color-status-in-progress-soft);border:1px solid var(--color-status-in-progress-line);border-radius:.55rem;padding:1rem}.similar-panel h2,.similar-panel>p{margin:0}.similar-panel h2{color:var(--color-status-in-progress);font-size:var(--text-base)}.similar-panel ul{gap:.75rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.similar-panel li,.similar-panel li div{gap:.2rem;display:grid}.similar-panel li{border-top:1px solid #dfc77a;grid-template-columns:1fr auto;padding-top:.75rem}.reservation-list-page{width:min(100% - 2rem,88rem);margin:0 auto;padding:1.5rem 0 3rem}.reservation-list-page .admin-header nav{gap:1rem;display:flex}.reservation-filters>.choice-field{grid-column:auto;grid-template-columns:1fr}.reservation-filters label,.reservation-filters fieldset{gap:.35rem;margin:0;display:grid}.reservation-filters .search-field{grid-column:span 2}.reservation-filters input,.reservation-filters select{border:1px solid var(--color-neutral-300);border-radius:.5rem;width:100%;padding:.6rem}.reservation-filters fieldset{border:0;grid-column:span 2;grid-template-columns:repeat(2,1fr)}.reservation-filters fieldset label{align-items:center;display:flex}.reservation-filters fieldset input{width:auto;min-height:1rem;margin-right:.35rem}.reservation-filters button{color:var(--color-brand-700);background:var(--color-brand-100);border:0;border-radius:.5rem;align-self:end}.reservation-card-list{gap:.75rem;margin-top:1rem;display:none}.reservation-card{background:var(--color-white);border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);grid-template-columns:7rem 1fr;display:grid;overflow:hidden}.reservation-card img,.photo-placeholder{object-fit:cover;width:100%;height:100%;min-height:9rem}.photo-placeholder{color:var(--color-neutral-300);background:var(--color-neutral-100);place-items:center;display:grid}.photo-placeholder svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:2.75rem;height:2.75rem}.gallery-photo .photo-placeholder{width:100%;height:100%;min-height:0}.reservation-card-body{padding:.85rem}.reservation-card-body p,.reservation-card-body small{margin:.25rem 0;display:block}.reservation-card-top{justify-content:space-between;gap:.5rem;display:flex}.status-badge{font-size:var(--text-sm);font-weight:var(--weight-bold);border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .7rem .3rem .4rem;display:inline-flex}.status-icon{flex:none;width:1.25rem;height:1.25rem}.status-icon-disc{fill:currentColor;stroke:none}.status-icon-glyph{fill:none;stroke:var(--status-glyph-color,#fff);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.status-badge-icon-only{gap:0;padding:.25rem}.status-badge-icon-only .status-icon{width:2.25rem;height:2.25rem}.status-non_fait{color:var(--color-status-not-done);background:var(--color-status-not-done-soft)}.status-en_cours{color:var(--color-status-in-progress);background:var(--color-status-in-progress-soft)}.status-en_attente{color:var(--color-status-waiting);background:var(--color-status-waiting-soft)}.status-fait{color:var(--color-status-done);background:var(--color-status-done-soft)}.overdue-marker{color:var(--color-status-not-done);font-weight:var(--weight-bold);display:block}.reservation-table-wrap{background:var(--color-white);border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);margin-top:1rem;overflow-x:auto}.reservation-table{border-collapse:collapse;width:100%}.reservation-table th,.reservation-table td{text-align:left;border-bottom:1px solid var(--color-neutral-300);padding:.75rem}.reservation-table td small{margin-top:.2rem;display:block}.overdue-row{box-shadow:inset .25rem 0 var(--color-status-not-done)}.empty-state{text-align:center;background:var(--color-white);border-radius:var(--radius-md);padding:2rem}@media (width<=56.24rem){.reservation-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.reservation-card-list{display:grid}.reservation-table-wrap{display:none}}@media (width<=38rem){.reservation-filters,.reservation-filters .search-field,.reservation-filters fieldset{grid-column:auto;grid-template-columns:1fr}.reservation-card{grid-template-columns:5.5rem 1fr}}.reservation-detail-page{width:min(100% - 2rem,56rem);min-width:0;margin:0 auto;padding:1.5rem 0 3rem}.detail-identity{align-items:center;gap:.6rem;min-width:0;display:flex}.reservation-id{color:var(--color-neutral-950);font-size:var(--text-lg);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;letter-spacing:.02em;white-space:nowrap;background:var(--color-neutral-100);border-radius:.5rem;align-items:baseline;gap:.15rem;margin:0;padding:.2rem .6rem;display:inline-flex}.reservation-id-prefix{color:var(--color-neutral-700);font-size:var(--text-xs);font-weight:var(--weight-medium);align-self:flex-start}.detail-panel,.status-actions,.status-history,.detail-edit-form{background:var(--color-white);border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);margin-bottom:1rem;padding:1rem}.detail-panel h2,.status-actions h2,.status-history summary{color:var(--color-title);font-size:var(--text-base);font-weight:var(--weight-regular);letter-spacing:.01em;margin-top:0}.detail-location-panel,.detail-remark-panel{padding:.75rem .9rem}.detail-remark-panel p,.detail-location-line strong{overflow-wrap:anywhere}.detail-location-panel h2,.detail-remark-panel h2{margin-bottom:.35rem}.reservation-list-page .admin-header h1{font-weight:var(--weight-medium)}.detail-panel-title{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.detail-panel-title h2{margin:0}.creation-info-button{width:1.6rem;height:1.6rem;min-height:0;color:var(--color-brand-700);font-size:var(--text-xs);font-weight:var(--weight-bold);border:1.5px solid var(--color-neutral-300);cursor:pointer;background:0 0;border-radius:50%;place-items:center;padding:0;line-height:1;display:inline-grid;position:relative}.creation-info-button:after{content:"";width:2.75rem;height:2.75rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.creation-info-button:focus-visible{outline:2px solid var(--color-brand-700);outline-offset:2px}.creation-info-button[aria-expanded=true]{color:var(--color-white);background:var(--color-brand-600);border-color:var(--color-brand-600)}.creation-info-popover{width:fit-content;color:var(--color-neutral-700);background:var(--color-brand-100);border:1px solid var(--color-neutral-300);font-size:var(--text-sm);border-radius:.55rem;margin:.35rem 0 .65rem;padding:.45rem .65rem}.detail-remark-panel p{margin:0}.detail-location-line{flex-direction:column;gap:.1rem;margin:0;display:flex}.detail-location-line strong{font-size:var(--text-base);line-height:1.3}.detail-location-line span{color:var(--color-neutral-700);overflow-wrap:anywhere}.detail-location-metadata{border-top:1px solid var(--color-neutral-300);gap:.4rem;margin:.75rem 0 0;padding-top:.7rem;display:grid}.detail-location-metadata>div{grid-template-columns:6.5rem 1fr;align-items:baseline;gap:.75rem;display:grid}.detail-panel dt{color:var(--color-neutral-700);font-size:var(--text-sm);text-align:left;white-space:nowrap}.detail-panel dd{font-weight:var(--weight-medium);overflow-wrap:anywhere;margin:0}.detail-photos{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.75rem;display:grid}.detail-photos figure{margin:0}.detail-photos img{object-fit:cover;border-radius:.55rem;width:100%;max-height:24rem}.status-buttons{grid-template-columns:repeat(4,1fr);gap:.5rem;display:grid}.status-buttons button,.status-confirm button,.detail-edit-form button,.secondary-action,.danger-action,.trash-list button{font-weight:var(--weight-bold);border:1px solid var(--color-neutral-300);cursor:pointer;border-radius:.5rem;padding:.65rem}.status-buttons .status-button{background:var(--color-white);justify-content:center;align-items:center;gap:.4rem;display:inline-flex}.status-button-non_fait{color:var(--color-status-not-done);background:var(--color-status-not-done-soft)!important;border-color:var(--color-status-not-done-line)!important}.status-button-en_cours{color:var(--color-status-in-progress);background:var(--color-status-in-progress-soft)!important;border-color:var(--color-status-in-progress-line)!important}.status-button-en_attente{color:var(--color-status-waiting);background:var(--color-status-waiting-soft)!important;border-color:var(--color-status-waiting-line)!important}.status-button-fait{color:var(--color-status-done);background:var(--color-status-done-soft)!important;border-color:var(--color-status-done-line)!important}.status-button-non_fait[aria-pressed=true]{color:var(--color-white);--status-glyph-color:var(--color-status-not-done);background:var(--color-status-not-done)!important;border-color:var(--color-status-not-done)!important}.status-button-en_cours[aria-pressed=true]{color:var(--color-white);--status-glyph-color:var(--color-status-in-progress);background:var(--color-status-in-progress)!important;border-color:var(--color-status-in-progress)!important}.status-button-en_attente[aria-pressed=true]{color:var(--color-white);--status-glyph-color:var(--color-status-waiting);background:var(--color-status-waiting)!important;border-color:var(--color-status-waiting)!important}.status-button-fait[aria-pressed=true]{color:var(--color-white);--status-glyph-color:var(--color-status-done);background:var(--color-status-done)!important;border-color:var(--color-status-done)!important}.status-confirm,.detail-edit-form{gap:.75rem;margin-top:.75rem;display:grid}.status-confirm-dialog .status-confirm-action{color:var(--color-white);background:var(--color-brand-600);border-color:var(--color-brand-600)}.status-confirm label,.detail-edit-form label{gap:.35rem;display:grid}.status-confirm textarea,.detail-edit-form input,.detail-edit-form textarea{border:1px solid var(--color-neutral-300);border-radius:.5rem;padding:.65rem}.detail-edit-actions{flex-wrap:wrap;gap:.75rem;display:flex}.detail-edit-form .detail-edit-save{color:var(--color-white);background:var(--color-brand-600);border-color:var(--color-brand-600)}.detail-edit-form .detail-edit-cancel{color:var(--color-neutral-700);background:var(--color-white)}.secondary-action{color:var(--color-brand-700);background:var(--color-brand-100);margin-bottom:1rem}.danger-action{color:var(--color-status-not-done);background:var(--color-status-not-done-soft)}.detail-content-actions{align-items:center;gap:.65rem;margin-top:.75rem;display:flex}.detail-icon-action{background:var(--color-white);cursor:pointer;border:3px solid;border-radius:50%;place-items:center;width:3.5rem;height:3.5rem;padding:0;display:inline-grid}.detail-icon-edit{color:var(--color-brand-600)}.detail-icon-delete{color:var(--color-status-not-done)}.detail-icon-action svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.55rem;height:1.55rem}.status-history summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:3rem;display:flex}.status-history summary::marker{display:none}.status-history summary::-webkit-details-marker{display:none}.status-history-chevron{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1.35rem;height:1.35rem;transition:transform .18s}.status-history[open] .status-history-chevron{transform:rotate(180deg)}.status-history li{margin-bottom:.75rem}.status-history li span{color:var(--color-neutral-700);display:block}.status-history li p{overflow-wrap:anywhere}@media (prefers-reduced-motion:reduce){.status-history-chevron{transition:none}}.trash-list{gap:.75rem;display:grid}.trash-list article{background:var(--color-white);border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);justify-content:space-between;gap:1rem;padding:1rem;display:flex}@media (width<=38rem){.status-buttons{grid-template-columns:repeat(2,1fr)}}.sign-out-button{width:3.5rem;height:3.5rem;color:var(--color-neutral-700);background:var(--color-white);border:2px solid var(--color-neutral-300);cursor:pointer;border-radius:50%;place-items:center;margin-top:1.5rem;padding:0;line-height:0;display:inline-grid}.sign-out-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1.5rem;height:1.5rem}.sign-out-button:hover{color:var(--color-status-not-done);border-color:var(--color-status-not-done)}.auth-page{place-items:center;min-height:100vh;padding:1.5rem;display:grid}.auth-panel{background:var(--color-white);border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);width:min(100%,28rem);box-shadow:var(--shadow-panel);padding:2rem}.auth-brand{color:var(--color-brand-600);font-weight:var(--weight-bold);margin:0}.auth-panel h1{color:var(--color-brand-700);margin:.4rem 0 1.25rem}.auth-tabs{background:var(--color-neutral-100);border-radius:var(--radius-md);grid-template-columns:1fr 1fr;gap:.4rem;margin-bottom:1.25rem;padding:.25rem;display:grid}.auth-tabs button,.auth-panel form>button{cursor:pointer;border:0;border-radius:.55rem}.auth-tabs button[aria-selected=true]{color:var(--color-white);background:var(--color-brand-600)}.auth-panel form{gap:1rem;display:grid}.auth-panel label{color:var(--color-neutral-700);font-size:var(--text-sm);font-weight:var(--weight-bold);gap:.4rem;display:grid}.auth-panel input{width:100%;color:var(--color-neutral-950);background:var(--color-white);border:1px solid var(--color-neutral-300);border-radius:.55rem;padding:.7rem .8rem}.auth-panel [role=alert]{color:var(--color-status-not-done);margin:0}.auth-panel form>button{color:var(--color-white);font-weight:var(--weight-bold);background:var(--color-brand-600)}.auth-panel button:disabled{cursor:wait;opacity:.65}.admin-page{width:min(100% - 2rem,78rem);margin:0 auto;padding:1.5rem 0 3rem}.admin-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.admin-header h1,.admin-panel h2{color:var(--color-brand-700);margin:0}.admin-header a{color:var(--color-brand-600);font-weight:var(--weight-bold)}.page-icon-actions{align-items:center;gap:.5rem;display:flex}.icon-action{flex-shrink:0}.admin-panel{background:var(--color-white);border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);padding:1rem}.reference-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:1rem;margin-top:1rem;display:grid}.project-config-header{gap:1rem;display:grid}.config-tabs{scrollbar-width:thin;gap:.5rem;max-width:100%;padding-bottom:.35rem;display:flex;overflow-x:auto}.admin-panel .config-tabs button{min-height:3rem;color:var(--color-brand-700);background:var(--color-brand-100);border:1px solid #0000;border-radius:999px;flex:none;padding-inline:1rem}.admin-panel .config-tabs button[aria-selected=true]{color:var(--color-white);background:var(--color-brand-700)}.room-editor{gap:1rem;display:grid}.room-add-row{grid-template-columns:minmax(0,1fr) 3.5rem;align-items:end;gap:.75rem;display:grid}.room-add-row label{min-width:0}.admin-panel .room-add-button{border-radius:50%;place-items:center;width:3.5rem;height:3.5rem;padding:0;display:inline-grid}.room-add-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;width:1.65rem;height:1.65rem}.filtered-room-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.filtered-room-list li{background:var(--color-neutral-100);border-radius:.7rem;justify-content:space-between;align-items:center;gap:.75rem;min-width:0;padding:.75rem;display:flex}.filtered-room-list span{overflow-wrap:anywhere}.admin-panel .filtered-room-list button{min-width:3rem;min-height:3rem;color:var(--color-brand-700);background:var(--color-brand-100);flex:none}.inline-form,.stack-form,.project-picker,.admin-panel label{gap:.4rem;display:grid}.inline-form{grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:end;margin:1rem 0}.stack-form{gap:.75rem;margin-top:1rem}.admin-panel input,.admin-panel select{width:100%;color:var(--color-neutral-950);background:var(--color-white);border:1px solid var(--color-neutral-300);border-radius:.55rem;padding:.65rem .75rem}.admin-panel button{color:var(--color-white);font-weight:var(--weight-bold);background:var(--color-brand-600);cursor:pointer;border:0;border-radius:.55rem;padding:.6rem .8rem}.admin-panel button:disabled{cursor:not-allowed;opacity:.5}.form-alert{color:var(--color-status-not-done);background:#fff3f0;border-radius:.55rem;padding:.75rem}.form-success{color:var(--color-status-done);background:var(--color-brand-100);border-radius:.55rem;padding:.75rem}.agent-create-form{grid-template-columns:repeat(3,minmax(0,1fr)) auto}.creation-project-fieldset{grid-column:1/-1}.creation-project-fieldset .assignment-options label{background:var(--color-white);border:1px solid var(--color-neutral-300);cursor:pointer;border-radius:999px;padding:.35rem .75rem}.creation-project-fieldset .assignment-options label:has(input:checked){color:var(--color-brand-700);background:var(--color-brand-100);border-color:var(--color-brand-600)}.agent-list-panel{margin-top:1rem}.agent-list{gap:.5rem;margin-top:1rem;padding:0;list-style:none;display:grid}.agent-row{background:var(--color-neutral-100);border:1px solid var(--color-neutral-300);border-radius:.7rem;overflow:hidden}.admin-panel .agent-summary{text-align:left;width:100%;min-height:3.5rem;color:var(--color-neutral-950);font-weight:var(--weight-regular);cursor:pointer;background:0 0;border:0;border-radius:0;align-items:center;gap:.75rem;padding:.6rem .85rem;display:flex}.agent-identity{flex:auto;gap:.1rem;min-width:0;display:grid}.agent-identity strong{font-size:var(--text-base)}.agent-identity small{color:var(--color-neutral-700);font-size:var(--text-sm);overflow-wrap:anywhere}.agent-state{color:var(--color-status-done);font-size:var(--text-xs);font-weight:var(--weight-bold);background:var(--color-status-done-soft);border-radius:999px;flex:none;padding:.2rem .6rem}.agent-state-off{color:var(--color-status-waiting);background:var(--color-status-waiting-soft)}.agent-chevron{fill:none;width:1.35rem;height:1.35rem;stroke:var(--color-neutral-700);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;transition:transform .18s}.agent-summary[aria-expanded=true] .agent-chevron{transform:rotate(180deg)}.agent-detail{border-top:1px solid var(--color-neutral-300);padding:0 .85rem .85rem;gap:.75rem;padding-top:.85rem;display:grid}.admin-panel-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.admin-panel .admin-create-toggle{min-height:2.75rem;color:var(--color-brand-700);font-size:var(--text-sm);font-weight:var(--weight-bold);background:var(--color-brand-100);cursor:pointer;border:1px solid #0000;border-radius:.65rem;padding:0 1rem}.admin-panel .admin-create-toggle:hover{border-color:var(--color-brand-600)}.agent-create-form{background:var(--color-neutral-100);border:1px solid var(--color-neutral-300);border-radius:.7rem;gap:.75rem;margin-top:1rem;padding:.85rem;display:grid}@media (prefers-reduced-motion:reduce){.agent-chevron{transition:none}}.assignment-fieldset{border:1px solid var(--color-neutral-300);border-radius:.55rem;grid-column:1/-1;gap:.75rem;margin:0;padding:.75rem;display:grid}.assignment-options{flex-wrap:wrap;gap:.5rem 1rem;display:flex}.assignment-options label{grid-template-columns:auto 1fr;align-items:center;min-height:3rem;display:inline-flex}.assignment-options input{width:1.1rem;min-height:1.1rem;margin:0 .4rem 0 0}.compact-success{color:var(--color-status-done);margin:0}.agent-actions{grid-template-columns:minmax(10rem,1fr) auto auto;align-items:end;gap:.5rem;display:grid}.admin-panel .secondary-button{color:var(--color-brand-700);background:var(--color-brand-100)}.reference-list{gap:.5rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.reference-list li{border-top:1px solid var(--color-neutral-300);justify-content:space-between;align-items:center;gap:.75rem;padding-top:.5rem;display:flex}.reference-list button{min-width:3rem;min-height:3rem;color:var(--color-brand-700);background:var(--color-brand-100)}.confirmation-dialog fieldset label,.reservation-filters fieldset label{min-height:3rem}.confirmation-dialog input[type=radio]{width:1.1rem;min-height:1.1rem}@media (width<=44rem){.admin-header,.inline-form,.agent-actions{grid-template-columns:1fr;align-items:stretch}.admin-header{display:grid}.reservation-list-page .admin-header .page-icon-actions{justify-content:space-between;width:100%}.reservation-detail-page .detail-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.filtered-room-list{grid-template-columns:1fr}}.project-cards article{background:var(--color-white);border:1px solid var(--color-neutral-300);border-radius:1rem;grid-template-columns:1fr auto;align-items:center;gap:1rem;padding:1rem;display:grid}.project-name{font-size:var(--text-lg)}.project-links{grid-template-columns:3.5rem minmax(9.5rem,1fr);grid-template-areas:"create consult""create configure";gap:.5rem .75rem;min-width:15rem;display:grid}.project-links .icon-action{grid-area:create;align-self:center}.project-links .project-consult,.project-links .project-configure{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.project-links .project-consult{min-height:3.5rem;color:var(--color-white);background:linear-gradient(135deg, var(--color-brand-600), var(--color-brand-700));border-radius:.8rem;grid-area:consult;padding:0 1.25rem}.project-links .project-configure{min-height:3rem;color:var(--color-brand-700);background:var(--color-white);border:1px solid var(--color-neutral-300);border-radius:.7rem;grid-area:configure;padding:0 1rem}.choice-field{border:0;min-width:0;margin:0;padding:0}.choice-field legend{color:var(--color-neutral-700);font-weight:var(--weight-bold);margin-bottom:.45rem}.choice-row{flex-wrap:wrap;gap:.5rem;padding:.1rem 0 .35rem;display:flex}.choice-row button{min-height:3rem;color:var(--color-brand-700);font-weight:var(--weight-bold);background:var(--color-white);border:1px solid var(--color-brand-100);cursor:pointer;border-radius:.75rem;flex:none;padding:.6rem 1rem}.choice-row button[aria-pressed=true]{color:var(--color-white);background:var(--color-brand-600);border-color:var(--color-brand-600);box-shadow:inset 0 2px #0000002e}.choice-row button:focus-visible{outline:3px solid var(--color-brand-600);outline-offset:2px}.field-hint{color:var(--color-status-waiting);background:var(--color-neutral-100);border-radius:.65rem;margin:-.5rem 0 0;padding:.75rem}.photo-fields{min-width:0;padding:.55rem .65rem}.photo-fields>p{justify-content:space-between;align-items:center;gap:.75rem;margin:.5rem 0 0;display:flex}.camera-button{background:var(--color-brand-600);cursor:pointer;border-radius:.8rem;justify-content:center;align-items:center;width:100%;min-height:3.5rem;margin:0;padding:0;color:var(--color-white)!important;display:flex!important}.camera-button svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:1.55rem;height:1.55rem}.camera-button input{opacity:0;pointer-events:none;height:1px;min-height:1px;position:absolute;width:1px!important;padding:0!important}.reservation-filter-shell{gap:.75rem;margin-top:1rem;display:grid}.reservation-filter-shell .search-field{font-weight:var(--weight-bold);display:block;position:relative}.reservation-filter-shell .search-field input,.reservation-filters select{border:1px solid var(--color-neutral-300);border-radius:.7rem;width:100%;min-height:2.75rem;padding:.7rem}.reservation-filter-shell .search-field input{padding-left:3rem}.search-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;pointer-events:none;width:1.25rem;height:1.25rem;position:absolute;top:50%;left:.85rem;transform:translateY(-50%)}.filter-toggle{min-height:3.25rem;color:var(--color-white);font-weight:var(--weight-bold);background:var(--color-brand-600);cursor:pointer;border:0;border-radius:.8rem;justify-content:space-between;align-items:center;gap:.75rem;padding:0 1rem;display:inline-flex}.filter-chevron{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1.25rem;height:1.25rem;transition:transform .18s}.reservation-filters{background:var(--color-white);border:1px solid var(--color-neutral-300);border-radius:1rem;grid-template-columns:1fr;gap:1rem;padding:1rem;display:grid}.reservation-filters>label{font-weight:var(--weight-bold);gap:.35rem;display:grid}.reservation-filter-group{background:#f5f6f6;border-radius:.75rem;min-width:0;padding:.75rem}.reservation-filter-group .choice-field,.reservation-filter-group>label{grid-template-columns:1fr;gap:.35rem;display:grid}.reservation-filter-group .choice-field legend,.reservation-filter-group>label{font-weight:var(--weight-regular)}.reservation-filters .clear-filters{color:var(--color-brand-700);font-weight:var(--weight-bold);background:var(--color-brand-100);border:0;border-radius:.7rem}.reservation-card-list{gap:.75rem;margin:1rem 0 0;display:grid}.reservation-card-link{color:inherit;text-decoration:none}.reservation-card{border-radius:1rem;grid-template-columns:6rem minmax(0,1fr);min-height:7rem;box-shadow:0 6px 18px #1a382812}.reservation-card img,.reservation-card .photo-placeholder{object-fit:cover;width:100%;height:100%;min-height:7rem}.reservation-card-body{min-width:0;padding:.75rem}.reservation-card-top{align-items:flex-start}.reservation-card-top>strong{color:var(--color-neutral-700);font-size:var(--text-sm);font-weight:var(--weight-bold)}.reservation-card-top .status-badge{min-height:2.25rem;font-size:var(--text-sm);padding:.35rem .65rem}.reservation-card-top .status-icon{width:1.25rem;height:1.25rem}.form-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;display:grid}.reservation-form>.choice-field,.reservation-form>.multi-choice-field,.reservation-form .form-field,.reservation-form>.photo-fields{border:1px solid var(--color-neutral-300);background:#e9edeb;border-radius:.7rem;margin:0;padding:.55rem .65rem}.reservation-form>.choice-field[aria-invalid=true],.reservation-form>.multi-choice-field[aria-invalid=true],.reservation-form .form-field[data-empty=true]{border-color:#b3c0b9}.reservation-form [aria-invalid=true]:is(input,select,textarea){background:#f8f9f9;border-color:#9eaaa3}.reservation-form .choice-field legend{margin-bottom:.3rem}.multi-choice-field{border:0;min-width:0;margin:0;padding:0}.multi-choice-field legend{color:var(--color-neutral-700);font-weight:var(--weight-bold);margin-bottom:.3rem}.multi-choice-row{flex-wrap:wrap;gap:.5rem;padding:.1rem 0 .35rem;display:flex}.multi-choice-row button{min-height:3rem;color:var(--color-brand-700);font-weight:var(--weight-bold);background:var(--color-white);border:1px solid var(--color-brand-100);cursor:pointer;border-radius:.75rem;padding:.6rem 1rem}.multi-choice-row button[aria-pressed=true]{color:var(--color-white);background:var(--color-brand-600);border-color:var(--color-brand-600);box-shadow:inset 0 2px #0000002e}.multi-choice-row button:focus-visible{outline:3px solid var(--color-brand-600);outline-offset:2px}.reservation-form .primary-action:disabled{cursor:wait;opacity:.72}.reservation-card-body .location-label{color:var(--color-brand-700);font-weight:var(--weight-bold)}.reservation-card-body p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.reservation-table-wrap{display:none}.auth-panel h1,.admin-header h1:not(.reservation-id),.project-list h2,.admin-panel h2,.detail-panel h2,.status-actions h2,.confirmation-dialog h2,.similar-panel h2{color:var(--color-title);font-weight:var(--weight-regular)}@media (width<=38rem){.brand-panel{padding:1.5rem 1rem}.project-cards article{grid-template-columns:1fr;gap:.85rem}.project-links{grid-template-columns:3.5rem minmax(0,1fr);width:100%;min-width:0}.reservation-card{grid-template-columns:5.25rem minmax(0,1fr)}.form-pair{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.filter-chevron{transition:none}}.list-identity{align-items:baseline;gap:.75rem;min-width:0;display:flex}.reservation-list-page .list-identity h1{margin:0}.reservation-counter{color:var(--color-brand-700);background:var(--color-brand-100);white-space:nowrap;border-radius:999px;align-items:baseline;gap:.35rem;margin:0;padding:.2rem .7rem;display:inline-flex}.counter-value{font-size:var(--text-lg);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.counter-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em}.view-mode-switch{background:var(--color-neutral-100);border:1px solid var(--color-neutral-300);border-radius:999px;gap:.25rem;margin:.85rem 0 .35rem;padding:.25rem;display:inline-flex}.view-mode-switch button{min-height:2.5rem;color:var(--color-brand-700);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 1.1rem}.view-mode-switch button[aria-pressed=true]{color:var(--color-white);background:var(--color-brand-600)}.reservation-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}@media (width>=48rem){.reservation-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=64rem){.reservation-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}}.gallery-tile{height:100%;color:inherit;background:var(--color-white);border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.gallery-photo{aspect-ratio:4/3;background:var(--color-neutral-100);flex:none;display:block;position:relative}.gallery-photo img{object-fit:cover;width:100%;height:100%}.gallery-photo-empty{place-items:center;height:100%;display:grid}.gallery-status{border:2px solid var(--color-white);border-radius:50%;place-items:center;width:2rem;height:2rem;display:grid;position:absolute;top:.55rem;right:.55rem;box-shadow:0 1px 4px #00000047}.gallery-status .status-icon{width:1.15rem;height:1.15rem}.gallery-caption{flex-direction:column;gap:.15rem;padding:.55rem .65rem .7rem;display:flex}.gallery-caption strong{font-size:var(--text-sm);font-weight:var(--weight-bold);line-height:1.25}.gallery-caption small{color:var(--color-neutral-700);font-size:var(--text-xs);overflow-wrap:anywhere}.gallery-overdue{color:var(--color-status-not-done);font-weight:var(--weight-bold)}.back-to-top{right:1rem;bottom:max(1.25rem, calc(env(safe-area-inset-bottom) + 1rem));z-index:15;width:3rem;height:3rem;color:var(--color-white);background:var(--color-brand-600);box-shadow:var(--shadow-panel);cursor:pointer;border:0;border-radius:50%;place-items:center;display:grid;position:fixed}.back-to-top svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:1.4rem;height:1.4rem}.export-action{min-height:3rem;color:var(--color-brand-700);font-size:var(--text-sm);font-weight:var(--weight-bold);background:var(--color-brand-100);cursor:pointer;border:1px solid #0000;border-radius:.65rem;align-items:center;gap:.4rem;padding:0 1rem;display:inline-flex}.export-action svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1.15rem;height:1.15rem}.export-action:hover{border-color:var(--color-brand-600)}.reservation-list-page .page-icon-actions .export-action{margin-left:.4rem}.reservation-filters-shell{display:grid;overflow:hidden}.reservation-filters-shell[data-open=false]{display:none}.reservation-filters-shell[data-open=true] .reservation-filters-clip{animation:.2s both filtres-deroule}@keyframes filtres-deroule{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.reservation-filters-shell[data-open=true] .reservation-filters-clip{animation:none}}.reservation-filters-clip{border:0;border-radius:0 0 .8rem .8rem;min-height:0;padding:0;overflow:hidden}.reservation-filters-shell .reservation-filters{border-top:0;border-radius:0 0 .8rem .8rem}.filter-block{gap:0;display:grid}.filter-bar{background:var(--color-brand-600);border-radius:.8rem;align-items:stretch;display:flex;overflow:hidden}.filter-bar[data-open=true]{border-radius:.8rem .8rem 0 0}.filter-toggle{background:0 0;border-radius:0;flex:auto}.filter-toggle>span:first-child{align-items:center;gap:.5rem;display:inline-flex}.filter-count{min-width:1.4rem;height:1.4rem;color:var(--color-brand-700);font-size:var(--text-xs);font-variant-numeric:tabular-nums;background:var(--color-white);border-radius:999px;place-items:center;padding:0 .35rem;display:inline-grid}.filter-bar .clear-filters{width:3.25rem;min-height:3.25rem;color:var(--color-white);cursor:pointer;background:0 0;border:0;border-left:1px solid #ffffff40;place-items:center;padding:0;display:grid}.filter-bar .clear-filters svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:1.35rem;height:1.35rem}.filter-bar .clear-filters:hover{background:#00000026}.filter-chevron{transition:transform .22s}.filter-toggle[aria-expanded=true] .filter-chevron{transform:rotate(180deg)}@media (prefers-reduced-motion:reduce){.reservation-filters-shell,.filter-chevron{transition:none}}.choice-row-scrollable{scroll-snap-type:x proximity;overscroll-behavior-x:contain;scrollbar-width:none;flex-wrap:nowrap;scroll-padding-inline:.25rem;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 2rem),#0000 100%);mask-image:linear-gradient(90deg,#000 calc(100% - 2rem),#0000 100%)}.choice-row-scrollable::-webkit-scrollbar{height:0}@media (pointer:fine){.choice-row-scrollable{scrollbar-width:thin;scrollbar-color:var(--color-neutral-300) transparent;padding-bottom:.5rem}.choice-row-scrollable::-webkit-scrollbar{height:.4rem}.choice-row-scrollable::-webkit-scrollbar-thumb{background:var(--color-neutral-300);border-radius:999px}.choice-row-scrollable::-webkit-scrollbar-thumb:hover{background:var(--color-brand-600)}}.choice-row-scrollable button{scroll-snap-align:start}.choice-row-scrollable:after{content:"";flex:0 0 .5rem}@supports (animation-timeline:scroll(self inline)){.choice-row-scrollable{animation:linear choice-row-edges;animation-timeline:scroll(self inline);-webkit-mask-size:100% 100%;mask-size:100% 100%}@keyframes choice-row-edges{0%{-webkit-mask-image:linear-gradient(90deg,#000 0 calc(100% - 2rem),#0000 100%);mask-image:linear-gradient(90deg,#000 0 calc(100% - 2rem),#0000 100%)}50%{-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 2rem calc(100% - 2rem),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 2rem calc(100% - 2rem),#0000 100%)}to{-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 2rem 100%);mask-image:linear-gradient(90deg,#0000 0,#000 2rem 100%)}}}.create-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.create-header h1{text-align:right;margin:0}.icon-action-back svg{transition:transform .16s}.icon-action-back:hover svg{transform:translate(-2px)}@media (prefers-reduced-motion:reduce){.icon-action-back svg{transition:none}.icon-action-back:hover svg{transform:none}}.reservation-form .form-field{gap:.3rem;min-width:0;display:grid}.reservation-form .form-field>:is(input,select,textarea),.detail-edit-form :is(input,select,textarea){width:100%;min-width:0;max-width:100%}.reservation-form input[type=date],.detail-edit-form input[type=date]{appearance:none}.reservation-form .form-field>legend{color:var(--color-neutral-700);font-weight:var(--weight-bold);margin-inline-start:-.3rem;padding-inline:.3rem}.project-choice-panel{gap:.75rem;display:grid}.project-create-form{background:var(--color-neutral-100);border:1px solid var(--color-neutral-300);border-radius:.7rem;gap:.75rem;padding:.85rem;display:grid}.config-shell{margin-top:1rem}.danger-zone{border-color:var(--color-status-not-done-line);margin-top:1rem}.danger-zone h2{color:var(--color-status-not-done)}.danger-zone p{color:var(--color-neutral-700);margin:.35rem 0 .85rem}.admin-panel .project-delete-action{min-height:3rem;color:var(--color-white);font-weight:var(--weight-bold);background:var(--color-status-not-done);border:1px solid var(--color-status-not-done);cursor:pointer;border-radius:.65rem;align-items:center;gap:.5rem;padding:0 1rem;display:inline-flex}.project-delete-action svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.2rem;height:1.2rem}.project-delete-action:disabled{opacity:.55;cursor:not-allowed}.camera-button-full{opacity:.45;cursor:not-allowed}.photo-limit-hint{color:var(--color-neutral-700);font-size:var(--text-sm);margin:0}.mine-mark{vertical-align:-.15em;fill:none;width:.95rem;height:.95rem;stroke:var(--color-brand-600);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;margin-right:.3rem}.photo-thumbnails{gap:.5rem;margin-top:.75rem;display:grid}.photo-thumbnails .photo-count{color:var(--color-neutral-700);font-size:var(--text-sm);margin:0}.photo-thumbnails ul{flex-wrap:wrap;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.photo-thumbnails li{width:4.5rem;height:4.5rem;position:relative}.photo-thumbnails img{border:1px solid var(--color-neutral-300);object-fit:cover;border-radius:.55rem;width:100%;height:100%}.photo-thumbnails li button{aspect-ratio:1;background:var(--color-white);border:1px solid var(--color-neutral-300);cursor:pointer;border-radius:50%;place-items:center;width:2rem;height:2rem;min-height:0;padding:0;display:grid;position:absolute;top:-.4rem;right:-.4rem;box-shadow:0 2px 6px #00000024}.photo-thumbnails li button svg{fill:none;width:.95rem;height:.95rem;stroke:var(--color-neutral-700);stroke-linecap:round;stroke-width:2px}.status-confirm-headline{font-size:var(--text-lg);font-weight:var(--weight-medium);border-radius:.6rem;align-items:center;gap:.6rem;margin:0;padding:.7rem .9rem;display:flex}.status-confirm-headline svg{width:1.5rem;height:1.5rem}.status-confirm-headline-non_fait{color:var(--color-status-not-done);background:var(--color-status-not-done-soft)}.status-confirm-headline-en_cours{color:var(--color-status-in-progress);background:var(--color-status-in-progress-soft)}.status-confirm-headline-en_attente{color:var(--color-status-waiting);background:var(--color-status-waiting-soft)}.status-confirm-headline-fait{color:var(--color-status-done);background:var(--color-status-done-soft)}.status-confirm-dialog .status-confirm{margin-top:.9rem}.status-confirm-dialog label{color:var(--color-neutral-700);font-size:var(--text-sm)}.status-confirm-dialog .dialog-actions button{flex:8rem}.loading-block{text-align:center;justify-items:center;gap:.9rem;padding:3rem 1rem;display:grid}.loading-ring{border:2px solid var(--color-neutral-200,#e4e9e6);border-top-color:var(--color-brand-600);border-radius:50%;width:1.9rem;height:1.9rem;animation:.78s linear infinite loading-turn}.loading-block-label{color:var(--color-neutral-700);font-size:var(--text-sm)}@keyframes loading-turn{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.loading-ring{animation:none}}.pull-refresh{color:var(--color-neutral-700);font-size:var(--text-xs);place-items:center;gap:.35rem;transition:opacity .16s;display:grid;overflow:hidden}.pull-refresh-mark{border:2px solid var(--color-neutral-300);border-top-color:var(--color-brand-600);border-radius:50%;width:1.35rem;height:1.35rem;transition:transform .16s,border-color .16s}.pull-refresh-mark-armed{border-color:var(--color-brand-100);border-top-color:var(--color-brand-600);transform:rotate(180deg)}.pull-refresh-active .pull-refresh-mark{animation:.72s linear infinite pull-refresh-spin}@keyframes pull-refresh-spin{to{transform:rotate(360deg)}}.pull-refresh-content{transition:transform .22s}@media (prefers-reduced-motion:reduce){.pull-refresh-content{transition:none}.pull-refresh-active .pull-refresh-mark{animation:none}}.icon-action-refresh{cursor:pointer}.icon-action-refresh:hover svg,.icon-action-refresh:focus-visible svg{transform:rotate(-90deg)}.reference-row{border-bottom:1px solid var(--color-neutral-200,#e4e9e6);flex-wrap:wrap;align-items:center;gap:.6rem;padding:.6rem .2rem;display:flex}.reference-row:last-child{border-bottom:0}.reference-row-name{flex:10rem;gap:.1rem;min-width:0;display:grid}.reference-row-name small{color:var(--color-neutral-700);font-size:var(--text-xs)}.reference-row-field{flex:10rem;min-width:0}.reference-row-field input{border:1px solid var(--color-neutral-300);border-radius:.5rem;width:100%;padding:.55rem .65rem}.reference-row-actions{flex-shrink:0;gap:.4rem;display:flex}.admin-panel .reference-row-edit,.admin-panel .reference-row-remove{width:2.75rem;height:2.75rem;color:var(--color-neutral-700);background:var(--color-white);border:1px solid var(--color-neutral-300);cursor:pointer;border-radius:.5rem;place-items:center;padding:0;display:grid}.admin-panel .reference-row-remove{color:var(--color-status-not-done)}.reference-row-edit svg,.reference-row-remove svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:1.15rem;height:1.15rem}.reference-row-question{font-weight:var(--weight-medium);flex:12rem;gap:.15rem;margin:0;display:grid}.reference-row-question span{color:var(--color-neutral-700);font-size:var(--text-xs);font-weight:var(--weight-regular)}.admin-panel .reference-row-save{color:var(--color-white);background:var(--color-brand-600);border-color:var(--color-brand-600)}.admin-panel .reference-row-delete{color:var(--color-white);background:var(--color-status-not-done);border-color:var(--color-status-not-done)}.admin-panel .reference-row-cancel{color:var(--color-neutral-700);background:var(--color-white)}.admin-panel .reference-row-save,.admin-panel .reference-row-delete,.admin-panel .reference-row-cancel{cursor:pointer;border-radius:.5rem;padding:.6rem .85rem}.reference-row .form-alert{flex:100%;margin:.2rem 0 0}.status-tally{grid-template-columns:repeat(4,1fr);gap:.5rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.status-tally .status-pill{cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;width:100%;min-height:2.6rem;padding:.3rem .5rem;display:flex}.status-pill svg{width:1rem;height:1rem}.status-pill-value{font-size:var(--text-base);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;line-height:1}.status-tally .status-pill-non_fait{color:var(--color-status-not-done);background:var(--color-status-not-done-soft);border-color:var(--color-status-not-done-line)}.status-tally .status-pill-en_cours{color:var(--color-status-in-progress);background:var(--color-status-in-progress-soft);border-color:var(--color-status-in-progress-line)}.status-tally .status-pill-en_attente{color:var(--color-status-waiting);background:var(--color-status-waiting-soft);border-color:var(--color-status-waiting-line)}.status-tally .status-pill-fait{color:var(--color-status-done);background:var(--color-status-done-soft);border-color:var(--color-status-done-line)}.status-tally .status-pill[aria-pressed=true]{border-width:2px;border-color:currentColor;padding:calc(.3rem - 1px) calc(.5rem - 1px)}.status-tally .status-pill[aria-pressed=true] .status-pill-value{text-underline-offset:.2em;text-decoration:underline}.sync-action{position:relative}.sync-action-badge{min-width:1.35rem;height:1.35rem;color:var(--color-white);background:var(--color-brand-600);border:2px solid var(--color-white);font-size:var(--text-xs);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;padding:0 .25rem;line-height:1;display:grid;position:absolute;top:-.15rem;right:-.15rem}.sync-action-pending{border-color:var(--color-status-in-progress-line);color:var(--color-status-in-progress)}.sync-action-failed{border-color:var(--color-status-not-done);color:var(--color-status-not-done)}.sync-action-offline{border-color:var(--color-status-waiting-line);color:var(--color-status-waiting)}.sync-action-busy svg{animation:.78s linear infinite loading-turn}.sync-announcement{color:var(--color-brand-700);background:var(--color-brand-100);font-size:var(--text-sm);border-radius:.6rem;margin:0 0 .75rem;padding:.55rem .8rem}@media (prefers-reduced-motion:reduce){.sync-action-busy svg{animation:none}}.photo-kind-label{font-size:var(--text-sm);font-weight:var(--weight-bold);border:1px solid;border-radius:999px;align-items:center;gap:.4rem;margin:0 0 .5rem;padding:.25rem .6rem;display:inline-flex}.photo-kind-label:before{content:"";background:currentColor;border-radius:50%;width:.5rem;height:.5rem}.photo-kind-issue{color:var(--color-status-waiting);background:var(--color-status-waiting-soft);border-color:var(--color-status-waiting-line)}.photo-kind-fix{color:var(--color-status-done);background:var(--color-status-done-soft);border-color:var(--color-status-done-line)}.photo-group+.photo-group{border-top:1px solid var(--color-neutral-300);margin-top:1rem;padding-top:.9rem}.camera-button-fix{background:var(--color-status-done)!important}.camera-button-target{font-size:var(--text-sm);font-weight:var(--weight-medium);margin-left:.6rem}.reservation-form .photo-fields-issue>.photo-kind-label{margin-bottom:.45rem}.similar-reasons{flex-wrap:wrap;gap:.3rem;margin:.35rem 0 0;padding:0;list-style:none;display:flex}.similar-reasons li{color:var(--color-status-waiting);font-size:var(--text-xs);font-weight:var(--weight-medium);background:var(--color-white);border:1px solid var(--color-status-waiting-line);border-radius:999px;padding:.1rem .45rem}.list-toolbar{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.sort-toggle{width:3rem;height:3rem;min-height:3rem;color:var(--color-brand-700);background:var(--color-neutral-100);border:1px solid var(--color-neutral-300);cursor:pointer;border-radius:999px;place-items:center;padding:0;display:inline-grid}.sort-toggle svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.3rem;height:1.3rem}.sort-toggle:active{background:var(--color-brand-100)}.export-dialog{gap:1rem;display:grid}.export-dialog-head{gap:.15rem;display:grid}.export-dialog h2{font-size:var(--text-lg);margin:0}.export-dialog-project{color:var(--color-neutral-700);font-size:var(--text-sm);margin:0}.export-dialog .choice-field{gap:.35rem;display:grid}.export-dialog .choice-row{padding:0}.export-dialog .export-format{align-items:center;gap:.45rem;display:inline-flex}.export-dialog .export-format svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:1.1rem;height:1.1rem}.export-dialog .choice-field-wide .choice-row button{flex:100%}.export-dialog .dialog-actions{margin-top:.25rem}.export-dialog .dialog-actions button{min-height:3.25rem;font-weight:var(--weight-bold);border-radius:.7rem;flex:8rem}.export-dialog .export-download{padding:.65rem}.overdue-mark{width:1.75rem;height:1.75rem;color:var(--color-white);background:var(--color-status-not-done);pointer-events:none;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:.55rem;right:.55rem}.overdue-mark svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:1.05rem;height:1.05rem}.reservation-card,.gallery-tile{position:relative}.overdue-mark-inline{vertical-align:-.35em;width:1.4rem;height:1.4rem;margin-left:.35rem;display:inline-grid;position:static}.overdue-mark-inline svg{width:.9rem;height:.9rem}.overdue-filter{align-items:center;gap:.15rem;display:inline-flex}.overdue-mark-plain{color:inherit;background:0 0}
