
:root{font-family:system-ui,-apple-system,sans-serif;color:#18344a;background:#f3faff}*{box-sizing:border-box}body{margin:0}header{background:#a7d9f5;padding:20px max(18px,calc((100vw - 1050px)/2));display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}header .brand{display:flex;align-items:center;gap:12px;font-size:28px;font-weight:850;letter-spacing:-1px}header img{width:48px;height:48px;border-radius:12px}header small{font-size:13px;font-weight:500;letter-spacing:0}main{max-width:1050px;margin:auto;padding:20px 16px 80px}h1{font-size:clamp(25px,5vw,40px);margin:8px 0}h2{margin:0 0 14px;font-size:21px}p{line-height:1.5}button,.btn{border:0;border-radius:10px;background:#216c99;color:white;font:inherit;font-weight:700;padding:11px 16px;cursor:pointer}button.secondary{background:#e3f2fb;color:#184a69}button:disabled{opacity:.5}button:hover{filter:brightness(.96)}.panel{background:white;border:1px solid #d8e9f4;border-radius:16px;padding:20px;margin:16px 0;box-shadow:0 3px 12px #2346 0}.muted{color:#527186}.roles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.role{background:#f4faff;color:#18344a;text-align:left;border:2px solid #d7ebf7;min-height:120px}.role.selected{border-color:#2477a6;background:#e4f4ff}.role strong{display:block;font-size:17px;margin-bottom:7px}.role span{font-weight:400;font-size:14px}.hidden{display:none!important}.topline{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}label{display:block;font-weight:650;font-size:14px;margin-bottom:5px}input,select,textarea{width:100%;padding:11px;border:1px solid #b7cfdf;border-radius:9px;background:white;color:#18344a;font:inherit}textarea{min-height:95px;resize:vertical}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin:16px 0}.calendar-head strong{font-size:19px}.week,.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.week div{text-align:center;color:#527186;font-size:12px;font-weight:750;padding:8px 0}.day{min-height:76px;border:1px solid #d6e8f3;background:#fafdff;color:#18344a;padding:7px 5px;text-align:left;border-radius:8px;font-weight:650;position:relative}.day.other{opacity:.3}.day.active{border:2px solid #216c99;background:#e2f4ff}.count{display:block;margin-top:7px;background:#d0edfb;color:#125a84;border-radius:8px;padding:4px;font-size:11px;text-align:center}.events{display:grid;gap:12px}.event{border:1px solid #d8e9f4;border-radius:12px;padding:15px;background:#fafdff}.event h3{margin:0 0 8px}.event img{max-width:140px;max-height:120px;object-fit:cover;border-radius:8px;margin:5px}.event a{color:#145d8c}.tag{display:inline-block;background:#e1eff9;padding:4px 8px;border-radius:8px;font-size:12px;font-weight:750}.adult{background:#ffe8ce}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field{margin-bottom:13px}.field.full{grid-column:1/-1}.notice{background:#e7f6ff;border-left:4px solid #216c99;padding:12px;border-radius:8px}.actions{display:flex;gap:8px;flex-wrap:wrap}#status{min-height:22px}footer{text-align:center;color:#527186;padding:18px;font-size:13px}@media(max-width:650px){.roles,.filters,.formgrid{grid-template-columns:1fr}.day{min-height:58px;padding:5px 3px;font-size:13px}.count{font-size:9px;padding:3px 1px}.panel{padding:15px}header{padding:14px 16px}}
#map{height:460px;border-radius:12px;z-index:0}.view-switch{display:flex;gap:8px;margin:12px 0}.map-note{font-size:13px;color:#527186;margin-top:9px}@media(max-width:650px){#map{height:380px}}

/* Booked's approved autumn palette */
:root { color: #1b3045; background: #fffaf0; }
body { background: #fffaf0; }
header { background: #f6ebd7; border-bottom: 2px solid #e4d4b9; }
button, .btn { background: #203b57; }
button.secondary { background: #f4e7d4; color: #203b57; }
.role.selected, .day.active { border-color: #cf7139; background: #fff1e2; }
.panel { border-color: #e9dccc; }
.event { background: #fffdfa; border-color: #e9dccc; }
.tag, .count { background: #f7e3d0; color: #71411e; }
input:focus, select:focus, textarea:focus, button:focus-visible { outline: 2px solid #cf7139; outline-offset: 2px; }

/* Genre selection */
.genre-picker{border:1px solid #d6c7b6;border-radius:10px;padding:12px;background:#fffdfa}
.genre-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.genre-option{display:flex;align-items:center;gap:7px;font-weight:500}
.genre-option input{width:auto;flex:none}
#genreFilter{min-height:110px}
@media(max-width:650px){.genre-options{grid-template-columns:repeat(2,minmax(0,1fr))}}

.brand .wordmark{width:min(300px,55vw);height:auto;max-height:92px;object-fit:contain}.brand{display:flex;align-items:center;gap:12px}.brand-tagline{font-size:13px;color:#40536a}

.image-preview{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0}.image-preview img{max-width:140px;max-height:120px;object-fit:contain;border-radius:7px}.profile-banner{max-height:170px;width:100%;object-fit:cover;border-radius:8px}.profile-avatar{width:90px;height:90px;object-fit:cover;border-radius:50%}.book-grid{display:flex;flex-wrap:wrap;gap:12px}.book-tile{max-width:145px}.book-tile img{width:100%;max-height:185px;object-fit:contain}.book-tile h4{margin:5px 0}.image-preview button{align-self:start}

.bookstore-toggle{display:inline-flex;align-items:center;gap:8px;font-weight:600;margin-bottom:12px}.bookstore-toggle input{width:auto;accent-color:#cf640c}
