
:root{--navy:#123c62;--blue:#1672bd;--cyan:#19a5c6;--ink:#223241;--muted:#596c7e;--light:#f4f8fb;--border:#dbe6ee}*{box-sizing:border-box}body{margin:0;font:15px/1.55 Arial,Helvetica,sans-serif;color:var(--ink);background:#fff}button,input,textarea,select{font:inherit}button{cursor:pointer}a{text-decoration:none;color:var(--blue)}a:hover{text-decoration:underline}.wrap{max-width:1120px;margin:auto;padding:0 28px}.topbar{border-bottom:1px solid var(--border);background:#fff}.topinner{display:flex;align-items:center;gap:22px;min-height:78px}.brand{display:flex;gap:8px;align-items:center;white-space:nowrap;color:#737f88}.brand strong{font:700 30px Georgia,serif;background:#aab0ba;color:white;padding:2px 5px}.brand span{font-size:10px;line-height:1.05}.nav{display:flex;align-items:center;gap:19px;flex:1;flex-wrap:wrap}.nav a{font-size:12px;color:#293e53}.nav a.active{color:var(--blue);font-weight:700}.register,.primary{border:none;border-radius:6px;background:#2869ed;color:white;font-size:13px;font-weight:700;padding:11px 18px}.register:hover,.primary:hover{background:#1854ce;color:white;text-decoration:none}.hero{background:#f1f6fa;border-bottom:1px solid var(--border);padding:32px 0}.eyebrow{color:#27789d;font-weight:800;letter-spacing:.085em;font-size:11px}.hero h1{color:var(--navy);font-size:34px;letter-spacing:-.025em;line-height:1.2;margin:8px 0}.hero p{color:#536779;margin:0}.utility{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.utility button{font-weight:700;border-radius:6px;padding:11px 15px;background:#fff;border:1px solid #bdd2e1;color:var(--navy)}.utility button.active{background:var(--navy);color:white;border-color:var(--navy)}.top-tools{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:24px}.small-note{font-size:12px;color:#688093}.lead{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:25px}.lead h2{font-size:25px;margin:6px 0;color:var(--navy)}.lead p{margin:0;max-width:760px;color:#5a6b79}.main{padding-top:32px;padding-bottom:75px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:2px solid #e1eaf0;padding:0 0 16px;margin-bottom:18px;flex-wrap:wrap}.tabs{display:flex;gap:8px}.tabs button{border:1px solid #ccdbe5;background:white;padding:10px 15px;border-radius:7px;color:#38516a;font-weight:bold;font-size:13px}.tabs button.selected{background:#1672bd;border-color:#1672bd;color:white}.search{border:1px solid #ccdbe5;border-radius:6px;padding:10px 12px;min-width:240px}.day-header{display:flex;gap:14px;align-items:center;margin:28px 0 13px}.datebox{background:var(--navy);color:#fff;border-radius:8px;padding:7px 12px;text-align:center;font-weight:800;font-size:25px;line-height:1.1}.datebox small{display:block;font-size:10px;letter-spacing:.07em}.day-header h2{font-size:22px;color:var(--navy);margin:0}.day-header p{margin:0;font-size:12px;color:#748596}.session{display:grid;grid-template-columns:145px minmax(0,1fr) auto;gap:22px;padding:24px 20px;border:1px solid var(--border);border-left:4px solid #21a7c7;border-radius:10px;margin:12px 0;box-shadow:0 2px 8px rgba(26,58,91,.035)}.session-time{font-size:13px;font-weight:800;color:var(--navy);padding-top:4px}.session h3{font-size:19px;line-height:1.3;color:#126fae;margin:0 0 9px}.teaser{color:#4f6372;font-size:14px;margin:0 0 8px}.teaser-list,.full-list{margin:8px 0 10px;padding-left:20px}.teaser-list li{font-size:13px;color:#46677e;margin:3px 0}.full-list li{margin:7px 0}.speaker-line{display:flex;flex-wrap:wrap;gap:12px;margin-top:13px}.speaker{border:0;background:none;display:flex;align-items:center;text-align:left;gap:9px;padding:2px 6px 2px 0}.speaker:hover b{text-decoration:underline}.speaker img,.avatar{width:43px;height:43px;object-fit:cover;border-radius:50%;background:#e4edf4}.avatar{display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--navy)}.speaker b{color:#164c74;font-size:13px;display:block}.speaker small{font-size:12px;color:#40546b;display:block}.pending{font-style:italic;color:#8b99a5;font-size:12px}.outline,.details,.secondary{border:1px solid #aed0e1;border-radius:6px;background:#fff;color:#126fae;padding:9px 12px;font-size:12px;font-weight:800}.details{white-space:nowrap}.details:hover,.outline:hover{background:#eaf6fc}.actions{display:flex;align-items:flex-start;gap:7px}.note{background:#fff9e9;border:1px solid #f0dfb0;border-radius:7px;padding:12px 14px;font-size:12px;color:#745c21;margin:16px 0}.editor{display:none;background:#f3f8fb;border:1px solid #c9dce9;border-radius:10px;padding:22px;margin-bottom:22px}.editor.open{display:block}.editor h2{margin:0 0 5px;color:var(--navy);font-size:21px}.editor p{margin:0 0 14px;font-size:13px;color:#53687b}.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:5px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:bold;color:#36566d}.field input,.field select,.field textarea{width:100%;padding:10px;border:1px solid #bbcfdb;border-radius:6px;background:white;color:#253c50}.field textarea{resize:vertical;min-height:78px}.editor-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}.edit-session{display:none}.editing .edit-session{display:inline-flex}.help{color:#698092;font-size:12px!important;margin-top:5px!important}.footer{padding:28px 0;background:#133753;color:#d5e5ee;font-size:12px}dialog{border:0;border-radius:12px;max-width:min(690px,calc(100% - 26px));width:100%;box-shadow:0 30px 90px #102b4677;padding:0;max-height:88vh;overflow:auto}dialog::backdrop{background:rgba(9,31,54,.68)}.modal-head{display:flex;align-items:start;justify-content:space-between;padding:23px 26px 12px;gap:15px}.modal-head h2{margin:0;color:var(--navy);font-size:23px;line-height:1.25}.modal-body{padding:0 26px 28px}.modal-body p{color:#4c6373}.x{border:0;background:#edf4f8;border-radius:50%;height:32px;width:32px;font-size:22px;color:#456376;flex:none}.bio-photo{width:100px;height:100px;object-fit:cover;border-radius:50%;float:left;margin:0 20px 10px 0}.empty{padding:24px;background:#f5f8fa;color:#607487;border-radius:8px}.inline-tag{font-size:11px;color:#397c9d;font-weight:800;letter-spacing:.04em;margin-bottom:8px}.hidden{display:none!important}@media(max-width:850px){.nav{display:none}.session{grid-template-columns:1fr;gap:11px}.actions{justify-content:flex-start}.lead{display:block}.top-tools{align-items:flex-start;flex-direction:column}.fields{grid-template-columns:1fr}.field.full{grid-column:auto}}@media(max-width:530px){.wrap{padding:0 16px}.hero h1{font-size:28px}.tabs{width:100%;flex-wrap:wrap}.search{width:100%}.session{padding:18px}.topinner{gap:10px}.register{margin-left:auto}.hero{padding:27px 0}}
/* Visual alignment with the Hostinger Builder site and supplied SGO assets */
.brand{display:inline-flex;align-items:center;flex:none;white-space:normal}
.brand img{display:block;width:181px;height:auto;max-width:100%}
.topinner{min-height:74px}
.main{padding-top:28px}
.page-title{font-family:Arial,Helvetica,sans-serif;font-size:40px;line-height:1.2;font-weight:700;letter-spacing:-.8px;color:#111;margin:2px 0 20px}
.top-tools{margin-bottom:23px}
.session h3{font-size:20px;color:#1268a5}
.teaser{font-size:16px;line-height:1.65;color:#28343e}
.teaser-list li{font-size:15px;line-height:1.55;color:#28343e;margin:5px 0}
.speaker b{font-size:15px;color:#172d3c;line-height:1.45}
.speaker small{font-size:14px;color:#36434c;line-height:1.45}
.pending{font-size:14px;color:#59636b}
.session-time{font-size:14px}
.modal-head h2{font-size:26px;color:#17344d}
.modal-head p{font-size:16px!important;color:#33434e!important;line-height:1.5}
.modal-body{font-size:16px;line-height:1.7;color:#263541}
.modal-body p{font-size:16px;line-height:1.7;color:#263541}
.modal-body .full-list li{font-size:16px;line-height:1.6;color:#263541}
.modal-body h3{font-size:17px!important}
@media(max-width:850px){.brand img{width:164px}}
@media(max-width:530px){.page-title{font-size:38px}.brand img{width:145px}.main{padding-top:22px}.speaker small{font-size:13px}}

/* V4: match the navigation proportions in the supplied Website Builder screenshot. */
.topinner{max-width:1400px;min-height:104px;gap:20px;align-items:center}
.brand{flex:0 0 150px}
.brand img{width:150px;max-width:100%;height:auto;display:block}
.nav{display:flex;align-content:center;align-items:center;column-gap:29px;row-gap:18px;flex:1;flex-wrap:wrap}
.nav a{font-family:Arial,Helvetica,sans-serif;font-size:18px;line-height:1.15;color:#101010;font-weight:400;white-space:nowrap}
.nav a.active{color:#2869ed;font-weight:400;border-bottom:2px solid #2869ed;padding-bottom:7px}
.nav a:last-child{flex-basis:100%}
.register{background:#3567ff;border-radius:40px;font:400 18px Arial,Helvetica,sans-serif;padding:17px 32px;min-width:174px;text-align:center;white-space:nowrap}
.small-note{font-size:14px;color:#4b5965;font-style:italic;line-height:1.5}
.speaker img,.avatar{width:64px;height:64px;flex:0 0 64px}
.speaker{gap:12px}
@media(max-width:1100px){.topinner{min-height:78px}.nav{gap:12px 18px}.nav a{font-size:15px}.brand{flex-basis:125px}.brand img{width:125px}.register{font-size:15px;min-width:125px;padding:13px 20px}}
@media(max-width:850px){.nav{display:none}.topinner{min-height:70px}.register{margin-left:auto}}
@media(max-width:530px){.speaker img,.avatar{width:58px;height:58px;flex-basis:58px}}

/* V5: speaker typography and organization colors match supplied speaker reference. */
.speaker{gap:16px;align-items:center}
.speaker .speaker-copy{display:block;min-width:0}
.speaker .speaker-name{display:block;font-family:Arial,Helvetica,sans-serif;font-size:14px;font-weight:400;line-height:1.2;color:#141414}
.speaker .speaker-title{display:block;font-family:Arial,Helvetica,sans-serif;font-size:14px;font-weight:400;line-height:1.22;color:#555b65}
.speaker .speaker-company{display:block;font-family:Arial,Helvetica,sans-serif;font-size:14px;font-weight:700;line-height:1.22;color:#087bff}
.speaker:hover .speaker-name{text-decoration:underline}
@media(max-width:530px){.speaker .speaker-name,.speaker .speaker-title,.speaker .speaker-company{font-size:14px}}

/* V8: navigation and biography presentation requested for SGO conference pages. */

.topbar .nav, .topbar .nav a, .topbar .register {font-family:'Lato',sans-serif!important}
.teaser-list{padding-left:30px;margin:5px 0 10px;list-style-position:outside}
.teaser-list li{margin:1px 0;line-height:1.32;padding-left:2px}
/* V4: Compact speaker biography popup. Initial focus is on the heading, not bottom links. */
dialog.bio-dialog{width:min(660px,calc(100% - 28px));max-width:660px;max-height:88vh;overflow-y:auto;overscroll-behavior:contain;border-radius:10px;background:#fff;color:#111;box-shadow:0 15px 45px rgba(0,0,0,.35);font-family:'Lato',Arial,sans-serif}
.bio-dialog .bio-content{padding:20px 24px 20px}
.bio-dialog .bio-portrait{display:block;width:auto;height:auto;max-width:min(100%,170px);max-height:195px;object-fit:contain;object-position:left top;margin:0 0 12px;border-radius:0}
.bio-dialog .bio-name{font-family:'Lato',Arial,sans-serif;font-size:24px;line-height:1.2;margin:4px 0 3px;color:#0d0d0d;font-weight:700}
.bio-dialog .bio-name:focus{outline:none}
.bio-dialog .bio-role,.bio-dialog .bio-org{font-size:16px;line-height:1.35;color:#111;margin:0;font-weight:400}
.bio-dialog .bio-org{font-weight:700}
.bio-dialog .bio-description{margin-top:16px;font-size:15px;line-height:1.55;color:#121212}
.bio-dialog .bio-description p{font-size:inherit;line-height:inherit;color:inherit;margin:0 0 14px}
.bio-dialog .bio-bottom{display:flex;justify-content:space-between;align-items:flex-end;margin-top:20px;min-height:36px}
.bio-dialog .bio-linkedin{display:inline-flex;align-items:center;justify-content:center;border-radius:3px;background:#0a66c2;color:white;font-family:Arial,sans-serif;font-size:23px;font-weight:bold;width:34px;height:34px;text-decoration:none}
.bio-dialog .bio-close{background:#333;color:white;border:0;border-radius:7px;padding:10px 20px;font-family:'Lato',Arial,sans-serif;font-size:14px;font-weight:700}
.bio-dialog .bio-close:hover{background:#111}
@media(max-width:560px){.bio-dialog .bio-content{padding:16px 18px 18px}.bio-dialog .bio-portrait{max-width:min(100%,155px);max-height:175px;object-fit:contain;object-position:left top}.bio-dialog .bio-name{font-size:22px}.bio-dialog .bio-role,.bio-dialog .bio-org{font-size:15px}.bio-dialog .bio-description{font-size:15px;line-height:1.5}}

/* Version 10: larger SGO brand, slightly smaller Lato navigation */
.topbar .brand img{width:205px;height:auto;max-width:none}
.topbar .nav a{font-size:16px;line-height:1.2}
@media (max-width:1100px){
  .topbar .brand{flex-basis:auto}
  .topbar .brand img{width:180px}
  .topbar .nav a{font-size:14px}
}
@media (max-width:850px){.topbar .brand img{width:180px}}

/* Version 11: align navigation inset with the live Website Builder pages. */
.topbar .topinner{
  max-width:1500px;
  padding-left:clamp(55px, 6.4vw, 96px);
  padding-right:clamp(22px, 3.2vw, 48px);
  gap:48px;
}
.topbar .brand{flex:0 0 205px;min-width:205px}
.topbar .brand img{filter:brightness(1.17)}
@media (max-width:1100px){
  .topbar .topinner{padding-left:clamp(28px,5.5vw,65px);gap:30px}
  .topbar .brand{flex:0 0 180px;min-width:180px}
}
@media (max-width:850px){
  .topbar .topinner{padding-left:24px;padding-right:24px;gap:16px}
}
@media (max-width:530px){
  .topbar .topinner{padding-left:16px;padding-right:16px}
}

/* Version 12: slightly smaller logo and shift entire navigation header right. */
@media (min-width:1101px){
  .topbar .topinner{padding-left:clamp(85px, 9vw, 132px)}
  .topbar .brand{flex-basis:185px;min-width:185px}
  .topbar .brand img{width:185px}
}
@media (min-width:851px) and (max-width:1100px){
  .topbar .topinner{padding-left:clamp(42px, 7vw, 84px)}
  .topbar .brand{flex-basis:165px;min-width:165px}
  .topbar .brand img{width:165px}
}
@media (max-width:850px){
  .topbar .brand img{width:165px}
}

/* Version 13: substantially right-shifted desktop header, visibly lighter SGO logo. */
.topbar .brand img{filter:brightness(1.28);opacity:.76}
@media (min-width:1101px){
  .topbar .topinner{
    width:100%;max-width:none;
    padding-left:clamp(170px,15.5vw,255px);
    padding-right:18px;
    gap:34px;
  }
  .topbar .brand{flex:0 0 185px;min-width:185px}
  .topbar .nav{gap:12px;flex-wrap:nowrap;min-width:0}
  .topbar .nav a{font-size:15px;white-space:nowrap}
  .topbar .register{white-space:nowrap;padding:11px 15px}
}
@media (min-width:851px) and (max-width:1100px){
  .topbar .topinner{max-width:none;width:100%;padding-left:clamp(90px,11vw,135px);padding-right:14px;gap:24px}
  .topbar .nav{gap:10px}
}

/* Version 14: balance header elements without squeezing navigation links. */
.topbar .brand img{filter:brightness(1.16);opacity:.89}
@media (min-width:1101px){
  .topbar .topinner{column-gap:18px}
  .topbar .brand{margin-right:16px}
  .topbar .nav{flex:0 1 auto;column-gap:18px;row-gap:12px;flex-wrap:nowrap}
  .topbar .nav a:last-child{flex-basis:auto}
  .topbar .register{margin-left:0;flex-shrink:0}
}
@media (min-width:851px) and (max-width:1100px){
  .topbar .topinner{column-gap:14px}
  .topbar .nav{flex:0 1 auto;column-gap:14px;flex-wrap:wrap}
  .topbar .nav a:last-child{flex-basis:auto}
  .topbar .register{margin-left:0}
}

/* Version 15: spacious, deliberate two-row navigation. */
@media(min-width:851px){
  .topbar .topinner{display:flex;align-items:center;min-height:120px;max-width:none;width:100%;padding-left:clamp(95px,11.2vw,175px);padding-right:28px;gap:54px}
  .topbar .brand{flex:0 0 185px;min-width:185px;margin-right:0}
  .topbar .brand img{width:185px}
  .topbar .nav{display:flex;flex:1 1 auto;min-width:0;align-content:center;align-items:center;justify-content:flex-start;flex-wrap:wrap;column-gap:clamp(21px,2.1vw,31px);row-gap:14px}
  .topbar .nav a{font:400 15px/1.25 'Lato',Arial,sans-serif!important;white-space:nowrap;flex:0 0 auto}
  .topbar .nav a.active{font-weight:700!important}
  .topbar .nav .nav-row-break{display:block;flex:0 0 100%;width:100%;height:0;margin:0;padding:0}
  .topbar .nav .register{display:inline-block;font:700 15px/1.25 'Lato',Arial,sans-serif!important;margin:0 0 0 1px;min-width:0;padding:11px 21px}
  .topbar .mobile-register{display:none}
}
@media(min-width:851px) and (max-width:1300px){
  .topbar .topinner{padding-left:clamp(38px,7vw,95px);gap:34px}
  .topbar .brand{flex-basis:165px;min-width:165px}
  .topbar .brand img{width:165px}
  .topbar .nav{column-gap:clamp(14px,1.6vw,23px);row-gap:12px}
  .topbar .nav a{font-size:14px!important}
}
@media(max-width:850px){
  .topbar .nav{display:none}
  .topbar .mobile-register{display:inline-block;margin-left:auto}
}

/* Version 17: Register is an ordinary first-row navigation item.
   It uses the same horizontal gap as every other link, instead of
   absolute positioning at the right edge of the header. */
@media (min-width:851px){
  .topbar .topinner{position:relative;padding-right:28px}
  .topbar .nav{flex:1 1 auto}
  .topbar .nav .desktop-register{
    position:static;display:inline-flex;align-items:center;justify-content:center;
    flex:0 0 auto;margin:0;min-width:0;
    font:700 15px/1.25 'Lato',Arial,sans-serif!important;
    background:#3567ff;color:#fff;border-radius:40px;
    padding:11px 21px;white-space:nowrap;
  }
  .topbar .nav .desktop-register:hover{background:#2459e6;color:white;text-decoration:none}
  .topbar .mobile-register{display:none}
}
@media (min-width:851px) and (max-width:1300px){
  .topbar .nav .desktop-register{font-size:14px!important;padding:10px 16px}
}
@media (max-width:850px){
  .topbar .nav .desktop-register{display:none}
  .topbar .mobile-register{display:inline-block}
}

/* V18: speaker management, separate from session editing */
.editor-switch{display:flex;gap:9px;flex-wrap:wrap;margin:15px 0 19px;border-bottom:1px solid #c9dce9;padding-bottom:15px}
.editor-switch button{border:1px solid #b9cedd;background:white;color:#17486b;border-radius:7px;padding:10px 17px;font-family:Lato,Arial,sans-serif;font-weight:700}
.editor-switch button.selected{background:#123c62;color:white;border-color:#123c62}
.editor-subpanel[hidden]{display:none!important}
.speaker-admin-grid{display:grid;grid-template-columns:minmax(210px,290px) minmax(0,1fr);gap:20px}
.speaker-admin-list{border:1px solid #d5e2ec;border-radius:8px;background:white;overflow:hidden;align-self:start;max-height:420px;overflow-y:auto}
.speaker-admin-list button{display:flex;gap:10px;align-items:center;width:100%;padding:10px 12px;border:none;border-bottom:1px solid #edf1f4;background:white;text-align:left;color:#253c50}
.speaker-admin-list button.selected{background:#e8f3fa;border-left:4px solid #1672bd;padding-left:8px}
.speaker-admin-list button:hover{background:#f2f8fc}
.speaker-admin-list img,.speaker-admin-avatar{width:43px;height:43px;border-radius:50%;object-fit:cover;flex:none;background:#dae9f3}
.speaker-admin-avatar{display:grid;place-items:center;font-size:12px;font-weight:700;color:#174b73}
.speaker-admin-list strong{font-size:13px;display:block}.speaker-admin-list small{font-size:12px;display:block;color:#607487}
.speaker-admin-preview{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #d3e4ec;border-radius:8px;background:#fff;margin:10px 0 18px}
.speaker-admin-preview img{width:86px;height:86px;object-fit:contain;object-position:center;background:#f6f8fa;border:1px solid #e6edf2;border-radius:6px}
.assignment-list{display:grid;gap:8px;padding:12px;background:white;border:1px solid #c9dce9;border-radius:7px;max-height:180px;overflow:auto}
.assignment-list label{font-size:13px;color:#344d60;display:flex;gap:9px;align-items:start}
.assignment-list input{width:auto;margin-top:4px}
.upload-hint{font-size:12px;color:#53687b;margin-top:4px}
@media(max-width:760px){.speaker-admin-grid{grid-template-columns:1fr}.speaker-admin-list{max-height:210px}}

/* V19: tighter two-line navigation and more compact PUBLIC agenda speakers.
   Popup portraits and biography typography are deliberately untouched. */
@media (min-width:851px){
  .topbar .nav{row-gap:5px}
}
@media (min-width:851px) and (max-width:1300px){
  .topbar .nav{row-gap:5px}
}
/* Speaker thumbnail and metadata, public agenda only */
#agenda-list .speaker img,
#agenda-list .speaker .avatar{
  width:50px;height:50px;flex:0 0 50px;
}
#agenda-list .speaker{gap:10px}
#agenda-list .speaker .speaker-name,
#agenda-list .speaker .speaker-title,
#agenda-list .speaker .speaker-company{
  font-size:13px;line-height:1.22;
}
@media (max-width:530px){
  #agenda-list .speaker img,
  #agenda-list .speaker .avatar{width:48px;height:48px;flex-basis:48px}
}

/* V20: match public session descriptions and bullets to 13px speaker names. */
#agenda-list .session .teaser,
#agenda-list .session .teaser-list,
#agenda-list .session .teaser-list li {
  font-size:13px;
}

/* Production: editing controls live only behind /admin */

/* Current-program update: simplify the presentation of breaks, meals, and logistics. */
.session-logistics{background:#f7fafc;border-left-color:#c2d5e2;box-shadow:none;padding-top:14px;padding-bottom:14px}
.session-logistics h3{color:#33556e;font-size:16px;margin:0}

/* V5: a speaker may moderate one session without changing their profile elsewhere. */
#agenda-list .speaker-moderator{display:block;font:700 11px/1.25 'Lato',Arial,sans-serif;color:#1268a5;text-transform:uppercase;letter-spacing:.055em;margin-bottom:2px}
#f-moderator{max-width:490px}

/* V6 — Small, unobtrusive rows for non-speaking agenda events.
   Overrides the V20 full-session card and earlier logistics selector.
   No More Details or placeholder content is rendered for these records. */
#agenda-list .session.agenda-compact {
  display:grid;
  grid-template-columns:145px minmax(0,1fr) auto;
  align-items:center;
  gap:20px;
  margin:2px 0;
  padding:10px 18px;
  min-height:0;
  border:0;
  border-bottom:1px solid #e2eaf0;
  border-radius:0;
  box-shadow:none;
  background:#f7f9fb;
}
#agenda-list .agenda-compact .session-time {
  padding:0;
  font-size:12px;
  line-height:1.4;
  font-weight:600;
  color:#688092;
}
#agenda-list .agenda-compact .compact-label {
  font:600 14px/1.35 'Lato',Arial,Helvetica,sans-serif;
  color:#647b8d;
}
#agenda-list .agenda-compact .actions {align-self:center;}
#agenda-list .agenda-compact .edit-session {padding:5px 9px;}
@media(max-width:850px){
  #agenda-list .session.agenda-compact {grid-template-columns:125px minmax(0,1fr) auto;gap:14px;padding:10px 12px;}
}
@media(max-width:530px){
  #agenda-list .session.agenda-compact {grid-template-columns:1fr;gap:2px;padding:10px 13px;}
  #agenda-list .agenda-compact .actions {justify-content:flex-start;}
}


/* V9 admin session sidebar — confined to the authenticated admin editor. */
.agenda-admin-layout{display:grid;grid-template-columns:minmax(245px,300px) minmax(0,1fr);gap:20px;align-items:start}
.session-sidebar{position:sticky;top:14px;max-height:78vh;overflow-y:auto;border:1px solid #cbdce7;border-radius:9px;background:white;padding:14px}
.session-sidebar-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;color:#123c62;font:700 16px/1.25 'Lato',Arial,sans-serif}
.session-sidebar-heading span{font:600 11px/1.3 'Lato',Arial,sans-serif;color:#5f7890}
.sidebar-help{font-size:12px!important;line-height:1.45;margin:8px 0 12px!important;color:#657a8d!important}
.sidebar-day{margin:16px 0 0}
.sidebar-day h3{background:#e9f2f8;color:#1c4d6e;border-radius:5px;padding:8px 10px;margin:0 0 7px;font-size:12px;font-weight:800}
.sidebar-day-items{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.session-sidebar-item{display:flex;align-items:center;gap:5px;background:#fff;border:1px solid #e1e9ef;border-radius:6px;padding:6px 6px 6px 3px;min-width:0;transition:background .12s,border-color .12s}
.session-sidebar-item:hover{background:#f4f9fd;border-color:#b6d3e7}
.session-sidebar-item.selected{background:#e9f3fc;border-color:#1672bd;box-shadow:inset 3px 0 0 #1672bd}
.session-sidebar-item.dragging{opacity:.45}
.session-sidebar-item.drop-before{box-shadow:inset 0 3px 0 #1672bd}
.session-sidebar-item.drop-after{box-shadow:inset 0 -3px 0 #1672bd}
.session-grip{display:inline-flex;align-self:stretch;align-items:center;justify-content:center;flex:0 0 22px;font-size:21px;color:#7b91a3;cursor:grab;user-select:none;touch-action:none}
.session-sidebar-item:active .session-grip{cursor:grabbing}
.session-select{appearance:none;border:0;min-width:0;flex:1;text-align:left;background:transparent;padding:3px 0;cursor:pointer;font:600 12px/1.38 'Lato',Arial,sans-serif;color:#1e3e57}
.sidebar-session-time{display:block;font-size:11px;color:#667e90;font-weight:500;margin-bottom:2px}
.sidebar-session-title{display:block;overflow-wrap:anywhere}
.sidebar-move-controls{display:flex;flex-direction:column;gap:2px}
.sidebar-move-controls button{width:25px;height:22px;border:1px solid #d6e1e8;border-radius:4px;background:#fff;color:#345c77;font-size:12px;line-height:1;padding:0}
.sidebar-move-controls button:hover:not(:disabled){background:#dceefa}
.sidebar-move-controls button:disabled{opacity:.25;cursor:default}
.sidebar-status{font-size:12px;color:#266b55;margin:10px 0 0;min-height:15px}
.sidebar-status.error{color:#9d301b}
.session-editor-form{min-width:0}
.session-editor-heading{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:3px 0 14px;margin-bottom:15px;border-bottom:1px solid #d1e0ea;color:#123c62}
.session-editor-heading strong{font-size:17px;line-height:1.3}
.session-editor-heading span{font-size:11px;white-space:normal;color:#667b8c;max-width:160px;text-align:right}
@media(max-width:900px){.agenda-admin-layout{grid-template-columns:1fr}.session-sidebar{position:static;max-height:340px}.sidebar-move-controls{flex-direction:row}.session-editor-heading span{max-width:190px}}
@media(max-width:530px){.session-sidebar{padding:11px}.sidebar-day{margin-top:12px}}

/* V10 — Optional small italic note below session content. */
#agenda-list .session .session-additional-info {
  margin:12px 0 0; padding:0;
  font:italic 12px/1.45 Arial,Helvetica,sans-serif;
  color:#687a88; overflow-wrap:anywhere; white-space:normal;
}
#agenda-list .agenda-compact .compact-content {min-width:0;}
#agenda-list .agenda-compact .compact-additional-info {
  margin-top:3px; font-size:11px; line-height:1.35; color:#748695;
}
