:root{--bg:#fbf2de;--surface:#fff;--ink:#2b2118;--ink-muted:#7a6a55;--brand:#f2653a;--brand-deep:#d6491f;--brand-ink:#fff8ef;--accent:#4f9d5c;--border:#ecdfc2;--available-bg:#dff2e1;--available-fg:#276a34;--booked-bg:#fbe1e7;--booked-fg:#a83955;--shadow:0 2px 3px #5a320a0f, 0 10px 22px -12px #5a320a40;--tag-cyclofficine:#f2653a;--tag-repaircafe:#2e9bc4;--tag-voisins:#2e8f7a}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#221a14;--surface:#2e2319;--ink:#f5e9d8;--ink-muted:#c4ad91;--brand:#ff8258;--brand-deep:#e8623a;--brand-ink:#2a1407;--accent:#6bc47d;--border:#43331f;--available-bg:#1f3a26;--available-fg:#86dd9a;--booked-bg:#3f232c;--booked-fg:#f3a1b6;--shadow:0 2px 3px #00000059, 0 12px 26px -14px #0000008c;--tag-cyclofficine:#ff8258;--tag-repaircafe:#5cc0ea;--tag-voisins:#4db3a0}}:root[data-theme=dark]{--bg:#221a14;--surface:#2e2319;--ink:#f5e9d8;--ink-muted:#c4ad91;--brand:#ff8258;--brand-deep:#e8623a;--brand-ink:#2a1407;--accent:#6bc47d;--border:#43331f;--available-bg:#1f3a26;--available-fg:#86dd9a;--booked-bg:#3f232c;--booked-fg:#f3a1b6;--shadow:0 2px 3px #00000059, 0 12px 26px -14px #0000008c;--tag-cyclofficine:#ff8258;--tag-repaircafe:#5cc0ea;--tag-voisins:#4db3a0}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}a{color:inherit;text-decoration:none}.label{text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;font-weight:800}.mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,SF Mono,Cascadia Code,Roboto Mono,monospace}.modal-backdrop{z-index:100;background:#2b211873;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--surface);box-shadow:var(--shadow);border-radius:18px;flex-direction:column;gap:14px;width:min(360px,90vw);padding:24px;display:flex}.modal h2{margin:0;font-size:1.15rem;font-weight:800}.modal .field{flex-direction:column;gap:6px;display:flex}.modal .field label{color:var(--ink-muted);font-size:.8rem;font-weight:700}.modal .field input{border:1px solid var(--border);background:var(--bg);color:var(--ink);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:.94rem}.modal-error{color:var(--booked-fg);margin:0;font-size:.84rem}.modal .form-actions{gap:10px;display:flex}.modal .btn-primary{background:var(--brand);color:var(--brand-ink);cursor:pointer;border:none;border-radius:100px;padding:10px 20px;font-size:.9rem;font-weight:700}.modal .btn-ghost{color:var(--ink-muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:100px;padding:10px 20px;font-size:.9rem;font-weight:700}.topbar{background:var(--brand);color:var(--brand-ink)}.topbar-inner{justify-content:space-between;align-items:center;gap:20px;max-width:1180px;margin:0 auto;padding:20px 28px;display:flex}.wordmark-group{align-items:baseline;gap:10px;display:flex}.wordmark{letter-spacing:-.01em;font-size:1.3rem;font-weight:900}.wordmark-spellout{color:color-mix(in srgb, var(--brand-ink) 78%, transparent);font-size:.8rem;font-weight:600}.topbar-right{align-items:center;gap:20px;display:flex}.nav-link{color:color-mix(in srgb, var(--brand-ink) 90%, transparent);font-size:.86rem;font-weight:700;transition:color .15s}.nav-link:hover{color:var(--brand-ink)}.staff-link{background:color-mix(in srgb, var(--brand-ink) 16%, transparent);color:inherit;white-space:nowrap;cursor:pointer;border:none;border-radius:100px;padding:8px 16px;font-size:.84rem;font-weight:700;transition:background .15s,transform .15s}.staff-link:hover{background:color-mix(in srgb, var(--brand-ink) 26%, transparent);transform:translateY(-1px)}.bunting{height:6px;display:flex}.bunting span{flex:1}.bunting span:nth-child(6n+1){background:var(--accent)}.bunting span:nth-child(6n+2){background:var(--tag-repaircafe)}.bunting span:nth-child(6n+3){background:#f2b705}.bunting span:nth-child(6n+4){background:#d9527a}.bunting span:nth-child(6n+5){background:var(--tag-voisins)}.bunting span:nth-child(6n+6){background:var(--brand-deep)}.pill{text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border-radius:100px;flex-shrink:0;padding:3px 9px;font-size:.66rem;font-weight:800}.pill.available{background:var(--available-bg);color:var(--available-fg)}.pill.booked{background:var(--booked-bg);color:var(--booked-fg)}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:20px;flex-direction:column;transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s;display:flex;overflow:hidden}.card:hover{transform:translateY(-4px)rotate(-.6deg);box-shadow:0 3px 4px #5a320a14,0 20px 34px -16px #5a320a59}.card .thumb{aspect-ratio:4/3;background:var(--bg);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.card .thumb img{object-fit:cover;width:100%;height:100%;display:block}.card .body{flex-direction:column;flex:1;gap:7px;padding:15px 17px 16px;display:flex}.card .top-row{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.card h3{margin:0;font-size:1.05rem;font-weight:800}.card p.desc{color:var(--ink-muted);margin:0;font-size:.88rem;line-height:1.45}.card .tenant{align-items:center;gap:6px;margin-top:auto;padding-top:10px;font-size:.78rem;font-weight:700;display:flex}.card .tenant .dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.loading{color:var(--ink-muted);flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:80px 20px;font-size:.94rem;font-weight:600;display:flex}.loading-spinner{border:3px solid var(--border);border-top-color:var(--brand);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite loading-spin}@keyframes loading-spin{to{transform:rotate(360deg)}}.chip{border:2px solid var(--border);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:100px;align-items:center;gap:7px;padding:7px 16px;font-size:.84rem;font-weight:700;transition:border-color .15s,transform .15s;display:inline-flex}.chip .dot{border-radius:50%;width:8px;height:8px}.chip:hover{border-color:var(--accent);transform:translateY(-1px)}.chip.active{background:var(--ink);border-color:var(--ink);color:var(--bg)}.chip.active .dot{outline:2px solid color-mix(in srgb, var(--bg) 60%, transparent)}.search-hero{max-width:1180px;margin:0 auto;padding:34px 28px 30px}.about-text{flex-direction:column;gap:10px;max-width:680px;margin:0 0 28px;display:flex}.about-text p{color:var(--ink);margin:0;font-size:1.1rem;line-height:1.55}.about-text p:first-child{font-weight:700}.search-shell{max-width:620px;position:relative}.search-shell svg{width:19px;height:19px;stroke:var(--brand);fill:none;stroke-width:2.4px;pointer-events:none;position:absolute;top:50%;left:20px;transform:translateY(-50%)}.search-shell input{border:2px solid var(--border);background:var(--surface);width:100%;color:var(--ink);box-shadow:var(--shadow);border-radius:100px;padding:16px 20px 16px 52px;font-family:inherit;font-size:1.02rem;font-weight:600}.search-shell input::placeholder{color:var(--ink-muted);font-weight:400}.search-shell input:focus{border-color:var(--accent);outline:none}.filter-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;display:flex}.filter-row .filter-label{color:var(--ink-muted);font-size:.84rem;font-weight:700}.page-home main{max-width:1180px;margin:0 auto;padding:0 28px 64px}.result-line{color:var(--ink-muted);margin:0 0 18px;font-size:.88rem;font-weight:700}.empty-state{text-align:center;color:var(--ink-muted);padding:60px 20px;font-weight:600}.join-banner{background:var(--brand-ink);margin-top:40px}.join-banner-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;max-width:1180px;margin:0 auto;padding:40px 28px;display:flex}.join-banner-copy{flex-direction:column;gap:6px;max-width:640px;display:flex}.join-banner-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--brand);font-size:.7rem;font-weight:800}.join-banner-copy h2{color:var(--ink);margin:0;font-size:1.4rem;font-weight:800}.join-banner-copy p{color:var(--ink-muted);margin:4px 0 0;font-size:.96rem;line-height:1.55}.join-banner-cta{background:var(--brand);color:var(--brand-ink);white-space:nowrap;border-radius:100px;padding:12px 22px;font-size:.9rem;font-weight:700;text-decoration:none}.join-banner-cta:hover{background:var(--brand-deep)}@media (width<=560px){.search-hero{padding:24px 18px}.page-home main{padding:0 18px 48px}}.breadcrumb{max-width:1180px;color:var(--ink-muted);align-items:center;gap:8px;margin:0 auto;padding:22px 28px 0;font-size:.86rem;font-weight:600;display:flex}.breadcrumb a:hover{color:var(--brand)}.breadcrumb .sep{opacity:.5}.intro{max-width:1180px;margin:0 auto;padding:14px 28px 30px}.intro h1{letter-spacing:-.01em;margin:0 0 8px;font-size:1.7rem;font-weight:900}.intro p{max-width:60ch;color:var(--ink-muted);margin:0;font-size:1rem;line-height:1.5}.page-organisations main{max-width:1180px;margin:0 auto;padding:0 28px 64px}.org-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px;display:grid}.org-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-top:5px solid var(--tint,var(--brand));border-radius:20px;flex-direction:column;gap:10px;padding:22px 22px 20px;transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s;display:flex}.org-card:hover{transform:translateY(-4px)rotate(-.4deg);box-shadow:0 3px 4px #5a320a14,0 20px 34px -16px #5a320a59}.org-card .name{font-size:1.15rem;font-weight:800}.org-card .what{color:var(--ink-muted);font-size:.9rem;line-height:1.5}.org-card .meta{border-top:1px solid var(--border);color:var(--ink-muted);justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;font-size:.8rem;display:flex}.org-card .meta .count{color:var(--tint,var(--brand));font-weight:700}@media (width<=560px){.intro{padding:12px 18px 24px}.page-organisations main{padding:0 18px 48px}}.profile{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;max-width:1180px;margin:0 auto;padding:16px 28px 30px;display:flex}.profile h1{letter-spacing:-.01em;margin:0 0 8px;font-size:1.9rem;font-weight:900}.profile .what{max-width:58ch;color:var(--ink-muted);margin:0;font-size:1rem;line-height:1.5}.contact-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-top:4px solid var(--tint,var(--brand));border-radius:16px;flex-direction:column;gap:8px;min-width:220px;padding:16px 18px;display:flex}.contact-card .row{gap:8px;font-size:.86rem;display:flex}.contact-card .row .k{color:var(--ink-muted);flex-shrink:0;min-width:60px}.page-organisation-detail main{max-width:1180px;margin:0 auto;padding:30px 28px 64px}.section-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.section-head h2{margin:0;font-size:1.3rem;font-weight:800}.grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:22px;display:grid}@media (width<=720px){.profile{flex-direction:column;align-items:flex-start}.page-organisation-detail main{padding:24px 18px 48px}}.btn-add{background:var(--tint,var(--brand));color:var(--brand-ink);cursor:pointer;box-shadow:var(--shadow);border:none;border-radius:100px;align-items:center;gap:8px;padding:10px 18px;font-size:.88rem;font-weight:700;transition:transform .15s;display:inline-flex}.btn-add:hover{transform:translateY(-1px)}.add-form{background:var(--surface);border:2px dashed var(--tint,var(--brand));border-radius:20px;margin-bottom:24px;padding:22px}.add-form h3{margin:0 0 16px;font-size:1.05rem;font-weight:800}.field-grid{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;display:grid}.field.full{grid-column:1/-1}.field input[type=text],.field input[type=file],.field textarea{border:1px solid var(--border);background:var(--bg);color:var(--ink);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:.94rem}.page-item-detail main{max-width:1180px;margin:0 auto;padding:22px 28px 64px}.detail-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:44px;display:grid}.photo{aspect-ratio:4/3;border:1px solid var(--border);box-shadow:var(--shadow);background:var(--surface);border-radius:22px;overflow:hidden}.photo img{object-fit:cover;width:100%;height:100%;display:block}.info{flex-direction:column;gap:16px;padding-top:4px;display:flex}.info .org-tag{align-self:flex-start;align-items:center;gap:7px;padding:4px 0;font-size:.84rem;font-weight:700;display:inline-flex}.info .org-tag .dot{border-radius:50%;width:9px;height:9px}.info .title-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.info h1{letter-spacing:-.015em;text-wrap:balance;margin:0;font-size:2.1rem;font-weight:900}.info .desc{color:var(--ink-muted);max-width:52ch;margin:0;font-size:1.04rem;line-height:1.6}.how-to{border-top:2px dashed var(--border);flex-direction:column;gap:6px;padding-top:18px;display:flex}.how-to .label{color:var(--brand)}.how-to p{color:var(--ink);max-width:48ch;margin:0;font-size:.94rem;line-height:1.55}@media (width<=720px){.detail-grid{grid-template-columns:1fr;gap:24px}.info h1{font-size:1.7rem}.page-item-detail main{padding:18px 18px 48px}}.btn-edit{background:var(--surface);border:1px solid var(--border);color:var(--ink);cursor:pointer;border-radius:100px;align-items:center;gap:6px;padding:7px 14px;font-size:.82rem;font-weight:700;transition:border-color .15s;display:inline-flex}.btn-edit:hover{border-color:var(--brand)}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--ink-muted);font-size:.8rem;font-weight:700}.field input[type=text],.field input[type=date],.field textarea{border:1px solid var(--border);background:var(--bg);color:var(--ink);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:.94rem}.field textarea{resize:vertical;min-height:64px}.form-error{color:var(--booked-fg);margin:0;font-size:.84rem}.form-actions{gap:10px;display:flex}.btn-primary{background:var(--brand);color:var(--brand-ink);cursor:pointer;border:none;border-radius:100px;padding:10px 20px;font-size:.9rem;font-weight:700}.btn-ghost{color:var(--ink-muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:100px;padding:10px 20px;font-size:.9rem;font-weight:700}.edit-form{background:var(--surface);border:2px dashed var(--brand);border-radius:18px;flex-direction:column;gap:12px;padding:18px;display:flex}.admin-panel{border-top:2px dashed var(--border);margin-top:34px;padding-top:26px}.admin-panel h2{margin:0 0 16px;font-size:1.2rem;font-weight:800}.booking-form{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:18px;grid-template-columns:1.1fr 1.1fr 1fr auto;align-items:end;gap:14px;margin-bottom:24px;padding:20px;display:grid}.history-list{flex-direction:column;gap:10px;display:flex}.history-row{background:var(--surface);border:1px solid var(--border);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:.88rem;display:flex}.history-row .who-block{flex-direction:column;gap:2px;display:flex}.history-row .who{font-weight:700}.history-row .when{color:var(--ink-muted)}.history-status{text-transform:uppercase;letter-spacing:.05em;background:var(--available-bg);color:var(--available-fg);white-space:nowrap;border-radius:100px;padding:3px 10px;font-size:.68rem;font-weight:800}@media (width<=900px){.booking-form{grid-template-columns:1fr 1fr}}@media (width<=560px){.booking-form{grid-template-columns:1fr}}
