:root{--ink:#15152a;--purple:#4d35c4;--teal:#2aa8a8;--soft:#f5f5fb;--line:#e7e7ef}*{box-sizing:border-box}body{margin:0;background:var(--soft);color:var(--ink);font:16px Arial,sans-serif}header{height:64px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100% - 1100px)/2))}.brand,.logo{color:var(--purple);font-weight:800;letter-spacing:2px;text-decoration:none}.brand span,.logo span{font-weight:400;color:var(--teal)}main{max-width:1100px;margin:auto;padding:28px 20px 90px}.hero{background:linear-gradient(135deg,#29216e,#5145c9);color:#fff;border-radius:24px;padding:32px;margin-bottom:22px}.eyebrow,.event-tag{font-size:12px;font-weight:700;letter-spacing:1px;color:var(--teal)}.hero .eyebrow{color:#b9ffff}.hero h1{margin:10px 0}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat,.event-card,.panel,.detail{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;text-decoration:none;color:inherit}.stat strong,.stat span{display:block}.stat strong{font-size:30px;color:var(--purple)}.stat span{margin-top:8px}.panel{margin-top:22px}.primary{background:var(--purple);color:#fff;border:0;border-radius:12px;padding:13px 18px;font-weight:700;cursor:pointer}.inline{display:inline-block;text-decoration:none;margin-top:12px}.page-head{margin-bottom:20px}.page-head h1{margin:4px 0 16px}.search{display:flex;gap:8px}.search input,input{width:100%;padding:13px;border:1px solid #ccc;border-radius:10px;font:inherit}.search button{border:0;border-radius:10px;padding:0 18px;background:var(--teal);color:#fff;font-weight:700}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.event-card h2{margin:8px 0;font-size:20px}.event-card p{margin:8px 0;color:#555}.muted{color:#777;font-size:13px;margin-top:14px}.detail{max-width:720px;margin:18px auto}.detail h1{font-size:34px}.detail h3{margin-top:28px}.meta{color:#555}.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:24px}.facts div{background:var(--soft);padding:14px;border-radius:12px}.facts b,.facts span{display:block}.facts b{font-size:12px;color:#777}.facts span{margin-top:8px;font-weight:700}.back{color:var(--purple);text-decoration:none}.login{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{background:#fff;border-radius:24px;padding:34px;width:min(420px,100%);box-shadow:0 10px 40px #25205c18}.login-card h1{margin-bottom:5px}.login-card label{display:block;margin:18px 0 6px;font-size:14px}.login-card input{margin-top:7px}.login-card .primary{width:100%;margin-top:18px}.error{background:#fff0f0;color:#a22;padding:12px;border-radius:10px}.link-button{background:none;border:0;color:var(--purple);cursor:pointer}.bottom{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);display:flex;justify-content:center;gap:40px;padding:14px}.bottom a{color:var(--purple);text-decoration:none;font-weight:700}@media(max-width:650px){main{padding:18px 14px 85px}.grid{grid-template-columns:repeat(2,1fr)}.cards{grid-template-columns:1fr}.facts{grid-template-columns:repeat(2,1fr)}.detail h1{font-size:28px}header{padding:0 14px}}

nav.top{display:flex;gap:22px}nav.top a{color:var(--ink);text-decoration:none;font-weight:700;font-size:14px}nav.top a:hover{color:var(--purple)}.notice{background:#eef7f7;border:1px solid var(--teal);color:#186a6a;padding:12px 14px;border-radius:12px;margin-bottom:18px}.vendor-list{display:flex;flex-direction:column;gap:12px;margin-top:14px}.vendor{display:flex;gap:16px;align-items:flex-start;border:1px solid var(--line);border-radius:14px;padding:16px;background:var(--soft)}.vendor-main{flex:1;min-width:0}.vendor-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.vendor-title strong{font-size:17px}.vendor-cov{margin:6px 0 4px;color:#444}.vendor .muted{margin:3px 0}.vendor-actions{display:flex;gap:8px;align-items:center}.tag{display:inline-block;background:#eceaf8;color:var(--purple);border-radius:99px;padding:3px 10px;font-size:12px;font-weight:700}.tag-connected{background:#e3f5ec;color:#1c7a4b}.tag-needs-keys{background:#fdf1dc;color:#8a5d10}.tag-not-built{background:#ecebf1;color:#5a5a6e}.tag-unavailable{background:#fdeceb;color:#a3352c}.row-form{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 18px}.row-form input,.row-form select{flex:1;min-width:140px;width:auto;padding:11px;border:1px solid #ccc;border-radius:10px;font:inherit}.primary.small{padding:9px 14px;font-size:14px}.mini{width:110px!important;padding:9px!important;margin-right:6px}table.list{width:100%;border-collapse:collapse;font-size:14px}table.list th{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);font-size:12px;letter-spacing:.5px;color:#777;text-transform:uppercase}table.list td{padding:10px;border-bottom:1px solid var(--line);vertical-align:top}table.list tr.off{opacity:.5}table.list td.url{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}table.list td.url a{color:var(--purple)}table.list td.actions{white-space:nowrap}td.actions form{display:inline}.link-button.danger{color:#a3352c}.vendor form{display:flex;align-items:center}

/* Card, matched to the reference: photo, title, meta line, match/approval
   chips, an offer bar, and a full-width CTA. */
.ecard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);
  border-radius:18px;overflow:hidden;text-decoration:none;color:inherit;box-shadow:0 1px 2px #0000000d}
.ecard-media{height:150px;background:linear-gradient(135deg,#c9c4ef,#8f89d8);position:relative}
.ecard-media.scene-music{background:linear-gradient(135deg,#4b2f7a,#8a4fa8)}
.ecard-media.scene-food{background:linear-gradient(135deg,#6a4a1e,#c98a2e)}
.ecard-media.scene-market{background:linear-gradient(135deg,#4e6a2e,#8fae3f)}
.ecard-media.scene-kids{background:linear-gradient(135deg,#1e5a6a,#2fa0c9)}
.ecard-media.scene-sport{background:linear-gradient(135deg,#1e3a6a,#2f6fc9)}
.ecard-media.scene-arts{background:linear-gradient(135deg,#6a1e4e,#c92f8f)}
.ecard-media.scene-park{background:linear-gradient(135deg,#1e6a3a,#2fc96f)}
.ecard-media.scene-night{background:linear-gradient(135deg,#151530,#3a2f6a)}
.ecard-media.scene-community{background:linear-gradient(135deg,#4d35c4,#2aa8a8)}
.ecard-src{position:absolute;left:10px;bottom:10px;background:#0006;color:#fff;font-size:11px;
  font-weight:700;padding:3px 9px;border-radius:99px;backdrop-filter:blur(2px)}
.ecard-body{padding:14px 16px 4px;flex:1}
.ecard-body h2{margin:0 0 4px;font-size:18px;line-height:1.25}
.ecard-meta{margin:0 0 10px;color:#666;font-size:13px}
.ecard-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.chip{display:inline-flex;align-items:center;gap:4px;border-radius:99px;padding:5px 12px;
  font-size:12.5px;font-weight:700}
.chip-match{background:#e3f5ec;color:#1c7a4b}
.chip-approve{background:#e3f5ec;color:#1c7a4b}
.ecard-offer{background:#eeecfb;color:var(--purple);border-radius:10px;padding:8px 12px;
  font-size:12.5px;font-weight:700;margin-bottom:12px}
.ecard-cta{background:var(--purple);color:#fff;text-align:center;padding:12px;font-weight:800;
  letter-spacing:.2px}

/* review queue */
.chiprow{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 18px}
.tag-active{background:var(--purple);color:#fff}
.bulkbar{display:flex;align-items:center;gap:12px;margin-bottom:12px;font-size:14px}
.primary.small.danger{background:#a3352c}
.stagelist{display:flex;flex-direction:column;gap:8px}
.stage-row{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--line);
  border-radius:12px;padding:12px 14px;background:var(--soft)}
.stage-main{flex:1;min-width:0}.stage-title{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.stage-title a{color:var(--ink);font-weight:700;text-decoration:none}
.stage-title a:hover{color:var(--purple)}
.stage-actions{display:flex;gap:10px;flex-shrink:0;padding-top:2px}
.tag-ok{background:#e3f5ec;color:#1c7a4b}.tag-failed{background:#fdeceb;color:#a3352c}
.tag-running{background:#fdf1dc;color:#8a5d10}
.tag-approved{background:#e3f5ec;color:#1c7a4b}.tag-staged{background:#fdf1dc;color:#8a5d10}
.tag-rejected{background:#fdeceb;color:#a3352c}

/* event detail: edit mode */
.detail-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.edit-form{display:flex;flex-direction:column;gap:14px;margin-top:14px}
.edit-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;color:#555}
.edit-form .top-pick-toggle{flex-direction:row;align-items:center;gap:9px;padding:12px 14px;border:1px solid #d7d0ff;border-radius:11px;background:#f4f1ff;color:#4432b0}.edit-form .top-pick-toggle input[type=checkbox]{width:19px;height:19px}.edit-form .top-pick-toggle input[type=hidden]{display:none}
.edit-form input,.edit-form select,.edit-form textarea{font:inherit;font-weight:400;
  padding:11px;border:1px solid #ccc;border-radius:10px;color:var(--ink)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:560px){.grid2{grid-template-columns:1fr}}

/* map on event detail */
.map-embed{border-radius:14px;overflow:hidden;border:1px solid var(--line);margin-top:10px}
.map-embed iframe{width:100%;height:220px;border:0;display:block}
.map-note{margin-top:6px!important;font-size:12px!important}

/* card images: gradient stays as the base; a photo covers it when present */
.ecard-media{background-size:cover;background-position:center;background-repeat:no-repeat}

/* category images admin page */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:16px}
.cat-tile{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.cat-preview{height:110px;background-size:cover;background-position:center;background-repeat:no-repeat}
.cat-preview.scene-music{background-image:linear-gradient(135deg,#4b2f7a,#8a4fa8)}
.cat-preview.scene-food{background-image:linear-gradient(135deg,#6a4a1e,#c98a2e)}
.cat-preview.scene-market{background-image:linear-gradient(135deg,#4e6a2e,#8fae3f)}
.cat-preview.scene-kids{background-image:linear-gradient(135deg,#1e5a6a,#2fa0c9)}
.cat-preview.scene-sport{background-image:linear-gradient(135deg,#1e3a6a,#2f6fc9)}
.cat-preview.scene-arts{background-image:linear-gradient(135deg,#6a1e4e,#c92f8f)}
.cat-preview.scene-park{background-image:linear-gradient(135deg,#1e6a3a,#2fc96f)}
.cat-preview.scene-night{background-image:linear-gradient(135deg,#151530,#3a2f6a)}
.cat-preview.scene-community{background-image:linear-gradient(135deg,#4d35c4,#2aa8a8)}
.cat-tile-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.cat-form{display:flex;gap:6px}
.cat-form input[type=file]{flex:1;font-size:12px;border:1px solid #ccc;border-radius:8px;padding:6px}

/* category catalogue: hierarchy and live event coverage */
.panel{margin:18px 0;padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:#fff}.panel h2{margin:3px 0 5px;font-size:20px}.category-create{display:flex;align-items:end;justify-content:space-between;gap:24px}.category-create-form{display:grid;grid-template-columns:minmax(190px,1fr) minmax(210px,1fr) auto;gap:10px;align-items:end;min-width:560px}.category-create-form label,.category-edit label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:800;color:#596273}.category-create-form input,.category-create-form select,.category-edit input,.category-edit select{min-width:0;height:41px;padding:8px 10px;border:1px solid #cfd1d9;border-radius:9px;background:#fff;font:inherit;font-weight:400}.category-create-form .button{height:41px;white-space:nowrap}.category-catalogue{margin-top:24px}.category-table-wrap{margin-top:13px;overflow-x:auto;border:1px solid var(--line);border-radius:15px;background:#fff}.category-table{width:100%;border-collapse:collapse;min-width:760px}.category-table th{padding:11px 14px;background:#fafafd;color:#747b89;font-size:11px;letter-spacing:.06em;text-align:left;text-transform:uppercase}.category-table td{padding:12px 14px;border-top:1px solid #ececf1;color:#4f5664;font-size:13px;vertical-align:top}.category-table td strong{color:var(--ink)}.category-table .is-subcategory td:first-child{padding-left:27px}.category-table .is-inactive{background:#fcfcfd;color:#9ba0aa}.sub-arrow{color:var(--purple);font-size:16px}.count-pill{display:inline-flex;padding:5px 9px;border-radius:999px;background:#e8f7ef;color:#137149;font-size:12px;font-weight:800;text-decoration:none}.count-pill:hover{background:#d4f0e0}.category-actions{display:flex;align-items:flex-start;gap:12px;white-space:nowrap}.category-actions>form{margin:0}.category-edit summary{color:var(--purple);font-weight:800;cursor:pointer}.category-edit form{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:370px;margin-top:10px;padding:11px;border:1px solid #e2e0f0;border-radius:10px;background:#fbfaff}.category-edit .toggle-label{grid-column:1/-1;display:flex;flex-direction:row;align-items:center;gap:7px;font-weight:600}.category-edit .toggle-label input{width:16px;height:16px}.category-edit .button{grid-column:1/-1;justify-self:start}.category-art{margin-top:26px}
@media(max-width:900px){.category-create{align-items:stretch;flex-direction:column}.category-create-form{min-width:0;width:100%}}
@media(max-width:650px){.category-create-form{grid-template-columns:1fr}.category-create-form .button{width:100%}.category-edit form{grid-template-columns:1fr;min-width:260px}.category-edit .button{width:100%}}

/* per-event photo on the detail page */
.detail-photo{height:200px;border-radius:14px;background-size:cover;background-position:center;
  background-repeat:no-repeat;margin:10px 0}
.detail-photo{height:220px;border-radius:14px;background-size:cover;background-position:center;background-repeat:no-repeat;background-color:var(--soft);border:1px solid var(--line);margin:10px 0}.detail-photo.small{height:120px}
.photo-tools{border:1px solid var(--line);border-radius:14px;padding:16px;margin:16px 0;
  display:flex;flex-direction:column;gap:10px;background:var(--soft)}
.photo-tools h3{margin:0}
.reference-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.reference-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px;display:flex;flex-direction:column;gap:7px;font-size:13px}
.reference-image{height:98px;border-radius:7px;background-size:cover;background-position:center;background-color:#dedaf4}

/* Custom discovery / Clean the Feed */
.custom-flow{display:flex;flex-wrap:wrap;gap:10px;align-items:center;color:var(--purple);font-size:14px}
.custom-flow span{color:var(--muted)}
.section-title{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.section-title h2{margin:0}.section-title .meta{margin:7px 0 0}
.category-tools{display:flex;align-items:center;gap:12px}.category-tools .meta{margin:7px 0 0}
.category-sync-note{color:#168551;font-weight:800}
.category-ai{margin-top:18px;background:linear-gradient(120deg,#fbfaff,#f0fbfa);border-color:#d9d8f3}
.category-ai-form{display:flex;align-items:end;gap:9px;flex:none}.category-ai-form label{display:flex;flex-direction:column;gap:5px;color:#596273;font-size:12px;font-weight:800}.category-ai-form select{height:41px;padding:8px 30px 8px 10px;border:1px solid #cfd1d9;border-radius:9px;background:#fff;font:inherit;font-weight:400}.category-ai-form .button{height:41px;white-space:nowrap}
.cat-tile-actions{display:flex;flex-direction:column;gap:7px}.cat-tile-actions form{margin:0}.cat-tile-actions .cat-form{display:flex}.ai-small{width:100%;padding:7px 9px!important;background:#eeecff!important;border:1px solid #c8c0f5!important;color:#4938c8!important;font-size:11px!important}.ai-small:hover{background:#e2ddff!important;border-color:#9a8eea!important}
.score-badge{min-width:62px;padding:8px;border-radius:12px;text-align:center;background:#ebe8ff;color:var(--purple);font-size:22px;font-weight:800}.score-badge small{font-size:11px;color:var(--muted);font-weight:600}
.clean-card{margin-bottom:14px}.clean-decision{display:grid;grid-template-columns:minmax(130px,1fr) minmax(150px,1fr) minmax(160px,2fr) auto auto auto;gap:8px;align-items:center}.clean-decision input,.clean-decision select{min-width:0;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff}
@media(max-width:760px){.clean-decision{grid-template-columns:1fr 1fr}.clean-decision input,.clean-decision select{grid-column:span 2}.section-title{align-items:center}}
@media(max-width:900px){.category-tools{align-items:stretch;flex-direction:column}.category-tools .meta{margin:0}.category-ai-form{align-items:stretch;flex-direction:column}.category-ai-form select,.category-ai-form .button{width:100%}}

/* Category management board: editing is always visible; there is no collapsed
   edit dropdown to hunt for. */
.category-create{display:grid;grid-template-columns:minmax(215px,.72fr) minmax(0,1.8fr);align-items:center;gap:24px}
.category-panel-heading h2{margin-bottom:5px}.category-panel-heading .meta{margin:0;line-height:1.45}
.category-create-form{display:grid;grid-template-columns:minmax(130px,1.1fr) minmax(150px,1.2fr) minmax(140px,1fr) auto;gap:9px;align-items:end;min-width:0;width:100%}
.category-create-form label,.category-inline-form label{display:flex;flex-direction:column;gap:5px;color:#596273;font-size:11px;font-weight:900;letter-spacing:.02em}
.category-create-form input,.category-create-form select,.category-inline-form input,.category-inline-form select{width:100%;min-width:0;height:39px;padding:8px 9px;border:1px solid #cfd4df;border-radius:8px;background:#fff;color:#263149;font:400 13px Arial}
.category-create-form .button{height:39px;white-space:nowrap}
.category-catalogue{margin-top:27px}
.category-catalogue-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:13px}
.category-catalogue-head h2{margin:0;color:#18233a;font-size:22px;letter-spacing:-.3px}.category-catalogue-head .eyebrow{margin-bottom:5px}
.category-help{color:#747d8e;font-size:11px}
.category-catalogue-head .category-tools{align-items:center}
.category-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.category-admin-card{min-width:0;padding:16px;border:1px solid #dfe3eb;border-radius:15px;background:#fff;box-shadow:0 3px 12px #17233d0a}
.category-admin-card.is-subcategory{border-left:4px solid #7462df}.category-admin-card.is-inactive{background:#fbfbfc;opacity:.82}
.category-admin-card-head{display:flex;align-items:flex-start;gap:11px;min-width:0;padding-bottom:13px;border-bottom:1px solid #eceef3}
.category-admin-icon{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#eeecff,#e5faf8);color:#4d39df;font-size:24px;font-weight:900;line-height:1}
.category-admin-title{min-width:0;flex:1}.category-level{display:block;margin:1px 0 3px;color:#7b8495;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.category-admin-title h3{overflow:hidden;margin:0;color:#18233a;font-size:17px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}
.category-admin-stats{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:7px;color:#7b8495;font-size:10px}.category-admin-stats .count-pill{padding:4px 8px;font-size:10px}
.category-admin-card-head>.tag{flex:0 0 auto;margin-top:1px}
.category-inline-form{margin-top:13px}.category-inline-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px}
.category-inline-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:11px;padding-top:11px;border-top:1px solid #eef0f4}
.category-active-toggle{display:flex!important;flex-direction:row!important;align-items:center;gap:6px;font-size:11px!important;font-weight:700!important;letter-spacing:0!important;white-space:nowrap}.category-active-toggle input{width:16px!important;height:16px!important;accent-color:#4d39df}
.category-inline-footer .button{padding:8px 11px;white-space:nowrap}.category-delete{margin-top:10px;font-size:11px!important}
@media(max-width:1050px){.category-create{grid-template-columns:1fr}.category-create-form{grid-template-columns:repeat(3,minmax(0,1fr)) auto}.category-catalogue-head{align-items:stretch;flex-direction:column;gap:10px}.category-catalogue-head .category-tools{align-items:flex-start}}
@media(max-width:760px){.category-admin-grid{grid-template-columns:1fr}.category-create-form{grid-template-columns:1fr 1fr}.category-create-form .button{grid-column:1/-1;width:100%}}
@media(max-width:520px){.category-create{padding:15px}.category-create-form,.category-inline-fields{grid-template-columns:1fr}.category-inline-footer{align-items:stretch;flex-direction:column}.category-inline-footer .button{width:100%}.category-active-toggle{white-space:normal}.category-admin-card{padding:13px}.category-admin-title h3{font-size:16px}.category-catalogue-head .category-tools{width:100%}.category-catalogue-head .category-tools form,.category-catalogue-head .category-tools button{width:100%}}

/* Event health control */
.vetting-filters{margin-bottom:14px}.vetting-actions{display:flex;flex-direction:column;gap:6px;min-width:140px}.vetting-actions input{min-width:140px;padding:6px 8px;border:1px solid var(--line);border-radius:7px}.lifecycle-under_review{background:#fffaf0}.lifecycle-disabled{background:#fff5f5;opacity:.78}.lifecycle-under_review td:first-child,.lifecycle-disabled td:first-child{border-left:3px solid #d99a24}
@media(max-width:760px){.vetting-list{font-size:12px}.vetting-actions input{width:130px}}

/* photos bulk page */
.inline-label{display:flex;align-items:center;gap:6px;font-size:13px;color:#555}
.ok-text{color:#1c7a4b;font-weight:700}
.photo-audit-mini{margin-top:5px;max-width:280px;font-size:10.5px;line-height:1.25}
.photo-audit-tag{display:inline-block;max-width:100%;white-space:normal;line-height:1.2;background:#fff4d6;color:#805b00;border:1px solid #edcf7b}
.photo-audit-note{grid-column:1/-1}
.photo-rating-mini{margin-top:5px;max-width:280px;font-size:10.5px;line-height:1.25}
.photo-rating-high{background:#e0f6e9;color:#17663c;border:1px solid #9ed8b5}
.photo-rating-medium{background:#fff4d6;color:#805b00;border:1px solid #edcf7b}
.photo-rating-low{background:#ffe5e5;color:#9b2727;border:1px solid #e9aaaa}

/* review queue thumbnail */
.stage-thumb{
  width:72px;height:72px;flex-shrink:0;border-radius:10px;
  background-size:cover;background-position:center;background-repeat:no-repeat;
  display:flex;align-items:center;justify-content:center;
}
.stage-thumb.scene-music{background-image:linear-gradient(135deg,#4b2f7a,#8a4fa8)}
.stage-thumb.scene-food{background-image:linear-gradient(135deg,#6a4a1e,#c98a2e)}
.stage-thumb.scene-market{background-image:linear-gradient(135deg,#4e6a2e,#8fae3f)}
.stage-thumb.scene-kids{background-image:linear-gradient(135deg,#1e5a6a,#2fa0c9)}
.stage-thumb.scene-sport{background-image:linear-gradient(135deg,#1e3a6a,#2f6fc9)}
.stage-thumb.scene-arts{background-image:linear-gradient(135deg,#6a1e4e,#c92f8f)}
.stage-thumb.scene-park{background-image:linear-gradient(135deg,#1e6a3a,#2fc96f)}
.stage-thumb.scene-night{background-image:linear-gradient(135deg,#151530,#3a2f6a)}
.stage-thumb.scene-community{background-image:linear-gradient(135deg,#4d35c4,#2aa8a8)}
.stage-thumb-empty{font-size:9.5px;font-weight:700;color:#fff;text-align:center;
  text-shadow:0 1px 2px rgba(0,0,0,.4);padding:0 4px}

/* dashboard tiles */
.dash-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:22px}
.dash-grid-secondary{grid-template-columns:repeat(7,1fr);margin-top:12px}
.dtile{
  display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid var(--line);
  border-radius:16px;padding:18px 20px;text-decoration:none;color:inherit;
  border-left:4px solid var(--purple);transition:box-shadow .15s,transform .15s;
}
.dtile:hover{box-shadow:0 4px 16px #0000001a;transform:translateY(-1px)}
.dtile-primary{border-left-color:var(--purple)}
.dtile-warn{border-left-color:#c98a2e}
.dtile-bad{border-left-color:#a3352c}
.dtile-n{font-size:32px;font-weight:800;color:var(--ink);line-height:1}
.dtile-label{font-size:13px;color:#666;font-weight:600}

.dtile-sm{
  display:flex;flex-direction:column;gap:2px;background:#fff;border:1px solid var(--line);
  border-radius:12px;padding:12px 14px;text-decoration:none;color:inherit;
}
a.dtile-sm:hover{box-shadow:0 2px 10px #00000014}
.dtile-sm-warn{border-color:#c98a2e}
.dtile-sm-n{font-size:20px;font-weight:800;color:var(--purple)}
.dtile-sm-of{font-size:13px;font-weight:600;color:#999}
.dtile-sm-label{font-size:11.5px;color:#777;font-weight:600}

.dash-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}
@media (max-width:900px){
  .dash-grid{grid-template-columns:repeat(2,1fr)}
  .dash-grid-secondary{grid-template-columns:repeat(3,1fr)}
  .dash-cols{grid-template-columns:1fr}
}

/* grade mix bars */
.gradebar-list{display:flex;flex-direction:column;gap:9px;margin-top:12px}
.gradebar-row{display:grid;grid-template-columns:80px 1fr 34px;align-items:center;gap:10px}
.gradebar-label{font-size:12.5px;font-weight:700;color:#555}
.gradebar-track{height:12px;background:var(--soft);border-radius:6px;overflow:hidden}
.gradebar-fill{display:block;height:100%;background:var(--purple);border-radius:6px}
.gradebar-n{font-size:12.5px;font-weight:700;color:#555;text-align:right}

/* The global `input{width:100%}` rule above also caught checkboxes and radios,
   stretching them to fill their row and breaking every checkbox-based layout
   on the site (review queue, bulk photo select). Higher specificity here
   wins regardless of source order. */
input[type=checkbox], input[type=radio]{
  width:16px;height:16px;flex:none;margin:0;accent-color:var(--purple);cursor:pointer;
}

/* live upload preview - shows the exact crop before the file is ever saved */
.upload-preview-empty{
  display:flex;align-items:center;justify-content:center;text-align:center;
  padding:0 20px;color:#999;font-size:13px;background-color:var(--soft)!important;
}

/* vendor API keys page */
.key-list{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.key-row{display:flex;justify-content:space-between;align-items:center;gap:16px;
  border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:#fff}
.key-main strong{font-family:monospace;font-size:13.5px}
.key-input{display:flex;align-items:center;gap:10px}
.key-input input{width:260px;padding:9px;border:1px solid #ccc;border-radius:8px;font:inherit;font-size:13px}

.offers-tools{margin-top:22px}
.offer-row{display:flex;justify-content:space-between;align-items:center;gap:12px;
  border:1px solid var(--line);border-radius:12px;padding:11px 14px;margin-bottom:8px;background:#fff}
.offer-row p{margin:0;font-size:14px}
.offer-row s{color:#999;font-weight:400}

/* Own grid rather than .cat-form (a plain flex row, which squeezed four
   labelled fields into slivers). Headline and terms span the full width;
   the two prices sit side by side. */
.offer-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px;
  padding-top:16px;border-top:1px solid var(--line)}
.offer-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;
  font-weight:700;color:#555}
.offer-form label.wide{grid-column:1/-1}
.offer-form label i{font-style:normal;font-weight:400;color:#999}
.offer-form label em{font-style:normal;font-weight:400;font-size:12px;color:#8b8a99}
.offer-form input{font:inherit;font-weight:400;padding:11px;border:1px solid #ccc;
  border-radius:10px;width:100%}
.offer-form input:focus{outline:2px solid var(--purple);outline-offset:-1px;border-color:var(--purple)}
.offer-submit{grid-column:1/-1}
.offer-submit .primary{width:auto}


/* ------------------------------------------------------------------ mobile
   Appended last so these win over the media block near the top of the file.
   The two nav bars were the real problem: ten top links and seven bottom
   links at a 40px gap forced the whole console to ~776px, so every admin
   page scrolled sideways on a phone. Both become scrolling strips instead. */
@media(max-width:760px){
  nav.top{gap:14px;overflow-x:auto;flex:1;min-width:0;padding:0 4px;
    -webkit-overflow-scrolling:touch;scrollbar-width:none}
  nav.top::-webkit-scrollbar{display:none}
  nav.top a{white-space:nowrap;font-size:13px}
  header{gap:10px}
  .brand{white-space:nowrap;font-size:14px}
  .bottom{justify-content:flex-start;gap:22px;padding:12px 14px;overflow-x:auto;
    -webkit-overflow-scrolling:touch;scrollbar-width:none}
  .bottom::-webkit-scrollbar{display:none}
  .bottom a{white-space:nowrap;font-size:13px}
}
@media(max-width:650px){
  .facts{grid-template-columns:1fr}
  .grid2{grid-template-columns:1fr}
  .row-form{flex-direction:column}
  .row-form input,.row-form select{width:100%;min-width:0}
  .offer-row{flex-direction:column;align-items:flex-start;gap:8px}
  .offer-form{grid-template-columns:1fr}.offer-submit .primary{width:100%}
  .key-row{flex-direction:column;align-items:stretch;gap:10px}
  .key-input{flex-direction:column;align-items:stretch}
  .key-input input{width:100%}
  .vendor{flex-direction:column}
  .vendor-actions{flex-wrap:wrap}
  /* wide admin tables scroll in their own box rather than the page */
  table.list{display:block;overflow-x:auto;white-space:nowrap}
  .detail-photo{height:170px}
  .map-embed iframe{height:200px}
  /* 16px keeps iOS from zooming the page when a field takes focus */
  input,select,textarea{font-size:16px}
}

/* ------------------------------------------------- vendor run controls
   Two identical purple buttons beside two identical unlabelled city boxes
   read as "which one do I press?". Now: one labelled city dropdown, a
   secondary Test, a primary Import, and a line saying what each does. */
.vendor-run{display:flex;flex-direction:column;gap:9px;align-items:flex-end}
.vendor-city{display:flex;flex-direction:column;gap:5px;font-size:12px;
  font-weight:700;color:#666;text-align:left}
.vendor-city select{font:inherit;font-weight:400;font-size:14px;padding:9px 11px;
  border:1px solid #ccc;border-radius:10px;background:#fff;min-width:170px;cursor:pointer}
.vendor-city select:focus{outline:2px solid var(--purple);outline-offset:-1px}
.vendor-run-buttons{display:flex;gap:8px;align-items:stretch}
.vendor-run-buttons form{display:none}
.ghost{display:inline-flex;align-items:center;justify-content:center;
  background:#fff;color:var(--purple);border:1.5px solid var(--purple);
  border-radius:12px;padding:9px 16px;font:inherit;font-weight:700;font-size:14px;
  cursor:pointer;text-decoration:none;transition:background .15s,color .15s}
.ghost:hover{background:var(--purple);color:#fff}
.ghost.small{padding:9px 14px;font-size:14px;line-height:1.2}
.vendor-hint{margin:0;max-width:330px;text-align:right;font-size:12px;
  color:var(--muted);line-height:1.45}
.vendor-hint b{color:#444}
.vendor-hint a{color:var(--purple);font-weight:700}
@media(max-width:760px){
  .vendor-run{align-items:stretch;width:100%}
  .vendor-city{text-align:left}
  .vendor-city select{width:100%;min-width:0}
  .vendor-run-buttons{flex-wrap:wrap}
  .vendor-run-buttons button{flex:1;min-width:130px}
  .vendor-hint{max-width:none;text-align:left}
}

/* ------------------------------------------------- event health pipeline */
.health-head{margin-bottom:18px}.wide-copy{max-width:900px;line-height:1.5}
.health-pipeline{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:18px 0}
.pipeline-step{display:flex;flex-direction:column;gap:4px;min-height:122px;padding:15px 16px;
  border:1px solid var(--line);border-top:4px solid var(--purple);border-radius:14px;
  background:#fff;color:var(--ink);text-decoration:none;transition:transform .15s,box-shadow .15s}
.pipeline-step:hover{transform:translateY(-2px);box-shadow:0 5px 16px #1a145014}
.pipeline-step strong{font-size:30px;line-height:1;color:var(--purple)}
.pipeline-step small{margin-top:auto;color:#697080;font-size:12px;line-height:1.35}
.pipeline-label{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#525c6e}
.pipeline-step.waiting{border-top-color:#8b92a1;background:#fafbfc}.pipeline-step.waiting strong{color:#596273}
.pipeline-step.ready{border-top-color:#d18b20}.pipeline-step.ready strong{color:#a66a0c}
.pipeline-step.valid{border-top-color:#249363}.pipeline-step.valid strong{color:#137149}
.pipeline-step.review{border-top-color:#d18b20;background:#fffcf5}.pipeline-step.review strong{color:#a66a0c}
.pipeline-step.disabled{border-top-color:#b74545;background:#fff9f9}.pipeline-step.disabled strong{color:#a23333}
.filter-chips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.chip{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;background:#eeecfa;color:var(--purple);font-size:13px;font-weight:700;text-decoration:none}.chip:hover,.chip.selected{background:var(--purple);color:#fff}
.vetting-filters{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:0 0 16px;padding:14px 16px;border:1px solid var(--line);border-radius:15px;background:#fff}.vetting-filters label{display:flex;flex-direction:column;gap:5px;min-width:145px;color:#5e6470;font-size:12px;font-weight:800}.vetting-filters select{height:42px;min-width:145px;padding:8px;border:1px solid #cdd0d8;border-radius:9px;background:#fff;font:inherit;font-weight:400}.vetting-filters .button{height:42px}.text-link{color:var(--purple);background:transparent;border:0;padding:8px 4px;font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}.text-link.danger{color:#ad2f2f}.text-link.success{color:#137149}
.bulk-vetting{display:flex;align-items:center;gap:12px;margin:0 0 14px;font-size:13px;font-weight:700}.bulk-vetting label{display:flex;align-items:center;gap:6px}
.health-queue{display:grid;gap:14px}.health-card{border:1px solid var(--line);border-left:4px solid var(--purple);border-radius:16px;background:#fff;overflow:hidden}.health-card.lifecycle-under_review{border-left-color:#d18b20;background:#fffdf8}.health-card.lifecycle-disabled{border-left-color:#b74545;background:#fffafa;opacity:.88}
.health-card-head{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:12px;align-items:start;padding:16px 18px 13px;border-bottom:1px solid #ebeaf0}.select-event{padding-top:4px}.health-event-title h2{margin:0 0 7px;font-size:18px;line-height:1.22;color:var(--ink)}.health-event-title a{text-decoration:none}.health-event-title a:hover h2{text-decoration:underline;color:var(--purple)}
.tag-row{display:flex;gap:6px;flex-wrap:wrap}.tag{display:inline-flex;align-items:center;min-height:22px;padding:3px 8px;border-radius:999px;background:#eeecfa;color:#5040bd;font-size:11.5px;font-weight:700;line-height:1.15}.tag.lifecycle.active{background:#e5f7ed;color:#137149}.tag.lifecycle.under_review{background:#fff1d7;color:#98600a}.tag.lifecycle.disabled{background:#fce6e6;color:#a23333}.tag.risk.high{background:#fce6e6;color:#a23333}.tag.risk.medium{background:#fff1d7;color:#98600a}.tag.risk.low,.tag.good{background:#e5f7ed;color:#137149}.tag.subtle{background:#f2f3f6;color:#667080}.tag.issue{background:#f0edff;color:#5845c9}
.evidence-link{display:flex;flex-direction:column;gap:5px;min-width:180px;text-align:right;font-size:12px}.evidence-link span,.detail-label{color:#747b89;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.evidence-link a{color:var(--purple);font-weight:700}.evidence-link em{color:#a23333;font-style:normal;font-weight:700}
.health-details{display:grid;grid-template-columns:1.1fr 1fr 1.35fr 1.4fr;gap:16px;padding:14px 18px}.health-details>div{min-width:0}.health-details strong{display:block;margin-top:4px;font-size:13px;color:#222a38}.health-details p{margin:4px 0 0;color:#687080;font-size:12.5px;line-height:1.35}.issues{margin-top:5px}
.health-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;padding:12px 18px;background:#fafafd;border-top:1px solid #ebeaf0}.health-actions form{display:flex;align-items:center;gap:7px;margin:0}.health-actions input{width:166px;padding:8px 9px;border:1px solid #d4d6df;border-radius:8px;font:inherit;font-size:12px}.health-actions .button{padding:8px 12px;font-size:12px}.button.secondary{background:#fff;color:var(--purple);border:1px solid var(--purple)}.button.secondary:hover{background:var(--purple);color:#fff}.empty-state{padding:32px;border:1px dashed #c9c6dc;border-radius:15px;background:#fff;text-align:center}.empty-state h2{margin:0 0 8px;font-size:19px}.empty-state p{max-width:600px;margin:auto;color:#667080;line-height:1.5}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:1050px){.health-pipeline{grid-template-columns:repeat(3,1fr)}.health-details{grid-template-columns:1fr 1fr}.evidence-link{min-width:145px}}
@media(max-width:760px){.health-pipeline{grid-template-columns:1fr 1fr}.pipeline-step{min-height:105px}.vetting-filters{align-items:stretch}.vetting-filters label,.vetting-filters select{width:100%;min-width:0}.vetting-filters .button{width:100%}.health-card-head{grid-template-columns:24px 1fr}.evidence-link{grid-column:2;text-align:left}.health-details{grid-template-columns:1fr;padding:14px}.health-actions{padding:12px 14px;align-items:stretch;flex-direction:column}.health-actions form{width:100%;flex-wrap:wrap}.health-actions input{flex:1;min-width:180px}.health-actions .button{width:100%;text-align:center}.bulk-vetting{align-items:flex-start;flex-direction:column}}
@media(max-width:430px){.health-pipeline{grid-template-columns:1fr}.filter-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:3px}.chip{white-space:nowrap}}

/* ---------------------------------------- Vetting 2: visual test control room */
.flow-hero{position:relative;display:flex;justify-content:space-between;gap:28px;overflow:hidden;margin:12px 0 24px;padding:34px 38px;border-radius:22px;background:radial-gradient(circle at 82% 5%,#57d8dc4d,transparent 30%),radial-gradient(circle at 35% 120%,#7164ff70,transparent 45%),linear-gradient(125deg,#151437,#2a2172 55%,#4036a9);color:#fff}.flow-hero:after{content:"";position:absolute;inset:auto -5% -58px 46%;height:155px;border:1px solid #9d96ff5c;border-radius:50%;box-shadow:0 -25px 0 #9d96ff12,0 -50px 0 #9d96ff0d}.flow-hero>div{position:relative;z-index:1}.flow-hero .eyebrow{color:#9ff3f0}.flow-hero h1{max-width:620px;margin:3px 0 10px;font-size:clamp(30px,4vw,47px);line-height:1;letter-spacing:-1.7px}.flow-hero p:not(.eyebrow){max-width:610px;margin:0;color:#e5e4ff;font-size:16px;line-height:1.55}.live-dot{display:inline-flex;align-items:center;gap:5px;margin-left:9px;padding:3px 7px;border:1px solid #4fe4bc6b;border-radius:99px;background:#0d372f99;color:#8cffd7;font-size:9px;vertical-align:middle}.live-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:#78ffd0;box-shadow:0 0 0 0 #78ffd099;animation:flow-ping 1.8s infinite}.flow-hero-status{display:flex;flex:0 0 235px;flex-direction:column;align-self:center;gap:8px;padding:18px;border:1px solid #ffffff2e;border-radius:15px;background:#0d0b2f42;backdrop-filter:blur(8px)}.flow-hero-status span{color:#c9c7ee;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.flow-hero-status strong{font-size:15px}.flow-hero-status strong i{display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:50%;background:#77ffca;box-shadow:0 0 11px #77ffca}.flow-hero-status small{color:#d4d3ec;line-height:1.4}
.flow-board{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:25px;padding:14px 0}.flow-track{position:absolute;z-index:0;top:53%;left:7%;right:7%;height:2px;overflow:hidden;background:linear-gradient(90deg,#45c6e788,#9c80ff88,#ffbd6288,#56dfa788);transform:translateY(-50%)}.flow-pulse{position:absolute;top:50%;width:56px;height:7px;border-radius:99px;background:#fff;box-shadow:0 0 16px 6px #a8ffff;transform:translate(-80px,-50%);animation:flow-travel 6.5s ease-in-out infinite}.flow-stage{position:relative;z-index:1;min-height:320px;padding:20px 18px 17px;border:1px solid #dddaf0;border-radius:19px;background:linear-gradient(160deg,#fff,#fbfaff);box-shadow:0 10px 24px #28205d0b;animation:flow-rise .55s both;animation-delay:var(--stage-delay,0s)}.flow-stage:before{content:"";position:absolute;top:-6px;left:23px;width:48px;height:6px;border-radius:99px;background:var(--stage-color,#5b4ddb);box-shadow:0 1px 8px var(--stage-glow,#5b4ddb55)}.flow-stage.discovery{--stage-color:#1da7c6;--stage-glow:#1da7c666}.flow-stage.enrich{--stage-color:#7557e8;--stage-glow:#7557e866}.flow-stage.decide{--stage-color:#e38b39;--stage-glow:#e38b3966}.flow-stage.publish{--stage-color:#1ba875;--stage-glow:#1ba87566}.flow-stage.validate{--stage-color:#3874dc;--stage-glow:#3874dc66}.flow-number{position:absolute;top:15px;right:15px;color:#d6d4e6;font-size:11px;font-weight:900;letter-spacing:.1em}.flow-icon{display:grid;place-items:center;width:37px;height:37px;margin-bottom:20px;border-radius:12px;background:color-mix(in srgb,var(--stage-color) 13%,white);color:var(--stage-color);font-size:19px;font-weight:900}.flow-kicker{margin:0 0 6px;color:var(--stage-color);font-size:10px;font-weight:900;letter-spacing:.12em}.flow-stage h2{margin:0 0 9px;color:#19213a;font-size:19px;line-height:1.1}.flow-stage>p:not(.flow-kicker){min-height:83px;margin:0;color:#637087;font-size:13px;line-height:1.5}.flow-metric{display:flex;align-items:baseline;gap:7px;margin:15px 0 11px}.flow-metric strong{color:var(--stage-color);font-size:28px;line-height:1;font-variant-numeric:tabular-nums}.flow-metric span{color:#69758b;font-size:11px;font-weight:700}.field-chips{display:flex;flex-wrap:wrap;gap:5px;margin:14px 0 12px}.field-chips span{padding:5px 7px;border:1px solid #ddd9fa;border-radius:7px;background:#f4f2ff;color:#6655c6;font-size:10px;font-weight:800}.flow-mode{display:block;margin-top:auto;padding-top:10px;border-top:1px solid #ebe9f2;font-size:10.5px;font-weight:700;line-height:1.35}.flow-mode.live{color:#11815b}.flow-mode.live:before{content:"● ";color:#24bf88}.flow-mode.planned{color:#74718d}.flow-mode.planned:before{content:"◇ ";color:#796ce5}
.flow-explainer{display:grid;grid-template-columns:1.05fr .95fr;gap:22px;margin:0 0 25px;padding:25px 27px;border:1px solid #e0deeb;border-radius:20px;background:#fff}.flow-explainer-copy h2{margin:3px 0 9px;font-size:25px;color:#19213a}.flow-explainer-copy>p:not(.eyebrow){max-width:650px;margin:0;color:#5f6b80;line-height:1.55}.flow-buttons{display:flex;gap:9px;flex-wrap:wrap;margin-top:17px}.flow-health-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.flow-health-grid>div{display:flex;flex-direction:column;min-height:106px;padding:14px;border-radius:13px;background:#f7f8fc;border:1px solid #ecedf4}.flow-health-grid span{color:#737e91;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.flow-health-grid strong{margin:8px 0 2px;color:#302586;font-size:27px;line-height:1;font-variant-numeric:tabular-nums}.flow-health-grid small{margin-top:auto;color:#7a8495;font-size:11px}
.flow-activity{margin-bottom:32px;padding:24px 27px;border:1px solid #e0deeb;border-radius:20px;background:#fff}.flow-activity .section-heading{margin-bottom:14px}.flow-activity .section-heading>span{color:#14835c;font-size:12px;font-weight:800}.validation-list{border:1px solid #ecebf2;border-radius:13px;overflow:hidden}.validation-row{display:grid;grid-template-columns:15px minmax(160px,1.4fr) minmax(145px,1.2fr) minmax(100px,.75fr) 55px 16px;align-items:center;gap:12px;padding:13px 15px;border-bottom:1px solid #eeeef4;color:#1e2941;text-decoration:none;transition:background .12s}.validation-row:last-child{border-bottom:0}.validation-row:hover{background:#faf9ff}.validation-orb{width:9px;height:9px;border-radius:50%;background:#aeb5c4}.validation-orb.valid{background:#1fb27b;box-shadow:0 0 0 4px #1fb27b1c}.validation-orb.needs_attention{background:#ed9e3e;box-shadow:0 0 0 4px #ed9e3e1c}.validation-row div{display:flex;flex-direction:column;gap:3px;min-width:0}.validation-row div:first-of-type strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.validation-row small,.validation-row div:not(:first-of-type) span{color:#778195;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.validation-row div:not(:first-of-type) strong{font-size:12px}.validation-arrow{color:#6c5bd5;font-size:18px}.flow-empty{display:flex;flex-direction:column;gap:5px;padding:24px;text-align:center;color:#717b8c;font-size:13px}.flow-empty strong{color:#27314a;font-size:15px}@keyframes flow-travel{0%,14%{transform:translate(-80px,-50%);opacity:0}22%,77%{opacity:1}88%,100%{transform:translate(calc(100vw - 110px),-50%);opacity:0}}@keyframes flow-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes flow-ping{70%{box-shadow:0 0 0 7px #78ffd000}100%{box-shadow:0 0 0 0 #78ffd000}}@media(max-width:1120px){.flow-board{grid-template-columns:repeat(3,1fr)}.flow-track{display:none}.flow-stage{min-height:282px}.validation-row{grid-template-columns:15px minmax(150px,1.4fr) minmax(135px,1fr) minmax(90px,.7fr) 16px}.validation-row div:last-of-type{display:none}}@media(max-width:760px){.flow-hero{flex-direction:column;padding:27px 22px}.flow-hero-status{flex-basis:auto;width:100%}.flow-board{grid-template-columns:1fr 1fr}.flow-stage{min-height:273px;padding:17px 15px}.flow-stage>p:not(.flow-kicker){min-height:72px}.flow-explainer{grid-template-columns:1fr;padding:22px 18px}.flow-activity{padding:20px 16px}.validation-row{grid-template-columns:12px minmax(0,1fr) auto;gap:8px}.validation-row div:nth-of-type(2),.validation-row div:nth-of-type(3){display:none}.validation-arrow{font-size:16px}}@media(max-width:440px){.flow-board{grid-template-columns:1fr}.flow-stage{min-height:240px}.flow-stage>p:not(.flow-kicker){min-height:auto}.flow-health-grid{grid-template-columns:1fr 1fr}.flow-hero h1{font-size:32px}}

/* ------------------------------------------------------------ events desk
   Review, Vetting and Photos used to be separate tabs over the same table.
   They are stages here: chips filter one list, and the action bar changes
   to suit whichever stage is showing. */
.stage-bar{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 4px}
.stage{display:inline-flex;align-items:center;gap:8px;background:#fff;
  border:1.5px solid var(--line);border-radius:99px;padding:9px 15px;
  color:var(--ink);font-size:14px;font-weight:700;text-decoration:none;
  transition:border-color .12s,background .12s,color .12s}
.stage:hover{border-color:var(--purple)}
.stage b{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;
  border-radius:99px;background:#eceaf8;color:var(--purple);font-size:12px}
.stage.on{background:var(--purple);border-color:var(--purple);color:#fff}
.stage.on b{background:#fff;color:var(--purple)}
.stage-review b{background:#fdf1dc;color:#8a5d10}
.stage-check b{background:#fdeceb;color:#a3352c}
.stage.on b{background:#fff}
.stage-blurb{margin:10px 0 16px;color:var(--muted);font-size:13.5px}

.desk-bar{display:flex;justify-content:space-between;align-items:center;gap:14px;
  flex-wrap:wrap;background:var(--soft);border:1px solid var(--line);
  border-radius:12px;padding:11px 14px;margin-bottom:12px}
.pick-all{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;
  color:#555;cursor:pointer}
.desk-actions{display:flex;align-items:center;gap:8px;flex:1;justify-content:flex-end;flex-wrap:wrap}

table.list.desk td{vertical-align:top}
table.list.desk th.tick,table.list.desk td.tick{width:34px;padding-right:0}
.desk-title{color:var(--ink);font-weight:700;text-decoration:none;font-size:14.5px}
.desk-title:hover{color:var(--purple);text-decoration:underline}
.desk-tags{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:5px}
.desk-tags .muted{font-size:12px}
table.list.desk .muted{font-size:12px;color:var(--muted);margin-top:3px}
.never{color:#a3352c;font-weight:700}
.dot{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;
  font-size:12px;font-weight:700}
.dot.yes{background:#e3f5ec;color:#1c7a4b}
.dot.no{background:#f2f1f6;color:#9a99a8}
.empty-desk{text-align:center;padding:34px}
.empty-desk h3{margin:0 0 6px}
.notice.warn{background:#fdf1dc;border-color:#e8c98a;color:#7a5410}

@media(max-width:760px){
  .stage{font-size:13px;padding:8px 13px}
  .desk-bar{flex-direction:column;align-items:stretch}
  .desk-actions{justify-content:stretch}
  .desk-actions button{flex:1 1 150px;min-width:120px}
  .desk-actions .muted{flex:1 1 100%;margin:0;text-align:center}
  .desk-actions .smart-repair-progress{order:20;flex:1 1 100%;justify-content:center;margin:2px 0 0}
  /* the desk table is the one place a sideways scroll beats a squeeze */
  table.list.desk{white-space:normal}
  table.list.desk th:nth-child(3),table.list.desk td:nth-child(3){display:none}
}

/* Multiple categories in the event editor */
.edit-form select[multiple]{min-height:158px;padding:7px}.edit-form select[multiple] option{padding:6px 8px;border-radius:5px}.edit-form select[multiple] option:checked{background:linear-gradient(#4d39df,#4d39df);color:#fff}

/* Geoapify review-before-save map pin workflow */
.geo-tools{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:14px 0;padding:15px;border:1px solid #dddaf3;border-radius:12px;background:#faf9ff}.geo-tools>div{flex:1;min-width:220px}.geo-tools .eyebrow{margin:0 0 3px}.geo-tools h3{margin:0;font-size:15px}.geo-tools p{margin:4px 0 0}.geocode-candidates{width:100%;display:grid;gap:7px;padding-top:6px}.geocode-candidates>strong{font-size:12px;color:#4c42aa}.geocode-candidates form{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border:1px solid #e2e0ef;border-radius:9px;background:#fff}.geocode-candidates span{display:flex;flex-direction:column;gap:3px;font-size:12px}.geocode-candidates small{color:#68748a}.geocode-candidates .button{white-space:nowrap;padding:7px 10px;font-size:12px}@media(max-width:560px){.geo-tools{align-items:stretch}.geo-tools form{width:100%}.geo-tools .primary{width:100%}.geocode-candidates form{align-items:stretch;flex-direction:column}.geocode-candidates .button{width:100%}}
/* Fast return from staff tools to the public experience. */
nav.top a.front-page-link,.bottom a.front-page-link{padding:7px 10px;border-radius:8px;background:#f0edff;color:#4431ba!important;font-weight:800}nav.top a.front-page-link:hover,.bottom a.front-page-link:hover{background:#e4dfff;color:#32219a!important}

/* Staff publishing setting: deliberately plain and hard to misread. */
.settings-form{display:grid;gap:20px;max-width:820px;padding:25px}.settings-copy h2{margin:4px 0 8px}.settings-copy p{max-width:670px;line-height:1.55}.settings-switch{display:flex;align-items:center;gap:11px;cursor:pointer;font-size:14px}.settings-switch input{position:absolute;opacity:0}.settings-switch span{position:relative;width:48px;height:27px;border-radius:999px;background:#a6adba;transition:background .15s}.settings-switch span:after{position:absolute;top:4px;left:4px;width:19px;height:19px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;content:"";transition:transform .15s}.settings-switch input:checked+span{background:#4d39df}.settings-switch input:checked+span:after{transform:translateX(21px)}.settings-switch input:focus-visible+span{outline:3px solid #4d39df45}.settings-switch input:disabled+span{opacity:.5;cursor:not-allowed}.settings-form .primary{justify-self:start}.settings-form .primary[disabled]{cursor:not-allowed;opacity:.55}
.card-view-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0;padding:14px;border:1px solid #e1deef;border-radius:11px;background:#fbfaff}.card-view-options legend{padding:0 5px;color:#5e587f;font-size:12px;font-weight:900}.card-view-options label{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center;padding:10px 11px;border:1px solid #e4e1f0;border-radius:9px;background:#fff;color:#29244c;font-size:12px;cursor:pointer}.card-view-options input{grid-row:span 2;accent-color:#4d39df}.card-view-options span{color:#76738a;font-size:11px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.settings-grid label{display:flex;flex-direction:column;gap:6px}.settings-help{margin:-9px 0 0!important;color:#737a8b;font-size:12px!important}.settings-grid .settings-help{margin:0!important}@media(max-width:560px){.card-view-options,.settings-grid{grid-template-columns:1fr}}
.settings-submenu{margin:0;border:1px solid #e1deef;border-radius:11px;background:#fbfaff}.settings-submenu summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;color:#30256f;font-size:13px;font-weight:900;cursor:pointer;list-style:none}.settings-submenu summary::-webkit-details-marker{display:none}.settings-submenu summary:after{content:'⌄';font-size:17px}.settings-submenu[open] summary:after{transform:rotate(180deg)}.settings-submenu summary span{margin-left:auto;color:#77718e;font-size:11px;font-weight:700}.public-detail-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0 14px 14px;border:0}.public-detail-options legend{width:100%;padding:0 0 5px;color:#77718e;font-size:11px;font-weight:800}.public-detail-options label{display:flex;align-items:center;gap:8px;min-height:38px;padding:8px 10px;border:1px solid #e4e1f0;border-radius:9px;background:#fff;color:#29244c;font-size:12px;cursor:pointer}.public-detail-options input{accent-color:#4d39df}.category-icon-note{margin:10px 0 0!important;color:#6f7485;font-size:12px!important}.category-icon-cell{font-size:21px;line-height:1;text-align:center}@media(max-width:560px){.public-detail-options{grid-template-columns:1fr}.settings-submenu summary{align-items:flex-start;flex-direction:column;gap:4px}.settings-submenu summary span{margin-left:0}}
.cat-icon-fallback{display:flex;align-items:center;gap:7px;margin:6px 0 9px;color:#5d6275}.cat-icon-fallback b{display:grid;place-items:center;width:25px;height:25px;border-radius:7px;background:#f1efff;color:#4d39df;font-size:17px;line-height:1}.cat-icon-fallback small{font-size:10px;line-height:1.25}
.cat-source-label{display:block;margin-top:6px;color:#77718e;font-size:10px;line-height:1.3;overflow-wrap:anywhere}

/* Event workspace and real-place registry */
.workspace-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:4px 0 18px;padding:24px 26px;border:1px solid #dedbf0;border-radius:18px;background:linear-gradient(115deg,#fff 0%,#fbfaff 58%,#f1efff 100%)}
.places-map-panel{margin-top:18px}.places-map-panel .section-heading{margin-bottom:13px}.places-map-panel .section-heading>span{max-width:390px}.places-map-panel #places-map{height:410px;overflow:hidden;border:1px solid #dfe4ec;border-radius:13px;background:#e8edf3}.places-map-panel .leaflet-popup-content{font-size:12px}.places-map-panel .leaflet-popup-content strong{color:#1c2940}.places-map-panel .muted{margin-bottom:0}
.workspace-head h1{margin:3px 0 7px;color:#151c37;font-size:32px;letter-spacing:-.04em}.workspace-head .meta{max-width:745px;margin:0;line-height:1.55}
.workspace-rule{display:flex;flex:0 0 205px;flex-direction:column;gap:5px;padding:14px 16px;border:1px solid #d9d3fb;border-radius:13px;background:#fff;box-shadow:0 5px 15px #3c2b8d0b}.workspace-rule strong{color:#4834c0;font-size:11px;letter-spacing:.09em;text-transform:uppercase}.workspace-rule span{color:#596278;font-size:12px;font-weight:700;line-height:1.35}
.event-workspace-tabs{margin-top:20px;padding:9px;border:1px solid #e3e0ef;border-radius:15px;background:#fff;box-shadow:0 7px 18px #28205d08}.event-workspace-tabs .stage{border:0;background:#f6f5fb}.event-workspace-tabs .stage:hover{background:#eeebff}.event-workspace-tabs .stage.on{background:linear-gradient(135deg,#4c35d5,#6146e6);box-shadow:0 5px 10px #5139d42c}.workspace-filter{margin:17px 0}.desk-table-wrap{overflow-x:auto;border:1px solid #e5e3ed;border-radius:14px;background:#fff}.desk-table-wrap table{margin:0;border:0;min-width:890px}.desk-table-wrap table tr:last-child td{border-bottom:0}.source-link{color:#4433cf;font-weight:750;text-decoration:none}.source-link:hover{text-decoration:underline}.workspace-filter input{min-width:310px}.schema-callout{border-color:#ecd297;background:#fffbef}.schema-callout h2{margin:0 0 5px;font-size:18px}.schema-callout p{margin:0;line-height:1.5}.registry-section{margin-top:24px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:0 0 11px}.section-heading h2{margin:2px 0 0;font-size:21px}.section-heading>span{max-width:360px;color:#6d7485;font-size:12.5px;line-height:1.4;text-align:right}.place-registry-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}.place-registry-form label{display:flex;flex-direction:column;gap:6px;color:#545b6d;font-size:12px;font-weight:800}.place-registry-form label.wide,.place-registry-form .wide{grid-column:1/-1}.place-registry-form input,.place-registry-form select,.place-registry-form textarea{width:100%;padding:10px 11px;border:1px solid #cbc9d6;border-radius:9px;background:#fff;font:inherit;font-weight:400}.place-registry-form input:focus,.place-registry-form select:focus{outline:2px solid #5b43db40;border-color:#5942d3}.place-registry-form [disabled]{cursor:not-allowed;opacity:.55}.registry-table td{vertical-align:top}.place-actions{display:flex;gap:6px;flex-wrap:wrap;margin:7px 0}.place-actions form{margin:0}.venue-candidates{margin-top:24px}.venue-candidates .section-heading{align-items:start}.venue-candidates .section-heading>span{text-align:left}
@media(max-width:900px){.workspace-head{align-items:stretch;flex-direction:column}.workspace-rule{flex-basis:auto;max-width:360px}.place-registry-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.workspace-head{padding:20px 17px}.workspace-head h1{font-size:28px}.workspace-filter input{min-width:0}.place-registry-form{grid-template-columns:1fr}.place-registry-form label.wide,.place-registry-form .wide{grid-column:auto}.section-heading{align-items:flex-start;flex-direction:column}.section-heading>span{text-align:left}.event-workspace-tabs{gap:6px}.event-workspace-tabs .stage{padding:8px 11px;font-size:12px}}

/* Professional event record layout */
.detail{max-width:1080px;padding:0;border:0;background:transparent}.detail>.detail-top{margin:0 0 10px;padding:0 3px}.detail>.detail-top>.event-tag{visibility:hidden}.record-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(270px,.7fr);min-height:278px;overflow:hidden;border:1px solid #dedbea;border-radius:19px;background:linear-gradient(118deg,#211968,#4d3ad1);box-shadow:0 15px 32px #23166018}.record-hero-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:34px 38px;color:#fff}.record-pills{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.record-pills .event-tag{padding:5px 8px;border:1px solid #ffffff45;border-radius:999px;color:#d7fbff;font-size:10px}.record-pills .tag{background:#ffffff1e;color:#fff}.record-pills .tag-rejected{background:#ffdfdf;color:#812424}.record-hero h1{max-width:670px;margin:13px 0 8px;color:#fff;font-size:35px;letter-spacing:-1.15px;line-height:1.07}.record-date,.record-venue{margin:4px 0;color:#e6e4ff;font-size:15px;font-weight:700}.record-date span,.record-venue span{margin-left:9px;padding-left:9px;border-left:1px solid #ffffff55;color:#cfccf5;font-weight:400}.record-hero-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}.record-hero-actions .primary{background:#fff;color:#4230bd}.record-hero-actions .primary:hover{background:#f0efff}.record-hero-actions .button.secondary{border-color:#ffffff8c;background:#ffffff14;color:#fff}.record-hero-photo{min-height:278px;background-color:#322a8c;background-position:center;background-size:cover}.record-hero-photo.empty{display:grid;place-items:center;background:linear-gradient(145deg,#342a8e,#257f9a);color:#d9faff;font-size:13px;font-weight:800}.record-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;margin-top:20px;align-items:start}.record-main{display:grid;gap:17px}.record-section,.side-card{border:1px solid #e0deeb;border-radius:16px;background:#fff;box-shadow:0 5px 16px #19234808}.record-section{padding:23px 25px}.record-section h2,.side-card h2{margin:3px 0 12px;color:#17213a;font-size:21px;letter-spacing:-.35px}.record-section>.eyebrow,.side-card>.eyebrow{margin:0;color:#1c9cb6;font-size:10px}.record-description{margin:0;color:#4c586c;font-size:15px;line-height:1.68}.record-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.record-facts>div{min-width:0;padding:12px 13px;border:1px solid #ecebf2;border-radius:11px;background:#fafafd}.record-facts b,.record-facts span{display:block}.record-facts b{margin-bottom:5px;color:#7a8392;font-size:10px;letter-spacing:.07em;text-transform:uppercase}.record-facts span{overflow-wrap:anywhere;color:#293248;font-size:13px;font-weight:750;line-height:1.35}.record-notes{border-left:4px solid #e1a649;background:#fffdf8}.record-notes p:last-child{margin:4px 0 0;color:#5f5c51;line-height:1.55}.source-section{background:#fbfbfe}.source-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.record-side{position:sticky;top:18px;display:grid;gap:14px}.side-card{padding:18px}.side-card>p:not(.eyebrow){margin:0 0 12px;color:#69758a;font-size:13px;line-height:1.45}.location-card .map-embed{margin-top:12px}.location-card .map-embed iframe{height:190px}.source-link-large{display:inline-block;margin-top:1px;font-size:15px}.photo-manager summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none}.photo-manager summary::-webkit-details-marker{display:none}.photo-manager summary span{display:flex;flex-direction:column;gap:4px}.photo-manager summary i{color:#1c9cb6;font-size:10px;font-style:normal;font-weight:800;letter-spacing:.08em}.photo-manager summary strong{color:#1d263c;font-size:15px}.photo-manager summary>b{color:#4d39df;font-size:18px;transition:transform .15s}.photo-manager[open] summary>b{transform:rotate(180deg)}.photo-manager form{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}.photo-manager input[type=file]{max-width:100%;padding:8px;font-size:12px}.offers-tools{margin:0}.offers-tools h2{margin-top:3px}@media(max-width:820px){.record-hero{grid-template-columns:1fr}.record-hero-photo{min-height:205px;order:-1}.record-hero-copy{padding:27px 23px}.record-hero h1{font-size:30px}.record-layout{grid-template-columns:1fr}.record-side{position:static;grid-template-columns:1fr 1fr}.photo-manager{grid-column:1/-1}}@media(max-width:560px){.record-hero-copy{padding:23px 18px}.record-hero h1{font-size:27px}.record-date,.record-venue{font-size:13px}.record-date span,.record-venue span{display:block;margin:5px 0 0;padding:0;border:0}.record-facts,.source-facts{grid-template-columns:1fr}.record-section{padding:20px 17px}.record-side{grid-template-columns:1fr}.photo-manager{grid-column:auto}.record-hero-photo{min-height:180px}}

/* Data-quality grid: keep every decision-making field visible at a glance. */
.desk-table-wrap table.desk{min-width:1370px}.desk-table-wrap table.desk th{white-space:nowrap}.desk-table-wrap table.desk td{min-width:116px}.desk-table-wrap table.desk td:nth-child(2){min-width:230px}.desk-table-wrap table.desk td:nth-child(6){min-width:185px}.desk-table-wrap table.desk td:nth-child(7){min-width:175px}.coverage-cell>strong{color:#34248e;font-size:17px;font-variant-numeric:tabular-nums}.missing-tags{gap:4px;margin-top:7px}.missing-tags .tag{min-height:19px;padding:2px 6px;font-size:10px}.verification-tags{gap:5px;margin:5px 0 0}.media-state{display:flex;align-items:center;gap:5px;margin-top:8px;color:#687386;font-size:12px;font-weight:700}.media-state .dot{width:18px;height:18px;font-size:10px}
.desk-table-wrap table.desk tr.coverage-warning-row{background:#fff4f2}.desk-table-wrap table.desk tr.coverage-warning-row td:first-child{border-left:3px solid #bf423a}.coverage-warning-tag{background:#fce1de;color:#9a2923}.coverage-warning-row .coverage-cell>strong{color:#a42d27}
.desk-row-actions{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:145px}.desk-row-actions form{margin:0}.desk-row-actions .link-button{padding:1px 0;text-align:left}.desk-row-actions .muted-link{color:#737b8e}.desk-row-actions .success-link{color:#167248}.desk-row-actions .danger-link{color:#a3352c}.desk-row-actions .ai-fix-button{font-weight:700}.desk-actions .primary.small{white-space:nowrap}
.desk-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;color:#697386;font-size:12px}.desk-pager>div{display:flex;gap:7px}.desk-pager .small{padding:7px 11px;text-decoration:none}@media(max-width:600px){.desk-pager{align-items:flex-start;flex-direction:column}.desk-pager>div{width:100%}.desk-pager .small{flex:1;text-align:center}}

/* Verification is an auditable source trail, not an unexplained score. */
.verification-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:14px 0}.verification-summary>div{padding:11px 12px;border:1px solid #e6e4ee;border-radius:10px;background:#fafafe}.verification-summary b,.verification-summary span{display:block}.verification-summary b{margin-bottom:5px;color:#747e8f;font-size:10px;letter-spacing:.07em;text-transform:uppercase}.verification-summary span{color:#263049;font-size:13px;font-weight:750}.verification-log{display:grid;gap:7px;margin-top:12px}.verification-log>div{display:grid;grid-template-columns:auto minmax(95px,1fr) 44px auto;align-items:center;gap:8px;padding:10px 11px;border:1px solid #ebeaf1;border-radius:10px;background:#fff;font-size:12px}.verification-log strong{text-transform:capitalize}.verification-log b{color:#137149}.verification-log small{grid-column:1/-1;color:#737d8e;font-size:11px;line-height:1.35}.verification-add{margin-top:15px}.verification-add summary{color:#4938c8;font-weight:800;cursor:pointer}.verification-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:11px;padding:14px;border:1px solid #e3e0ef;border-radius:11px;background:#fbfaff}.verification-form label{display:flex;flex-direction:column;gap:5px;color:#596273;font-size:12px;font-weight:800}.verification-form input,.verification-form select,.verification-form textarea{width:100%;padding:9px 10px;border:1px solid #cfced9;border-radius:8px;background:#fff;font:inherit;font-weight:400}.verification-form .wide{grid-column:1/-1}.verification-form .primary{justify-self:start}.verification-verified{background:#e3f5ec;color:#167248}.verification-pending{background:#fff1d7;color:#875b0e}.verification-conflicting{background:#fff0e2;color:#a54d12}.verification-rejected{background:#fdeceb;color:#a3352c}.verification-unverified{background:#ecebf1;color:#626b7b}.verification-confidence{background:#e9f4ff;color:#1766a8}@media(max-width:650px){.verification-summary{grid-template-columns:1fr 1fr}.verification-log>div{grid-template-columns:auto 1fr auto}.verification-log a{grid-column:2/-1}.verification-form{grid-template-columns:1fr}}

/* Public-member directory: staff only. */
.member-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.member-stats>div{padding:14px 15px;border:1px solid #e0ddee;border-radius:13px;background:#fff;box-shadow:0 5px 14px #20185c08}.member-stats b,.member-stats span{display:block}.member-stats b{color:#4935c5;font-size:25px;line-height:1}.member-stats span{margin-top:6px;color:#70798b;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.member-table-wrap{margin-top:7px}.member-table{min-width:1030px!important}.member-table td{vertical-align:middle!important}.member-email{max-width:230px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-table .muted{margin-top:4px}.member-record-head{margin-top:12px}.member-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:17px}.member-detail-grid .panel{margin-top:0}.member-detail-grid .panel:last-child{grid-column:1/-1}.member-detail-grid h2{margin:4px 0 13px;font-size:20px}.member-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:11px}.member-facts>div{display:flex;flex-direction:column;gap:5px;padding:12px;border:1px solid #e9e7ef;border-radius:10px;background:#fbfbfe}.member-facts b{color:#737c8c;font-size:10px;letter-spacing:.07em;text-transform:uppercase}.member-facts span{color:#2d354a;font-size:13px;line-height:1.4}.member-event-list,.member-activity-list{display:grid;gap:7px}.member-event-list a{display:flex;flex-direction:column;gap:4px;padding:10px 11px;border:1px solid #e8e6ef;border-radius:9px;background:#fbfbfe;color:#3325a3;text-decoration:none}.member-event-list a:hover{border-color:#9b91eb;background:#f5f3ff}.member-event-list span{color:#727d90;font-size:12px}.member-activity-list>div{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 2px;border-bottom:1px solid #eeeef2}.member-activity-list>div:last-child{border-bottom:0}.member-activity-list i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#efedff;color:#4d39d2;font-size:11px;font-style:normal}.member-activity-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#31394d;font-size:13px}.member-activity-list small{color:#778194;font-size:11px;white-space:nowrap}@media(max-width:760px){.member-stats{grid-template-columns:1fr 1fr}.member-detail-grid{grid-template-columns:1fr}.member-detail-grid .panel:last-child{grid-column:auto}.member-facts{grid-template-columns:1fr}.member-activity-list>div{grid-template-columns:24px minmax(0,1fr)}.member-activity-list small{grid-column:2}.member-table-wrap{margin-right:-14px;margin-left:-14px;border-radius:0}}

.advanced-tools{display:grid;gap:18px;max-width:920px;padding:25px}.advanced-tools h2{margin:4px 0 8px}.advanced-tools .meta{margin:0}.advanced-tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.advanced-tool-grid a{display:flex;flex-direction:column;gap:5px;min-height:78px;padding:14px 15px;border:1px solid #e5e2f0;border-radius:12px;background:#fbfaff;color:#3829ab;text-decoration:none;transition:transform .15s,border-color .15s,background .15s}.advanced-tool-grid a:hover{border-color:#8f83e6;background:#f3f1ff;transform:translateY(-1px)}.advanced-tool-grid span{color:#6c7588;font-size:12px;line-height:1.35}@media(max-width:600px){.advanced-tool-grid{grid-template-columns:1fr}.advanced-tools{padding:20px 17px}}

/* Animated Milo Places wordmark: P and L drop into ACES to complete PLACES. */
.milo-wordmark{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.milo-wordmark .brand-milo{color:var(--purple);font-weight:800}
.brand-places{position:relative;display:inline-flex;align-items:center;color:var(--teal);font-weight:400;perspective:180px}
.brand-places:after{position:absolute;right:0;bottom:-5px;left:0;height:2px;border-radius:99px;background:var(--teal);content:"";opacity:.22;transform:scaleX(0);transform-origin:left;animation:wordmark-connect 6s ease-in-out infinite}
.brand-letter{display:inline-block;color:var(--teal);font-weight:800;transform-origin:50% 100%;animation:wordmark-drop 6s cubic-bezier(.2,.8,.25,1) infinite}
.brand-p{animation-delay:.12s}.brand-l{animation-delay:.27s}
.brand-rest{display:inline-block;animation:wordmark-rest 6s ease-in-out infinite}
@keyframes wordmark-drop{0%,8%{opacity:0;transform:translateY(-17px) rotateX(78deg) rotateZ(-8deg)}18%,31%{opacity:1;transform:translateY(0) rotateX(0) rotateZ(0)}38%,100%{opacity:1;transform:translateY(0) rotateX(0) rotateZ(0)}}
@keyframes wordmark-rest{0%,12%{transform:rotateX(0)}22%,34%{transform:rotateX(-10deg)}42%,100%{transform:rotateX(0)}}
@keyframes wordmark-connect{0%,27%{opacity:0;transform:scaleX(0)}38%,58%{opacity:.22;transform:scaleX(1)}72%,100%{opacity:0;transform:scaleX(0)}}
@media(prefers-reduced-motion:reduce){.brand-letter,.brand-rest,.brand-places:after{animation:none}.brand-letter{opacity:1;transform:none}}

/* ------------------------------------------------------------- wide pages
   The events desk carries nine columns; at the shared 1100px reading width
   it had to scroll sideways inside its own box to show them. Opt-in per
   page (main_class block) so text-heavy pages keep the narrower measure. */
main.wide{max-width:1760px}
main.wide .desk-table-wrap{overflow-x:auto}
/* the wrapper only needs its own scrollbar once the viewport really is
   narrower than the table's minimum */
@media(min-width:1500px){
  main.wide .desk-table-wrap table.desk{min-width:100%}
}

/* ------------------------------------------------- google service-account
   The email is the part people miss: a valid key still opens nothing until
   the sheet is shared with that address, so it is the loudest thing here. */
.google-key-box{margin-top:18px;padding:16px 18px;border:1px solid var(--line);
  border-radius:14px;background:var(--soft)}
.google-key-box.is-set{background:#f3fbf6;border-color:#bfe3cf}
.google-key-box .key-state{margin:0 0 10px}
.google-key-box p{margin:0 0 8px;font-size:14px;line-height:1.5}
.share-with{font-weight:700}
.service-email{margin:0 0 10px}
.service-email code{display:inline-block;padding:8px 12px;border-radius:9px;
  background:#fff;border:1px solid #bfe3cf;font-size:14px;font-weight:700;
  color:#1c7a4b;word-break:break-all;user-select:all}
.google-key-form{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin:12px 0 4px}
.google-key-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;
  font-weight:700;color:#555}
.google-key-form input[type=file]{width:auto;font-size:13px;border:1px solid #ccc;
  border-radius:9px;padding:8px;background:#fff}
.key-help{margin-top:10px;font-size:13.5px}
.key-help summary{cursor:pointer;font-weight:700;color:var(--purple)}
.key-help ol{margin:10px 0 0;padding-left:20px;line-height:1.65;color:#444}
.key-help code{background:#fff;padding:1px 5px;border-radius:5px;font-size:12.5px}

/* ------------------------------------------------------- sheet sync panel */
.sheet-sync{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.sheet-sync h3{margin:0 0 6px;font-size:17px}
.sync-form{display:grid;grid-template-columns:1fr 220px;gap:13px;margin:14px 0 12px;
  align-items:end}
.sync-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;
  font-weight:700;color:#555}
.sync-form label.wide{grid-column:1/2}
.sync-form input{width:100%;padding:10px 11px;border:1px solid #cbc9d6;border-radius:9px;
  background:#fff;font:inherit;font-weight:400}
.sync-form input:focus{outline:2px solid #5b43db40;border-color:#5942d3}
.sync-buttons{grid-column:1/-1;display:flex;gap:8px}
.sync-buttons button[disabled]{opacity:.5;cursor:not-allowed}
.sync-status{margin:10px 0 6px;font-size:14px}
.sourceplusitem-tools{margin-top:20px;padding:16px 0 2px;border-top:1px solid var(--line)}
.sourceplusitem-tools h3{margin:0 0 6px;font-size:17px}
.sourceplusitem-tools p{line-height:1.5}
.sourceplusitem-tools button[disabled]{opacity:.5;cursor:not-allowed}
@media(max-width:760px){
  .sync-form{grid-template-columns:1fr}
  .sync-form label.wide{grid-column:1/-1}
  .sync-buttons button{flex:1}
}

.orphan-box{margin:14px 0 4px;padding:13px 15px;border:1px solid #e8c98a;
  border-radius:12px;background:#fffbef}
.orphan-box p{margin:0 0 8px;font-size:14px;line-height:1.5}
.orphan-box p:last-of-type{margin-bottom:10px}

.claude-review-panel{margin:18px 0;padding:18px;border:1px solid #cfc4ff;background:#faf9ff}
.claude-review-panel h2{margin:0 0 6px}
.ai-suggestion{display:flex;gap:10px;align-items:flex-start;margin:9px 0;padding:10px;border:1px solid #e1dcf5;border-radius:9px;background:#fff}
.ai-suggestion span{display:flex;flex-direction:column;gap:3px}
.ai-suggestion small{color:#666}
.ai-fix-button{display:block;margin-top:5px;color:var(--purple)}
.smart-repair-menu{position:relative;display:inline-block}
.smart-repair-menu summary{list-style:none;cursor:pointer}
.smart-repair-menu summary::-webkit-details-marker{display:none}
.smart-repair-popover{position:absolute;z-index:10;right:0;top:calc(100% + 8px);width:245px;padding:13px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 30px #19133b24}
.smart-repair-popover strong{display:block;margin-bottom:8px}
.smart-repair-popover label{display:block;margin:6px 0;font-size:13px}
.smart-repair-popover button{margin-top:8px;width:100%}
.bulk-repair-card{margin:14px 0}
.smart-repair-progress{display:flex;align-items:center;gap:8px;margin:0 6px;font-size:12px;color:#5f5875;min-width:245px}
.smart-repair-progress-track{display:block;width:86px;height:7px;overflow:hidden;border-radius:99px;background:#e6e1fa}
.smart-repair-progress-track i{display:block;width:45%;height:100%;border-radius:inherit;background:var(--purple);animation:smart-repair-loading 1.1s ease-in-out infinite}
@keyframes smart-repair-loading{0%{transform:translateX(-110%)}100%{transform:translateX(245%)}}
@media(max-width:900px){.smart-repair-progress{width:100%;margin:8px 0 0}}

.candidate-count{margin:0 0 12px;font-size:13.5px;color:var(--muted)}
.candidate-count b{color:var(--ink)}
.candidate-count a{color:var(--purple);font-weight:700}
.placeholder-panel{border-color:#e8c98a;background:#fffdf7}
.placeholder-panel summary{cursor:pointer;font-weight:700;color:var(--purple);
  margin-bottom:10px;font-size:14px}
.tag.subtle{background:#f0eef8;color:#5b5470;font-weight:600;font-size:11px}
.venue-candidates table.list td .muted{font-size:12px;margin-top:3px}

.supporting-sources-section{background:#fbfbfe}.supporting-sources-section>.muted{margin:0 0 12px;line-height:1.5}.supporting-source-list{display:grid;gap:8px}.supporting-source-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid #e7e5ef;border-radius:10px;background:#fff}.supporting-source-row>div{min-width:0}.supporting-source-row strong,.supporting-source-row small{display:block}.supporting-source-row strong{color:#293248;font-size:13px}.supporting-source-row small{margin-top:4px;color:#737d8e;font-size:11px;line-height:1.35}.supporting-source-row .source-link{flex:0 0 auto;max-width:42%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-source-recommendations{display:grid;gap:6px;margin:12px 0 3px;padding:11px 12px;border:1px solid #e5e2f2;border-radius:10px;background:#faf9ff}.photo-source-recommendations>b{color:#4938c8;font-size:11px;letter-spacing:.04em;text-transform:uppercase}.photo-source-recommendations a{overflow:hidden;color:#4938c8;font-size:12px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.photo-source-recommendations a:hover{text-decoration:underline}@media(max-width:650px){.supporting-source-row{align-items:flex-start;flex-direction:column;gap:7px}.supporting-source-row .source-link{max-width:100%}}
.category-defaults{margin-top:24px;border-color:#dcd7fb;background:linear-gradient(180deg,#fff,#fbfaff)}
.category-defaults .section-title{margin-bottom:15px}
.category-default-form{display:grid;gap:15px}
.category-default-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.category-default-option{display:flex;align-items:center;gap:9px;min-width:0;padding:11px 12px;border:1px solid #e1e3ed;border-radius:10px;background:#fff;color:#313b52;cursor:pointer}
.category-default-option:has(input:checked){border-color:#b7aff2;background:#f7f5ff;box-shadow:0 2px 7px #4d39df12}
.category-default-option input{width:17px;height:17px;flex:0 0 auto;accent-color:#4d39df}
.category-default-option span{display:flex;flex-direction:column;min-width:0;overflow:hidden}
.category-default-option b{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.category-default-option small{margin-top:3px;overflow:hidden;color:#7c8493;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.category-default-option em{margin-left:auto;color:#a06a6a;font-size:10px;font-style:normal;white-space:nowrap}
.category-default-option.is-disabled{background:#fafafa;cursor:not-allowed;opacity:.65}
.category-default-form>.button{justify-self:start}
@media(max-width:900px){.category-default-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.category-default-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.category-default-option{padding:10px}.category-default-form>.button{width:100%}}
@media(max-width:430px){.category-default-grid{grid-template-columns:1fr}}

/* live pin map under the coordinates on the event editor */
.pin-map-wrap{margin:4px 0 6px}
.pin-map{height:300px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#e8edf3}
.pin-map-note{margin:8px 0 0;font-size:12.5px}

/* Second tab row: one list per missing field, so each gap can be worked alone. */
.missing-tabs{align-items:center;margin-top:8px;padding:7px 9px;border:1px solid #f0dcc4;border-radius:13px;background:#fffaf3}
.missing-tabs-label{margin-right:2px;color:#8a5a1f;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.missing-tabs .stage{padding:6px 11px;border:0;background:#fff;font-size:13px;box-shadow:0 0 0 1px #f0dcc4 inset}
.missing-tabs .stage:hover{background:#fff0dc}
.missing-tabs .stage b{color:#b45309}
.missing-tabs .stage.on{background:#f64d01;box-shadow:none;color:#fff}
.missing-tabs .stage.on b{background:#ffffff38;color:#fff}
.scout-admin-brand{display:flex;align-items:center;flex:0 0 auto}
.scout-admin-brand img{display:block;height:54px;width:auto;object-fit:contain}

/* ===== Event workspace: combinable filters (stages + "missing" items) ===== */
.filter-builder{display:grid;gap:12px;margin-top:20px;padding:14px 16px;border:1px solid #e3e0ef;border-radius:15px;background:#fff;box-shadow:0 7px 18px #28205d08}
.fb-group{display:grid;gap:8px}
.fb-label{margin:0;color:#5e5c73;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.fb-label span{margin-left:6px;color:#9a98ab;font-weight:600;letter-spacing:0;text-transform:none}
.fb-chips{display:flex;flex-wrap:wrap;gap:8px}
.fb-chip{position:relative;cursor:pointer}
.fb-chip input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.fb-chip span{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid transparent;border-radius:99px;background:#f6f5fb;color:var(--ink,#1d1b34);font-size:14px;font-weight:700;transition:background .12s,border-color .12s,color .12s}
.fb-chip:hover span{background:#eeebff}
.fb-chip b{padding:2px 8px;border-radius:99px;background:#fff;color:#4c35d5;font-size:12px}
.fb-chip input:checked+span{background:linear-gradient(135deg,#4c35d5,#6146e6);box-shadow:0 5px 10px #5139d42c;color:#fff}
.fb-chip input:checked+span b{background:#ffffff33;color:#fff}
.fb-chip input:focus-visible+span{outline:2px solid #4c35d5;outline-offset:2px}
.fb-missing{padding:10px 12px;border:1px solid #f0dcc4;border-radius:13px;background:#fffaf3}
.fb-missing .fb-label{color:#8a5a1f}
.fb-missing .fb-chip span{background:#fff;border-color:#f0dcc4;font-size:13px}
.fb-missing .fb-chip:hover span{background:#fff0dc}
.fb-missing .fb-chip b{background:#ffe9d4;color:#b45309}
.fb-missing .fb-chip input:checked+span{border-color:#f64d01;background:#f64d01;box-shadow:none;color:#fff}
.fb-missing .fb-chip input:checked+span b{background:#ffffff38;color:#fff}
.fb-match{display:inline-flex;align-items:center;gap:6px;color:#8a5a1f;font-size:12px;font-weight:800}
.fb-match label{cursor:pointer}
.fb-match input{position:absolute;opacity:0;pointer-events:none}
.fb-match label span{display:inline-block;padding:5px 12px;border:1px solid #f0dcc4;border-radius:99px;background:#fff;color:#8a5a1f;font-weight:700}
.fb-match input:checked+span{border-color:#30251c;background:#30251c;color:#fff}
.fb-match input:focus-visible+span{outline:2px solid #f64d01;outline-offset:2px}
.filter-builder .workspace-filter{margin:0}
.fb-summary{margin:0;color:#5e5c73;font-size:14px}
.fb-summary b{color:#1d1b34;font-size:16px}
.fb-summary em{color:#9a98ab;font-style:normal}

/* ===== Map pin review (bulk accept) ===== */
.geo-toolbar{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0;padding:10px 14px;border:1px solid #e3e0ef;border-radius:13px;background:#fff;box-shadow:0 6px 16px #28205d10}
.geo-toolbar .geo-count{margin-right:auto;color:#5e5c73;font-size:14px}
.geo-toolbar .geo-count b{color:#4c35d5;font-size:17px}
.geo-toolbar-bottom{position:static}
.geo-list{display:grid;gap:10px}
.geo-row{display:grid;grid-template-columns:34px minmax(220px,300px) minmax(0,1fr);gap:14px;align-items:start;padding:14px;border:1px solid #e5e3ed;border-radius:14px;background:#fff}
.geo-row.is-empty{background:#faf9f6}
.geo-pick input{width:20px;height:20px;margin-top:3px;cursor:pointer}
.geo-event b{font-size:16px}
.geo-event p{margin:4px 0 0;color:#4b4a5e;font-size:13px}
.geo-event p span{display:inline-block;min-width:56px;color:#9a98ab;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.geo-options{display:grid;gap:6px}
.geo-option{display:grid;grid-template-columns:20px 52px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 12px;border:1px solid #e5e3ed;border-radius:11px;background:#fbfbfe;cursor:pointer}
.geo-option:has(input[type=radio]:checked){border-color:#4c35d5;background:#f4f1ff}
.geo-option.is-warn{border-color:#f0b3a5;background:#fff4f1}
.geo-option input[type=radio]{margin:0}
.geo-pct{padding:3px 0;border-radius:99px;font-size:12px;font-weight:800;text-align:center}
.geo-pct.high{background:#dff5e4;color:#14702d}.geo-pct.mid{background:#fff0d1;color:#9a5b00}.geo-pct.low{background:#ffe1dc;color:#b42318}
.geo-label{font-size:14px;line-height:1.35}
.geo-label em{color:#b42318;font-size:12px;font-style:normal;font-weight:700}
.geo-option a{color:#4c35d5;font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap}
.geo-none{margin:0;color:#6b6a7d;font-size:14px}
@media(max-width:800px){.geo-row{grid-template-columns:30px minmax(0,1fr)}.geo-options{grid-column:1/-1}}

/* ===== Admin: Tickets ===== */
.nav-badge{display:inline-block;min-width:18px;margin-left:4px;padding:1px 6px;border-radius:99px;background:#f64d01;color:#fff;font-size:11px;font-weight:800;line-height:16px;text-align:center}
.ticket-tabs{margin-top:18px}
.ticket-filter{margin:14px 0}
.ticket-bulk{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px;padding:10px 14px;border:1px solid #e3e0ef;border-radius:13px;background:#fff}
.ticket-bulk input[name=note]{flex:1 1 240px;min-width:0}
.ticket-list{display:grid;gap:10px}
.ticket{display:grid;grid-template-columns:30px minmax(0,1fr) 300px;gap:14px;align-items:start;padding:14px 16px;border:1px solid #e5e3ed;border-left:4px solid #f64d01;border-radius:14px;background:#fff}
.ticket.is-solved{border-left-color:#16a34a;background:#fafcfa}
.ticket-pick input{width:18px;height:18px;margin-top:3px;cursor:pointer}
.ticket-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px}
.ticket-kind{padding:3px 10px;border-radius:99px;background:#ece9ff;color:#4c35d5;font-size:12px;font-weight:800}
.ticket-status{padding:3px 10px;border-radius:99px;font-size:12px;font-weight:800}
.ticket-status.open{background:#ffe9d4;color:#b45309}.ticket-status.solved{background:#dff5e4;color:#14702d}
.ticket-meta{color:#9a98ab;font-size:12px}
.ticket-event{margin:4px 0;font-size:14px}
.ticket-event a{margin-left:10px;color:#4c35d5;font-size:12px;font-weight:700;text-decoration:none}
.ticket-message{margin:6px 0;padding:10px 12px;border-radius:10px;background:#f7f6fb;color:#1d1b34;font-size:15px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.ticket-who{margin:4px 0 0;color:#6b6a7d;font-size:12px}
.ticket-resolved{margin:6px 0 0;color:#14702d;font-size:13px}
.ticket-actions{display:grid;gap:6px}
.ticket-actions input{min-width:0}
@media(max-width:900px){.ticket{grid-template-columns:28px minmax(0,1fr)}.ticket-actions{grid-column:1/-1}}

/* Fix with Claude: bulk review (reuses the map-review layout) */
.ai-row{grid-template-columns:minmax(220px,300px) minmax(0,1fr)}
.ai-option{grid-template-columns:20px 110px minmax(0,1fr) 52px}
.ai-option input[type=checkbox]{width:18px;height:18px;margin:0;cursor:pointer}
.ai-field{color:#5e5c73;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.ai-option .geo-label b{display:block;font-size:15px}
.ai-option .geo-label small{display:block;margin-top:2px;color:#8a8a9b;font-size:12px;line-height:1.35}
.ai-option:has(input:checked){border-color:#4c35d5;background:#f4f1ff}
.ai-none{margin-top:18px}
.ai-none ul{margin:8px 0 0;padding-left:18px;line-height:1.7}
@media(max-width:800px){.ai-row{grid-template-columns:1fr}.ai-option{grid-template-columns:20px 90px minmax(0,1fr) 46px}}

.auto-pipeline-schedule{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 6px}.auto-pipeline-schedule .switch-row{margin:0}

.dup-settings-form{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.dup-group{margin:14px 0;padding:12px;border:1px solid #e3e7ee;border-radius:12px;background:#fff;overflow-x:auto}.dup-group-head{display:flex;align-items:center;gap:12px;margin-bottom:8px}.dup-group-head button{margin-left:auto}.dup-table{width:100%;border-collapse:collapse;font-size:12px}.dup-table th{padding:6px 8px;border-bottom:1px solid #e3e7ee;color:#6b7280;font-size:11px;text-align:left;text-transform:uppercase}.dup-table td{padding:8px;border-bottom:1px solid #f0f2f6;vertical-align:top}.dup-table tr.dup-keeper td{background:#fff4ec}.dup-table tr.dup-undone td{opacity:.55}.dup-link{font-weight:800}

/* ---- 2026-10-05: new wordmark, Claude Brain, publishing rules ----------- */
.scout-wordmark img{height:auto!important;width:150px!important;max-width:none;aspect-ratio:2000/710}
@media(max-width:700px){.scout-wordmark img{width:118px!important}}

.brain-entry{display:flex;align-items:center;gap:18px;color:inherit;text-decoration:none;border-color:#d8d1f3;background:linear-gradient(120deg,#fff 55%,#f4f1ff)}
.brain-entry:hover{border-color:var(--purple);box-shadow:0 8px 24px #4d35c41a}
.brain-entry-mark{display:grid;place-items:center;flex:0 0 52px;height:52px;border-radius:14px;background:#30251c;color:#f64d01;font-size:28px}
.brain-entry-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.brain-entry-copy b{font-size:18px}
.brain-entry-copy span:not(.eyebrow){color:#5b5470;line-height:1.45}.brain-entry-copy small{color:#7a748c}
.brain-entry-go{margin-left:auto;color:var(--purple);font-size:24px}

.publish-impact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:4px 0 14px}
.publish-impact div{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
.publish-impact b{display:block;font-size:24px;letter-spacing:-.02em}.publish-impact span{color:#5b5470;font-size:13px}
.publish-rule-list{display:grid;gap:8px;margin:12px 0;padding:0;border:0}.publish-rule-list legend{margin-bottom:6px;font-weight:700}
.publish-rule{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:12px}
.publish-rule input{margin-top:3px}.publish-rule small{color:#5b5470;line-height:1.45}
.rule-scope{padding:1px 7px;border-radius:999px;font-size:11px;font-style:normal;font-weight:700}
.rule-scope-always{background:#e3f5ec;color:#1c7a4b}.rule-scope-strict{background:#efeafe;color:#4d35c4}
.rule-held{display:block;margin-top:3px;color:#8a5d10!important;font-weight:700}
@media(max-width:640px){.publish-impact{grid-template-columns:1fr}}

.brain-flow ol{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:0 0 8px;padding:0;list-style:none}
.brain-flow li{position:relative;display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}
.brain-flow li:not(:last-child):after{content:"\2192";position:absolute;top:16px;right:-10px;z-index:1;color:#a39cbc;font-weight:700}
.brain-flow li p{margin:0;flex:1;color:#5b5470;font-size:12.5px;line-height:1.45}
.brain-flow li strong{font-size:24px;letter-spacing:-.02em}.brain-flow li small{color:#7a748c;font-size:12px}
.brain-step{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#30251c;color:#fff;font-size:12px;font-weight:700}
@media(max-width:1100px){.brain-flow ol{grid-template-columns:repeat(3,minmax(0,1fr))}.brain-flow li:after{display:none}}
@media(max-width:640px){.brain-flow ol{grid-template-columns:1fr}}

.brain-mix-bar{display:flex;height:16px;overflow:hidden;margin:10px 0;border-radius:999px;background:var(--soft)}
.brain-mix-bar i{display:block;height:100%}
.brain-mix-legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0;padding:0;list-style:none;color:#5b5470;font-size:13px}
.brain-mix-legend i{display:inline-block;width:10px;height:10px;margin-right:6px;border-radius:3px;vertical-align:-1px}
.brain-mix-facts{display:flex;flex-wrap:wrap;gap:8px 22px;margin:12px 0 0;color:#5b5470}
.brain-role-official{background:#1c7a4b}.brain-role-ticket{background:#f64d01}.brain-role-social{background:#2aa8a8}
.brain-role-gateway{background:#c9a227}.brain-role-editorial{background:#a3352c}.brain-role-none{background:#c9c6d6}
small.brain-link{display:inline-block;margin-top:3px;padding:1px 7px;border-radius:999px;background:var(--soft);color:#5b5470}
small.brain-link.brain-role-official{background:#e3f5ec;color:#1c7a4b}small.brain-link.brain-role-ticket{background:#fff0e8;color:#b13a03}
small.brain-link.brain-role-gateway{background:#fbf3d9;color:#7a5f10}small.brain-link.brain-role-social{background:#e2f6f6;color:#1d7777}
small.brain-link.brain-role-editorial{background:#fdeceb;color:#a3352c}

.brain-settings-form{display:grid;gap:12px}
.brain-thresholds{display:flex;flex-wrap:wrap;gap:12px 24px}.brain-thresholds input{width:5rem}
.brain-hosts{display:grid;grid-template-columns:1fr 1fr;gap:14px}.brain-hosts label{display:flex;flex-direction:column;gap:5px}
.brain-hosts textarea{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:14px}
@media(max-width:760px){.brain-hosts{grid-template-columns:1fr}}

.brain-score{position:relative;display:inline-flex;align-items:center;width:110px;height:22px;overflow:hidden;border-radius:999px;background:var(--soft);vertical-align:middle}
.brain-score i{position:absolute;inset:0 auto 0 0;border-radius:999px}
.brain-score.is-high i{background:#bfe7cf}.brain-score.is-mid i{background:#f6e2ae}.brain-score.is-low i{background:#f3c9c5}
.brain-score b{position:relative;padding-left:9px;font-size:12px}
.brain-evidence{display:flex;flex-wrap:wrap;gap:5px;margin:6px 0 0;padding:0;list-style:none}
.brain-evidence li{padding:2px 8px;border-radius:999px;background:var(--soft);font-size:12px;line-height:1.5}
.brain-evidence li span{color:#7a748c}.brain-evidence li em{font-style:normal;font-weight:700}
.brain-evidence li.is-plus{background:#e9f7ef}.brain-evidence li.is-plus em{color:#1c7a4b}
.brain-evidence li.is-minus{background:#fdeceb}.brain-evidence li.is-minus em{color:#a3352c}

.brain-group{margin:12px 0;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.brain-group header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:12px 14px;background:#f4fbf7;border-bottom:1px solid var(--line)}
.brain-member{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.3fr) auto;gap:14px;align-items:start;padding:12px 14px}
.brain-member+.brain-member{border-top:1px dashed var(--line)}
.brain-member-actions{display:flex;flex-direction:column;gap:6px}
.brain-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) minmax(0,1fr);gap:14px;margin:12px 0;padding:14px;border:1px solid var(--line);border-radius:14px}
.brain-pair-mid{padding:0 4px;text-align:center}.brain-pair-mid .brain-evidence{justify-content:center}
.brain-pair-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;padding-top:10px;border-top:1px dashed var(--line)}
@media(max-width:900px){.brain-member,.brain-pair{grid-template-columns:1fr}.brain-pair-mid{text-align:left}.brain-pair-mid .brain-evidence{justify-content:flex-start}.brain-member-actions{flex-direction:row}}
.brain-table td{vertical-align:top}

.brain-toolbar{position:sticky;top:8px;z-index:20;display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;box-shadow:0 6px 20px #15152a14}
.brain-toolbar input{flex:1 1 260px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit}
.brain-tabs{display:flex;gap:4px;padding:3px;border-radius:999px;background:var(--soft)}
.brain-tabs button{padding:7px 14px;border:0;border-radius:999px;background:none;font:inherit;font-size:13px;font-weight:700;cursor:pointer;color:#5b5470}
.brain-tabs button.is-on{background:#fff;color:var(--purple);box-shadow:0 1px 4px #0001}
.brain-live{flex:1 1 100%;margin:0;color:#1c7a4b;font-weight:700}.brain-live:empty{display:none}.brain-live.is-bad{color:#a3352c}
.brain-member,.brain-pair{transition:opacity .3s,transform .3s}.is-done{opacity:0;transform:translateX(12px)}

.brain-bulk{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:10px 0 4px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}
.brain-bulk select{padding:6px 8px;border:1px solid var(--line);border-radius:8px;font:inherit}
.brain-levels{display:flex;flex-wrap:wrap;gap:6px}
.brain-levels b{padding:3px 9px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:12px;cursor:pointer}
.brain-levels b:hover{border-color:var(--purple);color:var(--purple)}
.brain-check-all{display:inline-flex;gap:6px;align-items:center;font-weight:700}
#brain-selected-count{color:#5b5470;font-size:13px}
.brain-bulk-or{color:#7a748c;font-size:13px}
.brain-pair{position:relative;padding-left:44px}
.brain-pair-pick{position:absolute;top:16px;left:14px}
.brain-pair-pick input{width:18px;height:18px}

.desk-thumb{display:block;width:72px;height:48px;margin-top:4px;border-radius:6px;object-fit:cover;border:1px solid var(--line)}

/* ---- 2026-10-07: Settings redesign ------------------------------------
   One card per section, one switch for every on/off, a side menu, and the
   Automation master switch on top. .toggle-row is shared with Claude Brain. */
.settings-layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:22px;align-items:start}
.settings-nav{position:sticky;top:16px;display:flex;flex-direction:column;gap:2px;padding:10px;border:1px solid var(--line);border-radius:16px;background:#fff}
.settings-nav a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 11px;border-radius:10px;color:#3f4459;font-size:14px;font-weight:700;text-decoration:none}
.settings-nav a:hover{background:var(--soft);color:var(--purple)}
.settings-nav a.is-current{background:#f0edff;color:var(--purple)}
.settings-main{display:grid;gap:18px;min-width:0}
.settings-main [id]{scroll-margin-top:16px}

.set-card{display:grid;gap:16px;padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff;color:inherit;margin:0}
.set-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.set-head h2{margin:3px 0 6px;font-size:22px;letter-spacing:-.02em}
.set-head p:not(.eyebrow){margin:0;max-width:640px;color:#5b6070;line-height:1.5;font-size:14.5px}
.set-head .eyebrow{margin:0}
.set-form{display:grid;gap:14px}
.set-block{display:grid;gap:10px;padding-top:16px;border-top:1px solid var(--line)}
.set-block h3,.set-group h3,.tool-row h3{margin:0;font-size:16px}
.set-label{font-size:13px;font-weight:700;color:#555}
.set-hint{display:block;margin:0;color:#6d7385;font-size:12.5px;line-height:1.45}
.set-subhead{display:flex;align-items:baseline;gap:8px;margin:6px 0 0;font-size:14px;color:#2b2f45}
.set-subhead small{color:#7a8093;font-weight:400;font-size:12px}
.set-status{margin:0;color:#4d5366;font-size:13px}.set-status span{color:#7a8093}
.set-status a{color:var(--purple);font-weight:700;text-decoration:none}
.set-result{margin:0;padding:8px 11px;border-radius:9px;background:var(--soft);color:#4d5366;font-size:12.5px;line-height:1.45;overflow-wrap:anywhere}
.set-foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding-top:16px;border-top:1px solid var(--line)}
.set-foot .primary[disabled],.set-card button[disabled]{opacity:.5;cursor:not-allowed}
.set-card input:not(.toggle):not([type=file]),.set-card select{width:100%;padding:10px 11px;border:1px solid #cbc9d6;border-radius:9px;background:#fff;font:inherit;font-size:14px}
.set-card input:focus,.set-card select:focus{outline:2px solid #5b43db40;border-color:#5942d3}
.set-select{display:grid;gap:6px;max-width:420px;font-size:13px;font-weight:700;color:#555}
.set-inline-form{display:flex;gap:8px}.set-inline-form input{flex:1;min-width:0}
.set-field-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:2px 0 2px 2px;font-size:13.5px;color:#4d5366}
.set-field-row input[type=number]{width:5.5rem!important}.set-field-row select{width:auto!important}
.set-field-row small{color:#7a8093;font-size:12px}.set-field-row .set-gap{margin-left:14px}
.set-list{display:grid;gap:8px}.set-list-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.settings-grid label.wide{grid-column:1/-1}
.settings-grid label{font-size:13px;font-weight:700;color:#555}

/* the one switch */
.toggle-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;transition:border-color .15s,background .15s}
.toggle-row:hover{border-color:#c9c1f5}
.toggle-row:has(.toggle:checked){background:#faf9ff;border-color:#dcd5fb}
.toggle-text{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0;font-size:14px}
.toggle-text b{color:#1d2136}
.toggle-text small{color:#6d7385;font-size:12.5px;line-height:1.45}
.toggle-note{align-self:flex-start;padding:1px 8px;border-radius:999px;background:#eeecfa;color:#5040bd;font-size:11px;font-style:normal;font-weight:700}
.toggle-state{flex:none;min-width:24px;color:#8a8fa0;font-size:12px;font-weight:700;text-align:right}
.toggle-state:before{content:"Off"}
.toggle-row:has(.toggle:checked) .toggle-state{color:var(--purple)}
.toggle-row:has(.toggle:checked) .toggle-state:before{content:"On"}
.toggle{-webkit-appearance:none;appearance:none;position:relative;flex:none;width:44px!important;height:24px;margin:0;padding:0!important;border:0!important;border-radius:999px!important;background:#c3c7d2!important;cursor:pointer;transition:background .15s}
.toggle:before{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .15s}
.toggle:checked{background:var(--purple)!important}
.toggle:checked:before{transform:translateX(20px)}
.toggle:focus-visible{outline:3px solid #4d35c455;outline-offset:2px}
.toggle-row.is-disabled{cursor:not-allowed;opacity:.6}.toggle:disabled{cursor:not-allowed}
.toggle-row.is-warn:has(.toggle:checked){background:#fff7f5;border-color:#efc3b8}
.toggle-row.is-warn .toggle:checked{background:#c2412d!important}
.toggle-row.is-warn:has(.toggle:checked) .toggle-state{color:#c2412d}
.toggle-row .rule-held{color:#a3352c;font-weight:700}

/* status pills */
.state-pill{flex:none;display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:800;white-space:nowrap}
.state-pill:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.state-pill.is-on{background:#e3f5ec;color:#1c7a4b}
.state-pill.is-off{background:#eef0f4;color:#6b7183}
.state-pill.is-paused{background:#fdf1dc;color:#93600d}
.state-pill.is-running{background:#e6f0ff;color:#2459c4}
.settings-nav .state-pill{padding:2px 8px;font-size:10.5px}

/* master switch */
.master-switch{margin:0}
.master-switch .toggle-row{padding:18px 20px;border-width:2px;border-radius:16px}
.master-switch .toggle-text b{font-size:17px}
.master-switch .toggle{width:56px!important;height:30px}
.master-switch .toggle:before{top:4px;left:4px;width:22px;height:22px}
.master-switch .toggle:checked:before{transform:translateX(26px)}
.master-switch.is-on .toggle-row{background:linear-gradient(120deg,#f6f3ff,#ece7ff);border-color:#b9acf5}
.master-switch.is-off .toggle-row{background:#fff8ec;border-color:#ecc98a}
.master-switch.is-off .toggle-state{color:#93600d}
.paused-banner{margin:0;padding:10px 13px;border-radius:10px;background:#fdf1dc;color:#7a5410;font-size:13px;font-weight:700}
.set-form.is-paused .set-group{opacity:.72}
.set-group{display:grid;gap:8px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fcfcfe}
.set-group-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.set-sub{display:grid;gap:6px;margin-left:18px;padding-left:14px;border-left:2px solid #e3dffa;transition:opacity .15s}
.market-toggle-row{display:flex;flex-wrap:wrap;gap:10px 20px}.market-toggle-row label{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;cursor:pointer}.market-toggle-row input{accent-color:#4d39df}.market-toggle-field{display:grid;gap:9px;border:0;padding:8px 0;margin:0}.market-toggle-field legend{font-size:13px;font-weight:800}.market-toggle-field small{color:#6f7485}.market-controls>.primary{justify-self:start}
.set-group:has(.toggle[name=auto_pipeline_enabled]:not(:checked)) .set-sub{opacity:.5}
.set-group .notice{margin:0}

/* clean-up tools: one row each */
.tool-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:16px 0 0;border-top:1px solid var(--line);margin:0}
.tool-text{display:grid;gap:6px;min-width:0;max-width:560px}
.tool-text p{margin:0;color:#5b6070;font-size:13.5px;line-height:1.5}
.tool-text p.set-result{color:#4d5366;font-size:12.5px}
.tool-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;flex:0 0 auto;max-width:300px}
.ghost.danger{color:#a3352c;border-color:#a3352c}.ghost.danger:hover{background:#a3352c;color:#fff}
.set-card .publish-impact{margin:0}
.set-card.brain-entry{display:flex;align-items:center;gap:18px;text-decoration:none}
.set-card .advanced-tool-grid{margin:0}
.set-card .sync-form{margin:4px 0 0}
.set-card .google-key-box{margin:0}
.set-card .orphan-box{margin:0}

@media(max-width:860px){
  .settings-layout{grid-template-columns:minmax(0,1fr)}
  .settings-nav{position:sticky;top:0;z-index:5;flex-direction:row;overflow-x:auto;padding:6px;border-radius:12px;scrollbar-width:none}
  .settings-nav a{flex:none;padding:7px 11px;font-size:13px}
  .settings-main [id]{scroll-margin-top:64px}
}
@media(max-width:600px){
  .set-card{padding:18px 16px}
  .set-head{flex-direction:column;gap:8px}
  .set-list-2{grid-template-columns:1fr}
  .tool-row{flex-direction:column;gap:10px}
  .tool-actions{justify-content:flex-start;max-width:none}
  .set-sub{margin-left:4px;padding-left:10px}
  .set-field-row .set-gap{margin-left:0}
  .set-inline-form{flex-wrap:wrap}.set-inline-form input{flex-basis:100%}
}

/* ---- Review by part ------------------------------------------------------ */
.part-tabs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:0 0 14px}
.part-tab{display:flex;flex-direction:column;gap:5px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff;color:inherit;text-decoration:none}
.part-tab:hover{border-color:var(--purple)}
.part-tab.is-on{border-color:var(--purple);box-shadow:0 0 0 3px #4d35c41f}
.part-tab b{font-size:14px}.part-tab b i{color:var(--purple);font-style:normal;font-size:10px;vertical-align:2px}
.part-tab small{color:#5b5470;font-size:12px}
.part-bar{display:block;height:6px;border-radius:999px;background:var(--soft);overflow:hidden}
.part-bar i{display:block;height:100%;background:#1c7a4b}
@media(max-width:1100px){.part-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:640px){.part-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}
.parts-tools{display:grid;gap:12px}
.part-status-chips{display:flex;flex-wrap:wrap;gap:6px}
.part-status-chips a{padding:6px 12px;border:1px solid var(--line);border-radius:999px;color:#3b3550;text-decoration:none;font-size:13px;font-weight:700}
.part-status-chips a.is-on{background:var(--purple);border-color:var(--purple);color:#fff}
.part-status-chips b{margin-left:4px;opacity:.8}
.parts-search{display:flex;flex-wrap:wrap;gap:8px}
.parts-search input{flex:1 1 260px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;font:inherit}
.parts-search select{padding:9px;border:1px solid var(--line);border-radius:10px;font:inherit}
.parts-smart{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-radius:12px;background:#f4fbf7;border:1px solid #cfe9da}
.parts-smart div{display:flex;flex-direction:column;gap:3px}.parts-smart span{color:#3f5a4a;font-size:13px;line-height:1.45}
.parts-bulk{position:sticky;top:8px;z-index:20;display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0 0 10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 6px 18px #15152a12}
.parts-bulk label{display:inline-flex;gap:6px;align-items:center;font-weight:700}
#parts-count{color:#5b5470;font-size:13px}
.parts-keys{margin-left:auto;color:#7a748c;font-size:12px}
.parts-keys kbd{padding:1px 5px;border:1px solid var(--line);border-radius:4px;background:var(--soft);font-size:11px}
.danger-ghost{color:#a3352c!important;border-color:#e8b9b4!important}
.danger-ghost:hover{background:#a3352c!important;color:#fff!important}
.parts-rows{display:grid;gap:8px}
.part-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:14px;align-items:start;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;outline:none;transition:opacity .25s,transform .25s}
.part-row:focus{border-color:var(--purple);box-shadow:0 0 0 3px #4d35c41f}
.part-row.fails{border-left:4px solid #e0a52a}
.part-row.is-done{opacity:0;transform:translateX(14px)}
.part-row>input{width:18px;height:18px;margin-top:3px}
.part-value{display:flex;flex-direction:column;gap:3px;min-width:0}
.part-value b{font-size:15px}.part-value>span{color:#3b3550}
.pv-title{font-size:16px!important}
.pv-details{margin:0;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;line-height:1.45}
.pv-url{color:#7a748c;font-size:12px;overflow-wrap:anywhere}
.pv-image{width:180px;height:110px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}
.part-context{color:#7a748c;font-size:12px}
.part-check{max-width:220px}
.part-actions{display:flex;flex-direction:column;gap:6px;align-items:stretch;min-width:120px}
.part-row-form{display:flex;gap:6px}
.part-fix summary{cursor:pointer;color:var(--purple);font-weight:700;font-size:13px;list-style:none;text-align:center;padding:6px;border:1px dashed var(--line);border-radius:8px}
.part-fix[open]{grid-column:1/-1}
.part-fix-form{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;padding:10px;border-radius:10px;background:var(--soft)}
.part-fix-form input,.part-fix-form textarea,.part-fix-form select{flex:1 1 220px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font:inherit}
.part-fix-form label{display:flex;flex-direction:column;gap:3px;font-size:12px;font-weight:700}
.parts-pages{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;color:#5b5470;font-size:13px}
@media(max-width:900px){.part-row{grid-template-columns:auto minmax(0,1fr)}.part-check,.part-actions{grid-column:2}.parts-keys{display:none}}
/* Part badges in the Events workspace */
.part-strip{display:flex;gap:3px;margin:5px 0 3px}
.part-dot{display:inline-grid;place-items:center;min-width:22px;height:18px;padding:0 4px;border-radius:5px;background:#eceaf3;color:#7a748c;font-size:10px;font-weight:800;text-decoration:none}
.part-dot.part-approved{background:#d9f2e3;color:#1c7a4b}
.part-dot.part-rejected{background:#fbe0dd;color:#a3352c}
.part-dot.part-changed{background:#fbefcf;color:#8a5d10}
.publish-part-list{display:flex;flex-wrap:wrap;gap:8px 16px;margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:12px}
.publish-part-list legend{font-weight:700;padding:0 4px}
.publish-part-list label{display:inline-flex;gap:6px;align-items:center}

/* Publishing choices: each checkbox and its label stay together. */
#publishing-rules .publish-checker{display:block;min-width:0;margin:24px 0;padding:20px;border:1px solid var(--line);border-radius:14px}
#publishing-rules .publish-checker legend{padding:0 8px;font-size:17px;font-weight:750}
#publishing-rules .publish-checker-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
#publishing-rules .publish-checker-count{display:inline-block;padding:6px 12px;border-radius:20px;background:#eee9ff;color:#4832bb;font-weight:750}
#publishing-rules .publish-checker-actions{display:flex;gap:8px}
#publishing-rules .publish-checker p{margin:12px 0;line-height:1.5}
#publishing-rules .publish-checker-help{font-size:13px;color:var(--muted)}
#publishing-rules .publish-checker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}
#publishing-rules label.publish-check-option{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-width:0;margin:0;padding:13px 14px;border:1px solid var(--line);border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;line-height:1.4}
#publishing-rules label.publish-check-option:has(input:checked){border-color:#9d8de9;background:#f3efff}
#publishing-rules label.publish-check-option:focus-within{outline:2px solid #6550d6;outline-offset:2px}
#publishing-rules .publish-check-option input[type=checkbox]{display:inline-block;position:static;flex:0 0 19px;width:19px;height:19px;min-width:19px;margin:0;padding:0;accent-color:#5740d8}
#publishing-rules .publish-check-number{flex:0 0 22px;color:var(--muted);font-size:12px;text-align:center}
@media(max-width:700px){#publishing-rules .publish-checker-grid{grid-template-columns:1fr}#publishing-rules .publish-checker{padding:14px}}

/* ---- 2026-10-08: Team & roles ----------------------------------------- */
.team-back{margin:0 0 12px}.team-back a{color:var(--purple);font-weight:700;text-decoration:none}
.team-grid{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.6fr);gap:18px;align-items:start;margin-bottom:18px}
.team-levels{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.team-level{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:11px 13px;border:1px solid var(--line);border-left:5px solid #b9b3d6;border-radius:12px;background:#fff}
.team-level small{grid-column:1/-1;color:#6d7385;font-size:12.5px;line-height:1.4}
.team-level.is-admin{border-left-color:#4d35c4}.team-level.is-director{border-left-color:#7557e8}
.team-level.is-manager{border-left-color:#2aa8a8}.team-level.is-event_manager{border-left-color:#e38b39}
.team-level-num{color:#4d35c4;font-size:12px;font-weight:800}
.team-table{width:100%;border-collapse:collapse;font-size:14px}
.team-table th{padding:8px;border-bottom:1px solid var(--line);color:#6b7183;font-size:11px;text-align:left;text-transform:uppercase}
.team-table td{padding:8px;border-bottom:1px solid #f0eff6;vertical-align:middle}
.team-inline{margin:0}.team-inline select,.team-add select,.team-add input{padding:8px 10px;border:1px solid #cbc9d6;border-radius:9px;background:#fff;font:inherit;font-size:14px}
.team-add{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;padding-top:14px;border-top:1px solid var(--line)}
.team-add label{display:grid;gap:5px;font-size:12.5px;font-weight:700;color:#555}
.team-add input{width:190px}
.team-matrix-wrap{overflow-x:auto}
.team-matrix{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px}
.team-matrix th,.team-matrix td{padding:9px 10px;border-bottom:1px solid #f0eff6;text-align:center}
.team-matrix thead th{background:#faf9ff;color:#30256f;font-size:13px}
.team-matrix thead small{display:block;color:#7a8093;font-weight:600}
.team-matrix tbody th{text-align:left;font-weight:700;color:#1d2136;white-space:nowrap}
.team-matrix td:nth-child(2n+1):not(:last-child){border-right:1px solid #f0eff6}
.team-all{color:#1c7a4b;font-weight:800;white-space:nowrap}
.team-matrix .toggle.is-change:checked{background:#1c7a4b!important}
.no-access{max-width:640px;margin:40px auto}.no-access h1{margin:4px 0 8px}
@media(max-width:900px){.team-grid{grid-template-columns:minmax(0,1fr)}.team-add input{width:100%}}
.team-mark{background:#ece7ff!important;color:#4d35c4!important}

/* admin Places: one list of every location */
.place-views{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 12px}
.place-views a{padding:8px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#3f4459;font-size:13px;font-weight:700;text-decoration:none}
.place-views a small{margin-left:4px;color:#7a8093}
.place-views a.is-on{border-color:var(--purple);background:#f0edff;color:var(--purple)}
.place-views .place-views-open{margin-left:auto;border-style:dashed}
.place-switches form{margin:0 0 6px}
.place-switches label{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;white-space:nowrap;cursor:pointer}
.place-switches .toggle{width:36px!important;height:20px}.place-switches .toggle:before{width:14px;height:14px}
.place-switches .toggle:checked:before{transform:translateX(16px)}

/* ---- 2026-10-09: own staff sign-in ------------------------------------ */
.login-help{margin:16px 0 0;color:#666;font-size:13px;line-height:1.5}.login-help code{word-break:break-all}
.login-card small{color:#777;font-weight:400}.login-card-wide{width:min(540px,100%)}
.admin-sidebar-footer a{color:#dbe5f5;text-decoration:none}.admin-sidebar-footer a:hover{text-decoration:underline}
.admin-password-link{margin-right:12px;font-size:14px;text-decoration:none}
.account-form{display:grid;gap:4px;max-width:440px}.account-form label{display:grid;gap:6px;margin:8px 0;font-size:14px;font-weight:700;color:#444}
.team-actions{display:flex;flex-wrap:wrap;gap:4px 10px}.team-actions form{margin:0}

/* Event editor: the other links (URL 2, 3 ...) */
.extra-links{display:grid;gap:8px;margin:6px 0;padding:12px;border:1px solid var(--line);border-radius:12px}
.extra-links legend{font-weight:800;padding:0 4px}.extra-links legend small{font-weight:400;color:#777}
.extra-link-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px}
.extra-link-row .source-link{flex:1;min-width:0;overflow-wrap:anywhere}
.extra-link-remove{display:flex!important;align-items:center;gap:4px;color:#a3352c;font-weight:700}
.extra-link-remove input{width:auto}
.extra-link-add{display:flex;gap:8px}.extra-link-add select{width:auto}

/* automation: what runs on its own */
.auto-status{margin:14px 0 18px;padding:16px 18px;border:1px solid var(--line,#e2e5ec);border-radius:16px;background:#fcfcfe}
.auto-status.is-paused{border-color:#f0d9ad;background:#fffaf0}
.auto-status-head h3{margin:0;font-size:15px}
.auto-status-head p{margin:4px 0 10px;color:#4b5266;font-size:13.5px;font-weight:700}
.auto-status-list{display:grid;gap:2px;margin:0;padding:0;list-style:none}
.auto-status-row{display:grid;grid-template-columns:118px 1fr;gap:12px;align-items:start;padding:10px 0;border-top:1px solid #eceef3}
.auto-status-row:first-child{border-top:0}
.auto-status-row .state-pill{justify-self:start;margin-top:1px}
.auto-status-text{display:grid;gap:2px;min-width:0;font-size:13px;color:#4b5266}
.auto-status-text b{color:#1d2233;font-size:14px}
.auto-status-where{color:#8a90a2;font-weight:700}
.auto-status-times{color:#8a90a2}
.auto-status-row.is-unknown .state-pill{background:#fde8e8;color:#a22c2c}
.auto-status-row.is-stopping .state-pill,.auto-status-row.is-finishing .state-pill{background:#fdf1dc;color:#93600d}
@media(max-width:640px){.auto-status-row{grid-template-columns:1fr;gap:6px}}
.record-contact-empty{margin:12px 0 0;color:#fff;font-size:13px;line-height:1.4}
.record-contact-empty a{color:#fff;text-decoration:underline;text-underline-offset:2px}

/* event editor: does the visitor see this link? */
.link-alert{margin:4px 0 10px;padding:10px 12px;border:1px solid #f1c3b8;border-radius:10px;background:#fff1ee;color:#8a2a1b;font-size:13px}
.link-status{margin:-4px 0 10px;font-size:12.5px;font-weight:700}
.link-status.is-shown{color:#1c7a4b}
.link-status.is-hidden,.link-status.is-pending{color:#93600d}
.tag.link-state.is-shown{background:#e3f5ec;color:#1c7a4b}
.tag.link-state.is-pending{background:#fdf1dc;color:#93600d}
.tag.link-state.is-hidden{background:#eef0f4;color:#5b6173}
.extra-link-approve{display:flex!important;align-items:center;gap:4px;color:#1c7a4b;font-weight:700}
.extra-link-row{padding:8px 0;border-top:1px solid #eef0f4}
.extra-link-row:first-of-type{border-top:0}
.extra-link-row .extra-link-approve{order:1;margin-left:auto}
.extra-link-row .extra-link-remove{order:2;margin-left:auto}
.extra-link-row .extra-link-approve+.extra-link-remove{margin-left:0}
.extra-link-row .source-link{order:3;flex-basis:100%;overflow-wrap:anywhere}
.extra-link-approve,.extra-link-row .extra-link-remove{flex-direction:row!important}
/* Link approvals: many events' waiting links on one page */
.link-filters{display:flex;flex-wrap:wrap;align-items:end;gap:10px 14px;margin:12px 0}
.link-filters label{display:grid;gap:4px;font-size:12px;font-weight:800;color:#4b5266}
.link-filters .link-filter-check{display:flex;align-items:center;gap:6px;padding-bottom:8px}
.link-summary{margin:6px 0 4px;color:#4b5266;font-size:14px}
.link-none-count{color:#a22c2c;font-weight:800}
.link-toolbar .link-toolbar-actions{display:flex;gap:8px;margin-left:auto}
.link-review-list{display:grid;gap:10px}
.link-event{padding:12px 14px;border:1px solid #e5e3ed;border-radius:14px;background:#fff}
.link-event header{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-bottom:6px}
.link-event header .muted{font-size:12.5px}
.link-candidate{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:8px 0;border-top:1px solid #eef0f4;font-size:13px;cursor:pointer}
.link-candidate .source-link{flex:1 1 260px;min-width:0;overflow-wrap:anywhere}
.link-candidate small{flex-basis:100%;padding-left:24px}
.tag.link-verdict.is-names{background:#e3f5ec;color:#1c7a4b}
.tag.link-verdict.is-unsure{background:#fdf1dc;color:#93600d}
.tag.link-verdict.is-other{background:#eef0f4;color:#5b6173}
.tag.link-state.is-none{background:#fde8e8;color:#a22c2c}
.link-pages{margin:14px 0}
/* Events desk: link approval bubbles */
.fb-chip-group{flex-basis:100%;margin:6px 0 -2px;color:#93600d;font-size:11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase}
.fb-link-callout{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 0;font-size:13px;font-weight:700}
.fb-link-callout a{text-decoration:none}
.record-layout-single{grid-template-columns:minmax(0,1fr)}
.record-side-inline{position:static;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
@media(max-width:820px){.record-side-inline{grid-template-columns:1fr}}

/* Events desk: "What's missing" names each gap; red ones are required by Settings. */
.desk-missing{min-width:200px;max-width:320px;font-size:12px;line-height:1.5}
.desk-gap{margin:0 0 6px}.desk-gap b{color:#5d6b82;font-weight:700;margin-right:2px}
.desk-gap-item{display:inline-block;margin:2px 3px 0 0;padding:1px 8px;border-radius:999px;background:#eef1f6;color:#4a5568;font-weight:600;cursor:help}
.desk-gap-item.is-required{background:#fde2df;color:#b42318;box-shadow:inset 0 0 0 1px #f5b5ad}
.desk-gap-none{color:#2f7d4f;font-weight:700}
