.hofcg{--hof-ink:#111;--hof-muted:#667085;--hof-line:#d9dde5;--hof-card:#fff;--hof-accent:#111827;font-family:Arial,Helvetica,sans-serif;color:var(--hof-ink);max-width:1180px;margin:0 auto;padding:20px}
.hofcg *{box-sizing:border-box}.hofcg h2,.hofcg h3,.hofcg p{margin-top:0}.hofcg__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:28px;align-items:start}
.hofcg__panel{background:var(--hof-card);border:1px solid var(--hof-line);border-radius:18px;padding:20px}.hofcg__eyebrow{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--hof-muted)}
.hofcg__field{display:grid;gap:7px;margin:0 0 16px}.hofcg label{font-size:13px;font-weight:800}.hofcg input,.hofcg select{width:100%;min-height:46px;border:1px solid #c8ced8;border-radius:10px;padding:10px 12px;font:inherit;background:#fff;color:#111}
.hofcg input:focus,.hofcg select:focus,.hofcg button:focus{outline:3px solid rgba(37,99,235,.18);outline-offset:2px}.hofcg__templates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:8px 0 20px}
.hofcg__template{border:1px solid var(--hof-line);border-radius:12px;background:#fff;padding:12px;min-height:64px;font-weight:800;cursor:pointer}.hofcg__template[aria-pressed="true"]{border:2px solid #111;background:#f5f7fa}
.hofcg__button{border:0;border-radius:999px;background:#111;color:#fff;font-weight:900;min-height:48px;padding:12px 20px;cursor:pointer}.hofcg__button--secondary{background:#fff;color:#111;border:1px solid #c8ced8}.hofcg__button:disabled{opacity:.45;cursor:not-allowed}
.hofcg__preview{position:relative;aspect-ratio:1/1;background:linear-gradient(135deg,#f7f8fa,#e9edf2);border-radius:18px;overflow:hidden}.hofcg__preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.hofcg__overlay{position:absolute;transform:translate(-50%,-50%);font-weight:900;text-align:center;white-space:nowrap;line-height:1;pointer-events:none;text-shadow:0 1px 1px rgba(0,0,0,.2)}
.hofcg__status{min-height:22px;font-size:13px;color:var(--hof-muted);margin-top:12px}.hofcg__status[data-kind="error"]{color:#b42318}.hofcg__status[data-kind="success"]{color:#067647}
.hofcg__admin-grid{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);gap:22px}.hofcg__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.hofcg__map-preview{position:relative;aspect-ratio:1/1;background:#eef1f5;border-radius:16px;overflow:hidden;touch-action:none}.hofcg__map-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.hofcg__drag{position:absolute;transform:translate(-50%,-50%);font-weight:900;cursor:grab;user-select:none;touch-action:none;border:1px dashed rgba(255,255,255,.8);padding:2px 4px;white-space:nowrap}.hofcg__drag:active{cursor:grabbing}
.hofcg__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.hofcg__small{font-size:12px;color:var(--hof-muted)}.hofcg__separator{height:1px;background:var(--hof-line);margin:20px 0}
@media(max-width:780px){.hofcg__grid,.hofcg__admin-grid{grid-template-columns:1fr}.hofcg__templates{grid-template-columns:1fr}.hofcg__row{grid-template-columns:1fr}.hofcg{padding:12px}.hofcg__panel{padding:16px}}

.hofcg__school-wrap{display:grid;gap:8px}.hofcg__school-meta{display:flex;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--hof-muted)}
.hofcg__pill{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border:1px solid var(--hof-line);border-radius:999px;background:#f8fafc}
.hofcg__media-source{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hofcg__media-card{border:1px solid var(--hof-line);border-radius:14px;padding:14px;background:#fafbfc}
.hofcg__media-preview{aspect-ratio:16/10;border:1px dashed #c8ced8;border-radius:12px;background:#fff;display:grid;place-items:center;overflow:hidden;margin:10px 0}
.hofcg__media-preview img{width:100%;height:100%;object-fit:contain}.hofcg__media-empty{font-size:12px;color:var(--hof-muted);padding:16px;text-align:center}
.hofcg__notice{border:1px solid #cfd8e6;background:#f7f9fc;border-radius:12px;padding:12px 14px;font-size:13px;line-height:1.45}
.hofcg__select-loading{color:var(--hof-muted)}.hofcg__school-search{margin-bottom:8px}
@media(max-width:780px){.hofcg__media-source{grid-template-columns:1fr}}
