:root{font-family:system-ui,sans-serif;color:#172f32;background:#f4f7f6;line-height:1.6}*{box-sizing:border-box}body{margin:0}a{color:#13645a}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #bd5b16;outline-offset:3px}header{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;padding:1rem 5%;background:#173f3a;color:#fff}header span{margin-left:auto;overflow-wrap:anywhere}nav{display:flex;flex-wrap:wrap;gap:.5rem;padding:1rem 5%;background:#fff;border-bottom:1px solid #d5dfdb}nav a{padding:.45rem .8rem;text-decoration:none;border-radius:.4rem}nav a[aria-current]{background:#dcebe6;font-weight:700}main{width:min(960px,90%);margin:2rem auto;min-height:50vh}h1{line-height:1.2}section,.card{padding:1.5rem;background:#fff;border:1px solid #d5dfdb;border-radius:.65rem;margin:1rem 0}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.cards .card{margin:0}.login{max-width:440px}.login>p{color:#4c6260}label{display:block;margin:1rem 0}input{display:block;width:100%;margin-top:.3rem;padding:.65rem;border:1px solid #637d76;border-radius:.3rem;font:inherit}button{padding:.6rem 1rem;border:0;border-radius:.35rem;background:#146457;color:#fff;font:inherit;font-weight:600;cursor:pointer}header button{border:1px solid #a5c4ba}small,.muted{color:#4c6260}.notice{padding:1rem;background:#fff0eb;border-left:4px solid #ad3f24;color:#772a1b}.badge{display:inline-block;background:#e8efec;padding:.1rem .6rem;border-radius:.3rem}ul{padding-left:1.3rem}li{margin:.5rem 0}code{overflow-wrap:anywhere}footer{text-align:center;padding:2rem;color:#4c6260}.skip{position:absolute;left:-9999px}.skip:focus{position:static;display:block;padding:1rem}@media(max-width:540px){header span{margin-left:0;width:100%}nav{gap:.2rem}nav a{padding:.4rem}.login{width:90%}}
textarea,select{display:block;width:100%;max-width:100%;margin:.3rem 0 1rem;padding:.65rem;border:1px solid #637d76;border-radius:.3rem;font:inherit;background:#fff;color:inherit}textarea{resize:vertical}fieldset{min-width:0;border:1px solid #d5dfdb;border-radius:.4rem;margin:1.5rem 0;padding:1rem}legend{padding:0 .4rem;font-weight:700}label small{font-weight:400}textarea:focus-visible,select:focus-visible{outline:3px solid #bd5b16;outline-offset:3px}.success{padding:1rem;background:#e6f4ed;border-left:4px solid #146457;color:#173f3a}input[type=hidden]{display:none}section p,legend{overflow-wrap:anywhere}
.admin-photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:1.5rem}.admin-photo{min-width:0;border:1px solid #d5dfdb;border-radius:.4rem;padding:1rem}.admin-photo img{display:block;width:100%;height:auto;max-height:250px;object-fit:contain;border-radius:.3rem;background:#f4f7f6}.photo-delete{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #d5dfdb}.photo-delete input[type=checkbox]{display:inline-block;width:auto;margin:0 .35rem 0 0}.danger{background:#962e2e}input[type=file]{overflow:hidden}
/* Fiches professionnelles : mêmes composants et rythme que le mini-admin. */
.directory-tabs { padding: 0; margin: 0 0 20px; background: transparent; justify-content: start; }
.directory-list { display: grid; gap: 12px; }
.directory-item { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; padding: 18px; border: 1px solid #d2dedb; border-radius: 8px; }
.directory-item > div { flex: 1; min-width: 160px; overflow-wrap: anywhere; }
.directory-item img, .directory-logo-preview { object-fit: contain; }
.directory-item h3, .directory-item p { margin: 0 0 8px; }
.check-label { display: flex; align-items: start; gap: 10px; margin-top: 20px; }
.check-label input[type="checkbox"] { width: auto; margin: 4px 0 0; }

.admin-header-image { display: block; width: min(100%, 560px); height: auto; max-height: 360px; object-fit: contain; margin-block: 16px; }
.admin-header-default { width: 180px; max-width: 100%; color: #28594f; }

/* Activation sur petit écran : cibles tactiles et identité sans débordement. */
.activation{overflow-wrap:anywhere}.activation input,.activation button{min-height:48px;max-width:100%;font-size:1rem}.activation input{font-size:max(16px,1rem)}.activation button{touch-action:manipulation}
