:root{--fp-page:#fbf3df;--fp-ink:#392713;--fp-muted:#7c6243;--fp-orange:#d95f2e;--fp-forest:#405321}
body.fp-workspace{margin:0;background:var(--fp-page)!important;color:var(--fp-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.6;min-width:0}
.fp-workspace-header{position:relative;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 28px;background:#392713;color:#fff7e8;border-bottom:1px solid #705031}
.fp-workspace-brand{display:block;flex:0 0 auto}.fp-workspace-brand img{display:block;width:250px;max-width:45vw;height:auto;border-radius:10px}
.fp-workspace-header nav{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center}.fp-workspace-header a{color:#fff7e8;text-decoration:none;font-weight:600}.fp-workspace-header nav a:hover{color:#f0d6a4}
.fp-workspace-location{padding:12px 28px;color:var(--fp-muted);background:#fff8e8;border-bottom:1px solid #e9d8b8}.fp-workspace-location a{color:var(--fp-forest);font-weight:700}
.fp-workspace>header.top{display:none!important}.fp-workspace .adminbar{background:#405321;padding:12px 20px}.fp-workspace .adminbar .wrap{display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap}.fp-workspace .adminbar a{color:#fff7e8}
.fp-workspace .card,.fp-workspace .panel{border-radius:18px;border:1px solid #e7d7b6;box-shadow:0 8px 24px #50310f0d;background:#fffaf0}
.fp-workspace input:not([type=checkbox]):not([type=radio]),.fp-workspace textarea,.fp-workspace select{max-width:100%;box-sizing:border-box;border-radius:10px;border:1px solid #d5bd91;background:#fff;color:#392713}
.fp-workspace .btn{border-radius:12px}.fp-workspace table{max-width:100%}.fp-workspace .help-widget,.fp-workspace .fp-bottom{display:none!important}
.fp-workspace .admin-side-nav{top:var(--fp-chrome-height,170px);z-index:90}.fp-workspace.admin .admin-main{width:calc(100% - 238px);max-width:none;margin-right:0}.fp-workspace .admin-main>*{min-width:0;max-width:100%}.fp-workspace table{display:block;overflow-x:auto}.fp-workspace [id]{scroll-margin-top:20px}
@media(max-width:980px){.fp-workspace.admin .admin-main{width:100%;margin-left:0}}
@media(max-width:768px){.fp-workspace [style*="grid-template-columns"]{grid-template-columns:minmax(0,1fr)!important}}
@media(max-width:768px){.fp-workspace-header{padding:12px 16px;gap:12px;flex-wrap:wrap}.fp-workspace-brand img{width:230px;max-width:80vw}.fp-workspace-header nav{width:100%;flex-wrap:nowrap;overflow:auto;white-space:nowrap;padding:6px 0;scrollbar-width:none}.fp-workspace-header nav::-webkit-scrollbar{display:none}.fp-workspace-location{padding:10px 16px}.fp-workspace .wrap{max-width:100%;box-sizing:border-box}.fp-workspace .adminbar{padding:10px}.fp-workspace .adminbar .wrap{gap:8px 12px}}
/* The rule above only reaches grids whose template is set inline. The program
   editor gets its track from the stylesheet, so a 1fr track kept the min-content
   width of its fields and stretched the admin page to 768px on a 375px screen. */
@media(max-width:768px){.fp-workspace .program-speaker-admin,.fp-workspace .program-admin-line>div,.fp-workspace .admin-main [style*="display:grid"]{grid-template-columns:minmax(0,1fr)!important}.fp-workspace .admin-main *{min-width:0}.fp-workspace .admin-main input,.fp-workspace .admin-main select,.fp-workspace .admin-main textarea{max-width:100%!important;min-width:0!important;box-sizing:border-box}.fp-workspace .admin-main .card{overflow-x:auto}}
