.summit-mobile-header,.summit-mobile-menu,.summit-menu-backdrop{display:none}
.summit-desktop-followup{position:fixed;bottom:20px;right:20px;z-index:50;padding:12px 18px;background:#24302f;color:white;border-radius:8px;text-decoration:none;font:600 13px Arial,sans-serif;box-shadow:0 3px 12px #0002}
@media(max-width:900px){
  .summit-mobile-header{display:flex;position:sticky;top:0;z-index:1001;align-items:center;justify-content:space-between;gap:16px;min-height:72px;padding:calc(7px + env(safe-area-inset-top,0px)) 18px 7px;background:#fbf8f2;border-bottom:1px solid #ddd6cd;color:#24302f;box-sizing:border-box}
  .summit-mobile-brand{display:flex;align-items:center;flex-shrink:0;line-height:1;text-decoration:none}
  .summit-mobile-brand img{width:126px;height:58px;object-fit:contain;mix-blend-mode:multiply}
  .summit-menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:96px;min-height:44px;padding:10px 14px;border:1px solid #24302f;border-radius:6px;background:#24302f;color:white;font:600 15px Arial,sans-serif;cursor:pointer}
  .summit-menu-icon{display:grid;gap:4px;width:18px}.summit-menu-icon i{height:2px;background:currentColor;width:18px}
  .summit-mobile-menu:not([hidden]){display:block;position:fixed;top:calc(72px + env(safe-area-inset-top,0px));right:0;left:0;z-index:1000;padding:10px 18px calc(18px + env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 72px - env(safe-area-inset-top,0px));overflow-y:auto;overscroll-behavior:contain;background:#fbf8f2;border-bottom:1px solid #ddd6cd;box-sizing:border-box;box-shadow:0 12px 25px #0002}
  .summit-mobile-menu a,.summit-mobile-menu button{display:flex;align-items:center;min-height:46px;width:100%;padding:12px 14px;box-sizing:border-box;color:#24302f;background:transparent;border:0;border-radius:5px;text-align:left;text-decoration:none;font:500 16px Arial,sans-serif;line-height:1.4;cursor:pointer;overflow-wrap:anywhere}
  .summit-mobile-menu [aria-current=page]{background:#e9e4da;color:#865339;font-weight:700}
  .summit-mobile-menu a:hover,.summit-mobile-menu button:hover{background:#eee9e0}
  .summit-mobile-sections{display:block;border-top:1px solid #ddd6cd;margin-top:10px;padding-top:10px}.summit-mobile-sections:empty{display:none}
  .summit-mobile-sections p{margin:8px 14px;color:#77685b;font:600 11px Arial,sans-serif;letter-spacing:1px;text-transform:uppercase}
  .summit-menu-backdrop:not([hidden]){display:block;position:fixed;inset:72px 0 0;z-index:999;background:#17161360}
  .summit-menu-open{overflow:hidden}
  .summit-menu-toggle:focus-visible,.summit-mobile-menu a:focus-visible,.summit-mobile-menu button:focus-visible,.summit-mobile-brand:focus-visible{outline:3px solid #bd633e;outline-offset:2px}
  body>.summit-mobile-header~#root .site-header,body>.summit-mobile-header~#root .member-sidebar,body>.summit-mobile-header~#root .admin-sidebar,body:has(#suivi-bootstrap)>header:not(.summit-mobile-header){display:none}
  .summit-desktop-followup{display:none}
  .member-shell,.admin-shell{grid-template-columns:minmax(0,1fr)!important}
  .member-main,.admin-main{min-width:0}
  input,select,textarea{font-size:16px!important;max-width:100%;box-sizing:border-box}
  input[type=date],input[type=file],select{min-width:0}
  .member-topbar h1,.admin-topbar h1{overflow-wrap:anywhere}
  #result-form .grid>label,#result-form .zone-field>label{min-width:0}
}
@media(max-width:420px){
  body:has(#suivi-bootstrap) .stats{gap:7px;grid-template-columns:repeat(3,minmax(0,1fr))}
  body:has(#suivi-bootstrap) .stat{padding:16px 9px;min-width:0}
  body:has(#suivi-bootstrap) .stat strong{font-size:24px;overflow-wrap:anywhere}
  body:has(#suivi-bootstrap) .stat span{font-size:11px}
  body:has(#suivi-bootstrap) .zone{grid-template-columns:42px minmax(20px,1fr) 118px;font-size:12px;gap:7px}
  body:has(#suivi-bootstrap) .drop{padding:16px}
  body:has(#suivi-bootstrap) .zone-field{grid-template-columns:1fr 1fr}
  body:has(#suivi-bootstrap) .zone-field strong{grid-column:1/-1}
  body:has(#suivi-bootstrap) .tabs button{flex:1 1 auto;min-height:44px}
}

.summit-group-formats{padding:72px clamp(24px,5vw,76px);background:#f4f0e9;border-top:1px solid #ddd6cd;scroll-margin-top:100px;color:#24302f}
.summit-formats-intro{max-width:780px;margin-bottom:36px}
.summit-formats-eyebrow{font:700 11px Arial,sans-serif;letter-spacing:2px;color:#8a5e35;margin:0 0 16px}
.summit-formats-intro h2{font-family:Georgia,serif;font-size:clamp(32px,4vw,52px);font-weight:400;line-height:1.1;letter-spacing:-.025em;margin:0 0 20px}
.summit-formats-intro>p:last-child{font-size:16px;line-height:1.7;color:#5c625c;margin:0}
.summit-formats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.summit-formats-grid article{padding:30px;background:#fbf8f2;border:1px solid #ddd6cd;border-radius:8px;min-width:0}
.summit-format-number{display:block;font:600 12px Arial,sans-serif;letter-spacing:2px;color:#8a5e35;margin-bottom:24px}
.summit-formats-grid h3{font-family:Georgia,serif;font-size:27px;font-weight:400;line-height:1.2;color:#24302f;margin:0 0 18px}
.summit-formats-grid p{font-size:15px;line-height:1.75;color:#5c625c;margin:0}
@media(max-width:900px){.summit-formats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.summit-group-formats{padding:48px 24px}}
@media(max-width:580px){.summit-formats-grid{grid-template-columns:minmax(0,1fr);gap:12px}.summit-group-formats{padding:42px 18px}.summit-formats-grid article{padding:24px}.summit-format-number{margin-bottom:16px}.summit-formats-grid h3{font-size:25px}}

#summit-course-setup {display:block;padding:28px;}
#summit-course-setup h2 {font-family:Georgia,serif;font-size:28px;margin:0 0 14px;}
#summit-course-setup p {line-height:1.65;margin:14px 0;}
.summit-course-list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;list-style:none;padding:0;margin:16px 0;}
.summit-course-list li {padding:10px 0;border-bottom:1px solid #ded9d0;font-weight:600;}
#summit-course-setup [role="status"] {font-size:14px;color:#38534a;}
@media(max-width:600px){.summit-course-list{grid-template-columns:1fr;}#summit-course-setup{padding:20px;}}

/* The private spaces use the same official artwork as the public website. */
.admin-sidebar .brand.summit-official-brand,.member-sidebar .brand.summit-official-brand{display:flex;flex-direction:column;align-items:center;gap:0;padding:0;margin:0 0 20px;}
.summit-official-brand>span{display:none!important;}
.summit-official-brand .summit-private-logo{display:block;width:190px;height:126px;object-fit:contain;filter:invert(1);mix-blend-mode:screen;}
.summit-official-brand .summit-private-space{font-size:10px;letter-spacing:1.8px;text-transform:uppercase;color:#c4b8a3;}
body:has(#suivi-bootstrap)>header .summit-followup-logo{display:block;width:135px;height:90px;object-fit:contain;}
.summit-weekly-planner{grid-column:1/-1;padding:28px;margin-bottom:24px;min-width:0;}
.summit-weekly-planner h2{font:400 32px Georgia,serif;margin:10px 0 18px;}
.summit-weekly-planner>p{line-height:1.65;max-width:850px;}
.weekly-help,.weekly-note{font-size:13px;color:#625f56;}
.weekly-tray{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0;}
.weekly-palette-course{padding:10px 14px;background:#ede7dd;border:1px solid #cfc6b7;border-radius:5px;cursor:grab;font-size:13px;color:#24302f;}
.weekly-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;}
.weekly-day{background:#f1eee7;border:1px solid #ddd7cd;border-radius:6px;padding:10px;min-width:0;}
.weekly-day h3{font-size:13px;margin:2px 0 18px;}
.weekly-day-courses{min-height:90px;}
.weekly-course{display:flex;flex-direction:column;gap:7px;align-items:flex-start;text-align:left;width:100%;border:1px solid #c9b9a5;border-left:3px solid #8b6245;border-radius:4px;background:#fffdf8;color:#28312e;margin-bottom:10px;padding:10px 8px;cursor:grab;overflow-wrap:anywhere;}
.weekly-course strong{font-size:14px;}.weekly-course span{font-size:13px;font-weight:600;}.weekly-course small{font-size:11px;line-height:1.5;}
.weekly-empty{font-size:12px;color:#706d66;}.weekly-add{font-size:12px;width:100%;padding:10px 3px;min-height:44px;border:1px dashed #b7a78e;background:transparent;border-radius:4px;color:#48524c;cursor:pointer;}
.weekly-drop{outline:2px solid #8b6245;outline-offset:2px;}
.weekly-period{display:flex;flex-wrap:wrap;gap:18px;margin:26px 0 18px;}
.weekly-period label,.weekly-dialog label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600;min-width:0;}
.weekly-period input,.weekly-dialog input,.weekly-dialog select{box-sizing:border-box;width:100%;min-width:0;padding:12px;border:1px solid #cfc8bd;background:#fffdf8;color:#28312e;font:inherit;}
.weekly-actions{display:flex;flex-wrap:wrap;gap:10px;}.weekly-actions button,.weekly-preview>button{min-height:44px;padding:12px 18px;border:1px solid #b6a78f;border-radius:4px;cursor:pointer;}
.summit-weekly-planner button:disabled{opacity:.5;cursor:wait;}.summit-weekly-planner button:focus-visible{outline:3px solid #926a45;outline-offset:3px;}
.weekly-status{font-size:14px;color:#38534a;font-weight:600;}.weekly-preview{border-top:1px solid #ddd7cd;padding-top:20px;margin-top:20px;}.weekly-preview h3{font:400 24px Georgia,serif;}.weekly-preview details{margin:18px 0;}.weekly-preview summary{cursor:pointer;min-height:32px;}.weekly-preview ul{max-height:320px;overflow:auto;padding-left:20px;font-size:13px;}.weekly-preview li{padding:7px 0;line-height:1.6;}.weekly-slot-conflict{color:#9c3333;}
.weekly-dialog{margin:auto;width:min(460px,calc(100vw - 40px));box-sizing:border-box;border:1px solid #c9b9a5;border-radius:8px;padding:24px;background:#faf7ef;color:#28312e;max-height:90vh;overflow:auto;}.weekly-dialog::backdrop{background:#13151099;}.weekly-dialog h3{font:400 26px Georgia,serif;margin:0 0 20px;}.weekly-dialog label{margin-bottom:16px;}.weekly-editor-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:1200px){.weekly-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(max-width:700px){.summit-weekly-planner{padding:20px;}.weekly-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.weekly-period{display:grid;grid-template-columns:1fr 1fr;gap:12px;}.weekly-actions button{flex:1 1 auto;}}
@media(max-width:420px){.weekly-grid{grid-template-columns:1fr;}.weekly-period{grid-template-columns:1fr;}.weekly-day-courses{min-height:0;}}
