:root{
  --ink:#171b1f;
  --muted:#687178;
  --line:#e7e9ea;
  --paper:#ffffff;
  --soft:#f7f8f7;
  --brand:#245f55;
  --site-header:rgba(247,245,239,.92);
  --site-header-link:#6b6460;
  --site-header-hover:#629292;
  --brand-dark:#163f39;
  --brand-soft:#edf6f3;
  --live:#cb4b4b;
  --replay:#3d6ea8;
  --remote:#c87b2d;
  --off:#9aa0a4;
  --radius:16px;
  --shadow:0 14px 34px rgba(21,33,31,.07);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.58 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}

/* En-tête : reprend les couleurs du site principal */
.site-header-shell{border-bottom:1px solid rgba(107,100,96,.12);background:var(--site-header);color:var(--site-header-link);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.site-header{max-width:1180px;margin:auto;padding:22px 24px 18px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1.08;min-width:max-content;color:var(--site-header-link)}
.brand strong{font-size:1.55rem;letter-spacing:-.035em;font-weight:780;color:var(--site-header-link);transition:color .15s ease}
.brand span{font-size:.72rem;color:var(--site-header-link);opacity:.78;margin-top:7px;letter-spacing:.02em;transition:color .15s ease,opacity .15s ease}
.brand:hover strong,.brand:hover span{color:var(--site-header-hover);opacity:1}
.site-nav{display:flex;align-items:center;justify-content:flex-end;gap:20px;flex-wrap:wrap}
.site-nav a{font-size:.87rem;text-decoration:none;color:var(--site-header-link);font-weight:650;white-space:nowrap;transition:color .15s ease}
.site-nav a:hover{color:var(--site-header-hover);text-decoration:none}
.admin-nav a{font-size:.88rem}
.identity-bar{max-width:1180px;margin:0 auto;padding:9px 24px;border-top:1px solid rgba(107,100,96,.16);display:flex;justify-content:flex-end;align-items:center;gap:14px;font-size:.8rem;color:var(--site-header-link)}
.identity-bar a{color:var(--site-header-link);font-weight:700;text-decoration:none;transition:color .15s ease}.identity-bar a:hover{color:var(--site-header-hover);text-decoration:none}

.container{max-width:1180px;margin:0 auto;padding:54px 24px 78px}.narrow{max-width:780px}.admin-container{max-width:1280px}
.hero{max-width:890px;margin-bottom:48px}.eyebrow{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;font-weight:800;color:var(--brand);margin:0 0 9px}.hero h1,.form-card h1,.admin-hero h1{font-size:clamp(2.2rem,5vw,4rem);line-height:1.02;letter-spacing:-.048em;margin:.1em 0 .27em}.lead{font-size:1.16rem;color:var(--muted);max-width:710px}
.commitment{margin:28px 0 14px;padding:18px 20px;border-left:4px solid var(--brand);background:var(--soft);display:flex;flex-direction:column;gap:3px;border-radius:0 12px 12px 0}.commitment span{color:var(--muted)}
.security-note{margin:0 0 20px;padding:14px 16px;display:flex;gap:12px;align-items:flex-start;border:1px solid #dcebe6;background:var(--brand-soft);border-radius:12px;font-size:.91rem}.security-note span:not(.security-icon){color:var(--muted)}.security-icon{line-height:1.3}
.legend{display:flex;gap:18px;flex-wrap:wrap;font-size:.88rem;color:var(--muted)}.legend span{display:flex;align-items:center;gap:7px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.dot.live{background:var(--live)}.dot.replay{background:var(--replay)}.dot.remote{background:var(--remote)}.dot.off{background:var(--off)}

.month-title{margin:44px 0 14px;font-size:1.12rem;letter-spacing:.01em}
.show-card{display:grid;grid-template-columns:78px 1fr auto;gap:24px;padding:24px 22px;margin-bottom:12px;border:1px solid var(--line);border-radius:var(--radius);position:relative;overflow:hidden;background:#fff;transition:box-shadow .16s ease,transform .16s ease}.show-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.show-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#cad0d5}.show-card.type-live:before{background:var(--live)}.show-card.type-replay:before{background:var(--replay)}.show-card.type-remote:before{background:var(--remote)}.show-card.type-off{background:#f1f2f2;color:#73797d;box-shadow:none}.show-card.type-off:before{background:var(--off)}.show-card.type-tbd{background:#fbfbfb}
.show-date{display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid var(--line);padding-right:20px;color:var(--muted)}.show-date strong{font-size:1.8rem;line-height:1;color:var(--ink)}.show-card.type-off .show-date strong{color:#737b81}.weekday{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em}
.show-topline{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.type-badge{font-size:.73rem;text-transform:uppercase;letter-spacing:.09em;font-weight:850}.capacity{font-size:.79rem;color:var(--muted);padding:3px 9px;background:var(--soft);border-radius:999px}.capacity.full{color:#873434;background:#faecec}.show-main h3{margin:7px 0 8px;font-size:1.23rem;letter-spacing:-.015em}.details{color:var(--muted);margin:4px 0 10px}.meta-row{font-size:.94rem;margin:5px 0}.muted{color:var(--muted)}.compact{margin:.35rem 0}.presentation-line{margin:12px 0 0;color:#42494d;font-size:.92rem;font-style:italic}.text-link{display:inline-block;margin-top:10px;color:var(--brand);font-weight:700;text-decoration:none}.text-link:hover{text-decoration:underline}
.show-action{display:flex;align-items:center;justify-content:flex-end;min-width:165px}.button,.small-button{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:999px;background:var(--brand);color:#fff;text-decoration:none;font-weight:760;padding:11px 18px;cursor:pointer;font:inherit;transition:transform .15s ease,background .15s ease}.button:hover,.small-button:hover{transform:translateY(-1px);background:var(--brand-dark)}.small-button{font-size:.83rem;padding:7px 12px}.small-button.secondary{background:#eef1f1;color:#394145}.small-button.secondary:hover{background:#e2e6e5}.button.danger{background:#9f3434}.status-label{font-size:.82rem;font-weight:750;color:var(--muted)}

.back-link{display:inline-block;color:var(--muted);text-decoration:none;margin-bottom:20px}.back-link:hover{color:var(--brand)}
.form-card{border:1px solid var(--line);border-radius:var(--radius);padding:30px;background:#fff;box-shadow:var(--shadow)}.form-card h1{font-size:2.45rem}.form-card h2{margin-top:.2rem;letter-spacing:-.025em}.form-card h3{margin-bottom:.65rem}.show-summary{display:flex;flex-direction:column;gap:4px;padding:16px 18px;background:var(--soft);border-radius:12px;margin:18px 0 24px}.show-summary span{color:var(--muted)}
label{display:block;font-weight:700;margin:18px 0 0}input[type=text],input[type=email],input[type=password],input[type=url],textarea,select{width:100%;margin-top:7px;border:1px solid #cfd5d3;border-radius:10px;padding:11px 12px;background:#fff;color:var(--ink);font:inherit;outline:none}textarea{resize:vertical}input:focus,textarea:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(36,95,85,.11)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.help{font-size:.85rem;color:var(--muted)}.field-label{font-size:.88rem;margin-bottom:6px}.copy-link input{font-size:.88rem}.check{display:flex;align-items:flex-start;gap:10px;font-weight:400}.check input{margin-top:5px}.commitment-check{padding:16px;background:var(--soft);border-radius:12px;margin:22px 0}.honeypot{position:absolute!important;left:-9999px!important;opacity:0!important}.access-explanation{padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.access-explanation p{margin:.3rem 0 0;color:var(--muted)}.verified-person{display:flex;gap:12px;align-items:center;padding:15px 17px;border:1px solid #d5e9e2;background:var(--brand-soft);border-radius:12px}.verified-mark{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:#fff;font-weight:800}.verified-person div{display:flex;flex-direction:column}.verified-person div>span,.verified-person small{color:var(--muted)}.verified-person strong{font-size:1.04rem}
.notice{padding:14px 16px;border-radius:11px;margin:16px 0}.notice ul{margin:0;padding-left:20px}.notice.success{background:#eaf6f0;color:#245d45}.notice.error{background:#faeaea;color:#803434}.notice.warning{background:#fff4df;color:#7c5a1c}.admin-callout a{font-weight:800}

.admin-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px}.admin-hero h1{font-size:2.8rem;margin-bottom:0}.admin-stats{display:grid;grid-template-columns:auto auto;gap:2px 10px;text-align:right}.admin-stats strong{font-size:1.4rem}.admin-stats span{font-size:.8rem;color:var(--muted)}
.admin-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px}.admin-table{width:100%;border-collapse:collapse;min-width:850px}.admin-table th,.admin-table td{padding:13px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.admin-table th{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:var(--soft)}.admin-table tr:last-child td{border-bottom:0}.admin-table .row-off{opacity:.65;background:#f5f5f5}
.admin-edit-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.75fr);gap:22px}.chroniclers-grid{grid-template-columns:minmax(0,1.45fr) minmax(300px,.65fr)}.admin-person{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:13px 0;border-bottom:1px solid var(--line)}.admin-person a{font-size:.87rem;color:var(--muted)}.link-button{background:none;border:0;padding:0;cursor:pointer;font:inherit}.danger-text{color:#a23636}.compact-list{padding-left:18px}.admin-add-signup{margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}.admin-add-signup label{margin-top:0}.admin-add-signup .small-button{margin-top:10px}.empty-state{padding:18px;border:1px dashed #cfd5d3;border-radius:12px;color:var(--muted);text-align:center}.authorized-list{margin-top:18px}.authorized-person{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:15px 0;border-bottom:1px solid var(--line)}.authorized-person:last-child{border-bottom:0}.authorized-person.inactive{opacity:.55}.authorized-person-main{display:flex;flex-direction:column}.authorized-person-main a{color:var(--muted);font-size:.87rem}.access-state{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--brand);font-weight:800;margin-top:4px}.authorized-actions{display:flex;align-items:center;gap:12px}.authorized-actions form{margin:0}code{background:#f0f2f2;padding:2px 5px;border-radius:5px}

.site-footer-shell{border-top:1px solid var(--line);background:#fafafa}.site-footer{max-width:1180px;margin:auto;padding:30px 24px 42px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:.84rem}.site-footer>div:first-child{display:flex;flex-direction:column;gap:2px}.site-footer strong{color:var(--ink);font-size:.96rem}.footer-links{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap}.footer-links a{text-decoration:none}.footer-links a:hover{color:var(--brand)}

/* Scroll To Top — identique au site principal */
.scroll-top{
  position:fixed;
  right:18px;
  bottom:18px;
  width:46px;
  height:46px;
  border:0;
  border-radius:999px;
  background:#629292;
  color:#fff;
  font-size:1.35rem;
  font-weight:900;
  box-shadow:0 12px 28px rgba(35,31,32,.22);
  cursor:pointer;
  opacity:0;
  pointer-events:none;
  transform:translateY(10px);
  transition:opacity .2s ease,transform .2s ease,background .2s ease;
  z-index:20;
}
.scroll-top:hover{background:#365f5f}
.scroll-top.is-visible{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
}

@media(max-width:980px){.site-header{align-items:flex-start;flex-direction:column}.site-nav{justify-content:flex-start;gap:12px 17px}.identity-bar{justify-content:flex-start}.show-card{grid-template-columns:68px 1fr}.show-action{grid-column:2;justify-content:flex-start;min-width:0}.admin-edit-grid,.chroniclers-grid{grid-template-columns:1fr}}
@media(max-width:760px){.container{padding-top:34px}.show-card{grid-template-columns:58px 1fr;gap:16px}.show-date{padding-right:12px}.field-grid{grid-template-columns:1fr}.admin-hero{align-items:flex-start;flex-direction:column}.admin-stats{text-align:left}.site-footer{flex-direction:column}.hero h1{font-size:2.75rem}.authorized-person{align-items:flex-start;flex-direction:column}.authorized-actions{width:100%}}
@media(max-width:520px){.site-header{padding:19px 18px 15px}.site-nav{gap:9px 14px}.site-nav a{font-size:.8rem}.identity-bar{padding-left:18px;padding-right:18px;flex-direction:column;align-items:flex-start;gap:3px}.container{padding-left:18px;padding-right:18px}.show-card{padding:18px 14px}.show-topline{align-items:flex-start;flex-direction:column}.form-card{padding:22px 18px}.brand strong{font-size:1.25rem}.show-date strong{font-size:1.55rem}.security-note{font-size:.86rem}}
