.account-dialog{width:920px}.account-card{display:flex;flex-direction:column;cursor:pointer;min-width:0}.account-card-top{display:flex;align-items:center;gap:18px;justify-content:space-between}.account-logo,.account-monogram{width:84px;height:84px;flex-shrink:0;object-fit:contain;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:8px}.account-monogram{display:grid;place-items:center;font:38px var(--heading-font);color:var(--green);background:var(--soft)}.account-card .account-excerpt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.account-audience{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.account-audience .tag{letter-spacing:.2px;text-transform:none;font-size:12px}.account-card .account-details-button{align-self:flex-start;margin-top:auto}.account-heading{display:flex;gap:22px;align-items:center;margin:12px 0 24px;padding-bottom:24px;border-bottom:1px solid var(--line)}.account-heading h2{margin:12px 0 0}.account-heading .account-logo,.account-heading .account-monogram{width:108px;height:108px}.account-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.account-profile-grid section{margin-bottom:28px}.account-profile-grid h3{font:24px var(--heading-font);margin:0 0 16px}.account-description{white-space:pre-wrap;line-height:1.7;overflow-wrap:anywhere}.account-contact{display:inline-block;margin:8px 0}.account-location address{font-style:normal;line-height:1.6;margin-bottom:18px}.account-map{width:100%;height:270px;border:1px solid var(--line);border-radius:var(--radius);display:block;background:var(--soft);margin:14px 0}.account-map-empty{padding:32px 20px;background:var(--soft);border:1px dashed var(--line);border-radius:var(--radius);text-align:center}.account-map-empty>span{font-size:40px}.account-map-credit{font-size:11px;line-height:1.5}.account-hours{margin:0}.account-hours>div{display:grid;grid-template-columns:1fr 1.5fr;padding:10px 0;border-bottom:1px solid var(--line);gap:10px}.account-hours dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.account-hours dt{font-weight:600}.account-dialog fieldset{min-width:0;border:1px solid var(--line);border-radius:var(--radius);padding:20px;display:grid;gap:16px}.account-dialog fieldset[hidden],.account-dialog [hidden]{display:none!important}.account-dialog legend{font:21px var(--heading-font);padding:0 8px}.account-two-columns{display:grid;grid-template-columns:1fr 2fr;gap:16px}.account-logo-editor{display:flex;gap:20px;align-items:flex-start}.account-logo-editor>div:last-child{min-width:0}.account-day{display:grid;grid-template-columns:1fr 2fr;gap:16px;padding:14px 0;border-top:1px solid var(--line)}.account-slots{display:grid;grid-template-columns:1fr 1fr;gap:12px}.account-slots>div{display:grid;grid-template-columns:1fr 1fr;gap:6px}.account-slots input{width:100%;min-width:0;padding:10px 4px}.account-legacy{background:var(--soft);padding:14px;line-height:1.7}.account-dialog #account-location-results{display:grid;gap:8px}.account-dialog #account-location-results:empty{display:none}.account-dialog #account-location-results button{text-align:left}.account-dialog #account-map-preview:empty{display:none}.account-dialog #form-error{color:var(--danger);white-space:pre-wrap}.account-dialog #form-error:empty{display:none}.account-dialog label,.account-heading>div,.account-profile-grid>div,.account-profile-grid>section{min-width:0;overflow-wrap:anywhere}.account-dialog #account-business-audience .account-two-columns{grid-template-columns:1fr 1fr}
/* Local theme variables keep category colours consistent with every card/button shape. */
.account-card[data-account-kind=association]{--green:#703bb5;--accent:#703bb5;--highlight:#dcc5fa;--on-highlight:#3e205f;--soft:#eee2fc;--surface:#fbf8ff;--ink:#352349;--muted:#665872;--line:#c8b2de}
.account-card[data-account-kind=commerce]{--green:#a23e16;--accent:#a23e16;--highlight:#ffd2a8;--on-highlight:#642c12;--soft:#ffead7;--surface:#fffaf4;--ink:#492c23;--muted:#775d51;--line:#ddb99b}
.account-card[data-account-kind=entreprise]{--green:#12665c;--accent:#12665c;--highlight:#a9e4db;--on-highlight:#174e47;--soft:#d8f2ed;--surface:#f3fcfb;--ink:#203e3b;--muted:#4b6864;--line:#9ccac2}
.account-card[data-account-kind]{--on-primary:#fff;color:var(--ink)}
.account-card[data-account-kind] .account-card-top .tag{background:var(--highlight,var(--soft));color:var(--on-highlight,var(--ink))}
@media(max-width:650px){.account-dialog{padding:22px 16px}.account-profile-grid{grid-template-columns:1fr;gap:8px}.account-heading{gap:14px}.account-heading .account-logo,.account-heading .account-monogram{width:72px;height:72px}.account-heading h2{font-size:27px}.account-dialog fieldset{padding:14px}.account-day{grid-template-columns:1fr}.account-two-columns{grid-template-columns:1fr}.account-logo-editor{flex-direction:column}.account-slots{gap:14px}.account-map{height:240px}}

.account-admin-summary{border-top:1px solid var(--line);margin-top:18px;padding-top:12px;overflow-wrap:anywhere}.account-admin-summary p{margin:8px 0}.account-admin-summary small{display:block;color:var(--muted);margin-top:4px}.account-admin-editor{padding:20px;margin:24px 0;border:1px solid var(--line);border-radius:var(--radius);background:var(--soft)}.account-admin-editor h3{margin-top:0}.account-admin-editor form{padding:16px 0;border-top:1px solid var(--line);display:grid;gap:12px}.account-admin-editor p{margin:0}.account-admin-editor label{display:grid;gap:8px}.account-admin-editor button{justify-self:start}.account-admin-editor [data-admin-feedback]:empty{display:none}.account-admin-editor [data-admin-feedback]{overflow-wrap:anywhere}
.account-websites{list-style:none;margin:12px 0;padding:0;display:grid;gap:10px}.account-websites a{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;overflow-wrap:anywhere;max-width:100%}.account-websites small{display:block;flex-basis:100%;color:var(--muted);font-size:12px}.account-social-links{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}.account-dialog .account-social-link{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;flex:0 0 46px;border:1px solid var(--line);border-radius:14px;background:var(--soft);color:var(--ink);text-decoration:none;box-shadow:none}.account-dialog .account-social-link:hover{background:var(--green);color:var(--on-primary)}.account-social-link svg,.account-network-label svg{width:23px;height:23px;fill:currentColor;stroke:none;flex-shrink:0}.account-dialog .account-social-link:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.account-phone{margin-top:16px}.account-phone [data-phone-status]:empty{display:none}.account-practical{margin:0}.account-practical>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line)}.account-practical dd{margin:0;font-weight:600}.account-website-row{display:grid;grid-template-columns:1fr 1.6fr auto;gap:12px;align-items:end;padding:14px 0;border-top:1px solid var(--line)}.account-website-row input{width:100%;min-width:0}.account-website-row button{margin-bottom:3px}.account-social-editor summary{cursor:pointer;font-weight:650}.account-social-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.account-social-fields input{width:100%;min-width:0}.account-network-label{display:flex;align-items:center;gap:8px}.account-audience-switches{display:grid;gap:12px}.account-dialog .account-switch{display:grid;grid-template-columns:1fr 44px 32px;align-items:center;gap:12px;position:relative;padding:12px;border:1px solid var(--line);border-radius:12px;cursor:pointer}.account-switch input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.account-switch-track{display:block;width:44px;height:24px;background:var(--muted);border:1px solid var(--line);border-radius:16px;position:relative}.account-switch-track:before{content:'';position:absolute;width:18px;height:18px;top:2px;left:2px;border-radius:50%;background:var(--surface)}.account-switch input:checked+.account-switch-track{background:var(--green)}.account-switch input:checked+.account-switch-track:before{left:22px;background:var(--on-primary)}.account-switch input:focus-visible+.account-switch-track{outline:3px solid var(--accent);outline-offset:3px}.account-switch input:disabled~span{opacity:.6}.account-switch-state{font-weight:650}@media(max-width:650px){.account-website-row,.account-social-fields{grid-template-columns:1fr}.account-website-row button{justify-self:start}.account-practical>div{gap:10px}}

/* Public directory 2.9: restrained cards and compact, icon-led profiles.
   Public styles are scoped so editing forms keep their existing controls. */
.account-icon{width:20px;height:20px;flex:0 0 20px;vertical-align:middle;fill:none;stroke:currentColor}
:is(.account-card,.account-public-profile){--account-accent:#187268;--account-tint:#edf7f4;--account-border:#d4e9e3}
:is(.account-card,.account-public-profile)[data-account-kind=association]{--account-accent:#7043b2;--account-tint:#f3eefb;--account-border:#e5d9f4}
:is(.account-card,.account-public-profile)[data-account-kind=commerce]{--account-accent:#a95024;--account-tint:#fff2e8;--account-border:#f4dfcf}
:is(.account-card,.account-public-profile)[data-account-kind=entreprise]{--account-accent:#187268;--account-tint:#edf7f4;--account-border:#d4e9e3}
:is(.account-card,.account-public-profile)[data-account-kind]{--green:var(--account-accent);--accent:var(--account-accent);--surface:#fff;--ink:#26362f;--muted:#62716b;--line:#e4eae7;--soft:#f5f8f6;--on-primary:#fff;color:var(--ink);font-family:var(--body-font,system-ui,sans-serif)}
#results.grid:has(.account-card){gap:20px;padding:0;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
#results .account-card{display:flex;flex-direction:column;min-width:0;padding:24px 24px 0;border:1px solid #e1e8e4;border-top:3px solid var(--account-border);border-radius:20px;background:#fff;box-shadow:0 4px 20px #183b2c08;rotate:none;transform:none;cursor:pointer;transition:border-color .18s,box-shadow .18s}
#results .account-card:hover,#results .account-card:focus-within{border-color:var(--account-border);box-shadow:0 8px 26px #183b2c12}
.account-card .account-card-top{gap:14px;align-items:center}
.account-card .account-logo,.account-card .account-monogram{width:68px;height:68px;padding:6px;border:1px solid var(--line);border-radius:16px;background:#fff}
.account-card .account-monogram{font:650 28px var(--body-font,system-ui,sans-serif);background:var(--account-tint);color:var(--account-accent);border-color:transparent}
.account-kind-chip{display:inline-flex;align-items:center;gap:7px;width:fit-content;max-width:100%;padding:6px 9px;border:0;border-radius:8px;background:var(--account-tint);color:var(--account-accent);font:600 11px/1.4 var(--body-font,system-ui,sans-serif);letter-spacing:.2px;text-transform:none;white-space:nowrap}
.account-kind-chip .account-icon{width:15px;height:15px;flex-basis:15px}
.account-card-content{flex:1;min-width:0}
.account-card h3{font:650 22px/1.3 var(--body-font,system-ui,sans-serif);letter-spacing:-.55px;margin:20px 0 10px;overflow-wrap:anywhere}
.account-card .account-excerpt{font-size:14px;line-height:1.65;color:var(--muted);margin:0 0 18px;white-space:pre-line}
.account-card .account-card-address{display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.6;color:var(--muted);margin:16px 0;overflow-wrap:anywhere}
.account-card-address .account-icon{width:17px;height:17px;flex-basis:17px;margin-top:1px;color:var(--account-accent)}
:is(.account-card,.account-public-profile) .account-audience{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0 4px}
.account-audience-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border-radius:7px;background:var(--account-tint);color:var(--account-accent);font-size:11px;line-height:1.4;font-weight:550}
.account-audience-chip .account-icon{width:15px;height:15px;flex-basis:15px}
.account-card-footer{margin-top:22px;border-top:1px solid var(--line)}
#results .account-card button.account-details-button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin:0;padding:15px 0;min-height:54px;background:transparent;color:var(--account-accent);border:0;border-radius:0;box-shadow:none;font-size:13px;font-weight:650;translate:none}
#results .account-card button.account-details-button::after{display:none}
.account-details-button>.account-icon{width:28px;height:28px;flex-basis:28px;padding:5px;background:var(--account-tint);border-radius:50%}
#results .account-details-button:focus-visible{outline:2px solid var(--account-accent);outline-offset:3px;border-radius:8px}
#modal.account-dialog:has(.account-public-profile){width:960px;padding:0;border:1px solid #dbe4df;border-radius:24px;background:#fff;color:#26362f;box-shadow:0 25px 90px #10251c33}
#modal.account-dialog:has(.account-public-profile)>#close{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:36px;height:36px;border:1px solid #e4eae7;border-radius:50%;background:#fff;color:#26362f;z-index:2;box-shadow:none}
.account-public-profile .account-heading{margin:0;padding:36px 60px 28px 32px;gap:24px;align-items:flex-start;border-bottom:1px solid var(--line);background:linear-gradient(125deg,var(--account-tint),#fff 75%);border-radius:23px 23px 0 0}
.account-public-profile .account-heading .account-logo,.account-public-profile .account-heading .account-monogram{width:96px;height:96px;padding:10px;border:1px solid var(--account-border);border-radius:22px;background:#fff;font:650 38px var(--body-font,system-ui,sans-serif);color:var(--account-accent)}
.account-public-profile .account-heading h2{font:650 clamp(24px,3vw,32px)/1.2 var(--body-font,system-ui,sans-serif);letter-spacing:-.8px;margin:12px 0 0;overflow-wrap:anywhere}
.account-public-profile .account-heading .account-audience{margin-top:14px}
.account-draft-label{display:inline-block;margin-left:10px;font-size:11px;color:var(--muted)}
.account-public-columns{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:36px;padding:30px 32px 32px}
.account-public-columns.account-public-single{grid-template-columns:minmax(0,1fr)}
.account-public-columns>div{min-width:0}
.account-public-profile section{margin:0 0 30px;min-width:0}
.account-public-profile section:last-child{margin-bottom:0}
.account-public-profile h3{display:flex;align-items:center;gap:9px;font:650 15px/1.4 var(--body-font,system-ui,sans-serif);letter-spacing:-.15px;margin:0 0 16px}
.account-public-profile h3>.account-icon{color:var(--account-accent);width:18px;height:18px;flex-basis:18px}
.account-public-profile .account-description{font-size:14px;line-height:1.85;margin:0;color:var(--muted);white-space:pre-wrap}
.account-public-profile .account-contact-panel{padding:20px;background:#f6f8f7;border:1px solid var(--line);border-radius:16px}
.account-contact-list{display:grid;gap:4px}
#modal .account-public-profile .account-contact-action{display:flex;align-items:center;gap:11px;width:100%;min-width:0;min-height:46px;margin:0;padding:10px 0;border:0;border-radius:6px;box-shadow:none;translate:none;background:transparent;color:var(--ink);text-decoration:none;text-align:left;font:550 13px/1.5 var(--body-font,system-ui,sans-serif)}
#modal .account-public-profile .account-contact-action::after{display:none}
.account-contact-action>.account-icon:first-child{color:var(--account-accent);width:18px;height:18px;flex-basis:18px}
.account-contact-action>span{flex:1;min-width:0;overflow-wrap:anywhere}
.account-contact-action strong{font:inherit;font-weight:600;display:block}
.account-contact-action small{display:block;color:var(--muted);font-size:11px;font-weight:400;margin-top:1px}
.account-contact-action>.account-icon:last-child{width:14px;height:14px;flex-basis:14px;color:var(--muted)}
#modal .account-public-profile .account-contact-action:hover{color:var(--account-accent);text-decoration:underline;text-underline-offset:3px}
.account-public-profile .account-phone{margin:0}
.account-public-profile .account-phone [data-phone-status]{font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.account-public-profile .account-social-links{margin:14px 0 0;padding-top:16px;border-top:1px solid var(--line);gap:9px}
#modal .account-public-profile .account-social-link{width:38px;height:38px;flex-basis:38px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--account-accent)}
#modal .account-public-profile .account-social-link svg{width:18px;height:18px}
#modal .account-public-profile .account-social-link:hover{background:var(--account-tint);border-color:var(--account-border)}
.account-public-profile .account-location address{font-size:13px;color:var(--muted);line-height:1.8;margin-bottom:12px;overflow-wrap:anywhere}
.account-public-profile .account-map{height:210px;border-radius:14px;margin:12px 0}
.account-public-profile .account-map-link,.account-public-profile .account-location>a{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;text-underline-offset:4px}
.account-map-link .account-icon{width:14px;height:14px;flex-basis:14px}
.account-public-profile .account-map-credit{font-size:10px;line-height:1.6;color:var(--muted)}
.account-practical-list{list-style:none;display:grid;gap:10px;padding:0;margin:0}
.account-practical-list li{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--muted)}
.account-practical-list .account-icon{color:var(--account-accent);width:18px;height:18px;flex-basis:18px}
.account-public-profile .account-hours{font-size:12px;line-height:1.6}
.account-public-profile .account-hours>div{padding:8px 0;gap:12px;border-color:var(--line);grid-template-columns:1fr 1.7fr}
.account-public-profile .account-hours dt{font-weight:500;color:var(--muted)}
.account-public-profile .account-hours dd{font-weight:500;color:var(--ink)}
.account-public-profile .account-hours+.account-description{font-size:12px;margin-top:12px}
#modal:has(.account-public-profile) .account-admin-editor{margin:0 32px 32px}
.account-public-profile :is(a,button):focus-visible{outline:2px solid var(--account-accent);outline-offset:4px}
@media(max-width:650px){
 #results .account-card{padding:20px 20px 0}.account-card h3{font-size:21px}
 #modal.account-dialog:has(.account-public-profile){max-width:calc(100vw - 20px);border-radius:20px}
 .account-public-profile .account-heading{padding:26px 46px 24px 20px;gap:15px;flex-wrap:wrap}
 .account-public-profile .account-heading .account-logo,.account-public-profile .account-heading .account-monogram{width:72px;height:72px;padding:6px;border-radius:17px;font-size:30px}
 .account-public-profile .account-heading>div{flex:1 1 180px;min-width:0}
 .account-public-profile .account-heading h2{font-size:25px}
 .account-public-columns{grid-template-columns:minmax(0,1fr);gap:28px;padding:24px 20px}
 .account-public-profile .account-contact-panel{padding:16px}
 #modal:has(.account-public-profile) .account-admin-editor{margin:0 20px 24px}
}
@media(prefers-reduced-motion:reduce){#results .account-card{transition:none}}
