body{margin:0}.loading{text-align:center;padding:2rem 0;color:#666}@media print{@page{margin:10mm}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.programme-container{margin:0;padding:0}.programme-content.size-a5{width:148mm;height:210mm}.programme-content.size-a4{width:210mm;height:297mm}.programme-content.size-square{width:210mm;height:210mm}.programme-header{padding-bottom:3mm;display:flex;align-items:center;gap:1rem}.programme-logo{max-width:60px}.programme-table{box-shadow:none}.event-row{break-inside:avoid;page-break-inside:avoid}td{padding:2mm;font-size:14pt!important}.programme-controls{display:none!important}nav{display:none!important}.programme-content{page-break-after:always;display:flex;flex-direction:column;justify-content:space-between}.programme-header{margin-bottom:0;padding-top:10mm}.programme-header p{font-size:11pt}.programme-footer,.programme-table{margin-top:0}.event-row{border-bottom:none}}.programme-container{margin:0 auto;padding:2rem 0}.programme-preview-wrapper{display:flex;flex-direction:row;align-items:flex-start;gap:2rem;padding:2rem;background:#e5e7eb;min-height:100vh}.programme-preview-container{flex:1;display:flex;justify-content:center;padding:2rem 0}.programme-content{background:#fff;padding:8mm;box-sizing:border-box;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;border:1px solid #d1d5db;display:flex;flex-direction:column;justify-content:space-between}.programme-content.size-a5{width:148mm;height:210mm}.programme-content.size-a4{width:210mm;height:297mm}.programme-content.size-square{width:210mm;height:210mm}.programme-content.size-portrait45{width:216mm;height:270mm}.programme-logo{max-width:80px;height:auto;flex-shrink:0}.programme-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.programme-header h1{font-size:20pt;font-weight:700;color:#111;margin:0 0 .5rem}.header-text{padding-top:0}.header-text p{color:#666;font-size:9pt;line-height:1.3;margin:0}.programme-controls{box-sizing:border-box;padding:1.5rem;background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;gap:1rem;align-items:stretch;width:300px;flex-shrink:0;position:sticky;top:2rem;max-height:calc(100vh - 4rem);overflow-y:auto}.column-toggles{display:flex;flex-direction:column;gap:.5rem;padding-bottom:.5rem;border-bottom:1px solid #e5e7eb}.column-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer}.past-events-control{display:flex;flex-direction:column;gap:.5rem}.past-events-control select{width:100%;padding:.5rem;border:1px solid #d1d5db;border-radius:.25rem}.add-break-control{display:flex;flex-direction:column;gap:.5rem}.add-break-control input{width:100%;padding:.5rem;border:1px solid #d1d5db;border-radius:.25rem}.page-size-control{display:flex;flex-direction:column;gap:.5rem}.page-size-control select{width:100%;padding:.5rem;border:1px solid #d1d5db;border-radius:.25rem}.zoom-control{display:flex;flex-direction:column;gap:.5rem}.zoom-control input[type=range]{width:100%}.zoom-control span{text-align:center;font-size:.875rem;color:#666}.font-size-control,.padding-control,.header-title-size-control,.header-desc-size-control,.logo-size-control,.header-text-padding-control{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:.5rem}.font-size-control input,.padding-control input,.header-title-size-control input,.header-desc-size-control input,.logo-size-control input,.header-text-padding-control input{width:4rem;padding:.25rem .5rem;border:1px solid #d1d5db;border-radius:.25rem;text-align:right}.font-size-control label,.padding-control label,.header-title-size-control label,.header-desc-size-control label,.logo-size-control label,.header-text-padding-control label{font-size:.875rem}.font-size-control span,.padding-control span,.header-title-size-control span,.header-desc-size-control span,.logo-size-control span,.header-text-padding-control span{font-size:.75rem;color:#666;width:2rem}.header-description-control{display:flex;flex-direction:column;gap:.5rem}.header-description-control label{font-size:.875rem}.header-description-control textarea{width:100%;padding:.5rem;border:1px solid #d1d5db;border-radius:.25rem;font-family:inherit;font-size:.875rem;resize:vertical}.programme-controls button{width:100%;padding:.75rem;background:#3b82f6;color:#fff;border:none;border-radius:.25rem;font-weight:600;cursor:pointer;margin-top:.5rem}.programme-controls button:hover{background:#2563eb}.programme-table{width:100%;border-collapse:collapse;background:#fff;border-radius:.5rem;overflow:hidden}.event-row:nth-child(2n){background-color:#f9fafb}.event-row.highlight{font-weight:600}.event-row.break-row .break-cell{text-align:center!important;font-style:italic;letter-spacing:.1em;color:#6b7280}.event-row.past-event{text-decoration:line-through;opacity:.7}.event-row:last-child{border-bottom:none}.date-cell{width:3rem;color:#374151;text-align:right;font-size:11pt;padding:.3rem .5rem}.day-cell{color:#374151;width:4rem;font-size:11pt;padding:.3rem .5rem}.bands-cell{color:#374151;text-align:left!important;font-size:11pt;padding:.3rem .5rem}.time-cell{color:#374151;text-align:right!important;font-size:11pt;padding:.3rem .5rem}.notes-cell{color:#374151}.m_e4d36c9b{min-width:calc(12.5rem * var(--mantine-scale));background-color:var(--mantine-color-body);box-shadow:var(--mantine-shadow-md);border-radius:var(--mantine-radius-default)}:where([data-mantine-color-scheme=light]) .m_e4d36c9b{border:1px solid var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_e4d36c9b{border:1px solid var(--mantine-color-dark-4)}.m_7f4bcb19{padding:var(--mantine-spacing-xs) var(--mantine-spacing-md);font-size:var(--mantine-font-size-md);font-weight:var(--mantine-font-weight-medium);color:var(--mantine-color-bright)}.m_3de554dd{padding:var(--mantine-spacing-sm) var(--mantine-spacing-md);padding-top:0}.m_e4d36c9b:where([data-type=radial]) :where(.m_3de554dd){padding-top:var(--mantine-spacing-sm)}.m_b30369b5{width:calc(.75rem * var(--mantine-scale));height:calc(.75rem * var(--mantine-scale));min-width:calc(.75rem * var(--mantine-scale));min-height:calc(.75rem * var(--mantine-scale))}.m_3de8964e{font-size:var(--mantine-font-size-sm);display:flex;align-items:center;justify-content:space-between}.m_3de8964e:where(.m_3de8964e+.m_3de8964e){margin-top:calc(var(--mantine-spacing-sm) / 2)}.m_3de8964e[data-type=scatter] .m_b30369b5{display:none}.m_50186d10{display:flex;align-items:center;gap:var(--mantine-spacing-sm);margin-inline-end:var(--mantine-spacing-xl)}.m_501dadf9{color:var(--mantine-color-text);font-size:var(--mantine-font-size-sm)}.m_50192318{color:var(--mantine-color-bright)}.m_847eaf{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;height:100%}.m_847eaf:where([data-centered]){justify-content:center}.m_847eaf:where([data-position=top]){padding-bottom:var(--mantine-spacing-md)}.m_847eaf:where([data-position=bottom]){padding-top:var(--mantine-spacing-md)}.m_17da7e62{display:flex;align-items:center;gap:calc(.4375rem * var(--mantine-scale));padding:7px var(--mantine-spacing-xs);border-radius:var(--mantine-radius-default);line-height:1}@media (hover: hover){:where([data-mantine-color-scheme=light]) .m_17da7e62:where(:hover){background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_17da7e62:where(:hover){background-color:var(--mantine-color-dark-5)}}@media (hover: none){:where([data-mantine-color-scheme=light]) .m_17da7e62:where(:active){background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_17da7e62:where(:active){background-color:var(--mantine-color-dark-5)}}.m_17da7e62[data-without-color] .m_6e236e21{display:none}.m_8ff56c0d{font-size:var(--mantine-font-size-sm);margin:0;padding:0}.m_a50f3e58{display:block;width:100%;--chart-bar-label-color: var(--mantine-color-dimmed)}.m_a50f3e58 svg{overflow:visible;outline:0}:where([data-mantine-color-scheme=light]) .m_a50f3e58{--chart-grid-color: rgba(173, 181, 189, .6);--chart-cursor-fill: rgba(173, 181, 189, .15)}:where([data-mantine-color-scheme=dark]) .m_a50f3e58{--chart-cursor-fill: rgba(105, 105, 105, .15);--chart-grid-color: rgba(105, 105, 105, .6)}.m_a50f3e58 :where(text){font-family:var(--mantine-font-family);color:var(--chart-text-color, var(--mantine-color-dimmed))}.m_af9188cb{height:100%;width:100%}.m_a50a48bc{stroke:var(--chart-grid-color)}.m_a507a517{color:var(--chart-grid-color)}.m_2293801d{color:var(--chart-text-color, var(--mantine-color-dimmed))}.m_92b296cd{min-width:calc(12.5rem * var(--mantine-scale));background-color:var(--mantine-color-body);box-shadow:var(--mantine-shadow-md);border-radius:var(--mantine-radius-default);padding:var(--mantine-spacing-sm)}:where([data-mantine-color-scheme=light]) .m_92b296cd{border:1px solid var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_92b296cd{border:1px solid var(--mantine-color-dark-4)}.m_f9458cfe svg{outline:0}.m_a410e613{min-height:var(--chart-size, auto);height:var(--chart-size, auto);width:var(--chart-size, auto);min-width:var(--chart-size, auto)}.m_a410e613 :where(*){outline:0}.m_a410e613 :where(.recharts-surface){overflow:visible}.m_ddb0bfe3{fill:var(--mantine-color-text);font-size:var(--mantine-font-size-sm)}.m_cd8943fd{min-height:var(--chart-size, auto);height:var(--chart-size, auto);width:var(--chart-size, auto);min-width:var(--chart-size, auto)}.m_cd8943fd :where(*){outline:0}.m_cd8943fd :where(.recharts-surface){overflow:visible}:where([data-mantine-color-scheme=light]) .m_1f271cf7{--chart-grid-color: rgba(173, 181, 189, .6);--chart-text-color: var(--mantine-color-gray-7)}:where([data-mantine-color-scheme=dark]) .m_1f271cf7{--chart-grid-color: rgba(105, 105, 105, .6);--chart-text-color: var(--mantine-color-dark-1)}.m_1f271cf7 :where(text){font-size:var(--mantine-font-size-xs);fill:var(--chart-text-color, var(--mantine-color-dimmed));-webkit-user-select:none;user-select:none}.m_1f271cf7 :where(svg){outline:0}.m_cf06f58c{height:100%;width:100%}:where([data-mantine-color-scheme=light]) .m_cd2bd9e5{--chart-empty-background: var(--mantine-color-gray-1);--chart-cursor-color: var(--mantine-color-gray-4)}:where([data-mantine-color-scheme=dark]) .m_cd2bd9e5{--chart-empty-background: var(--mantine-color-dark-6);--chart-cursor-color: var(--mantine-color-dark-4)}.m_cd2bd9e5 :where(svg){outline:0}.m_6bcc3420{padding:var(--mantine-spacing-md);box-shadow:var(--mantine-shadow-md);min-width:calc(12.5rem * var(--mantine-scale));font-size:var(--mantine-font-size-sm);display:flex;align-items:center;justify-content:space-between}:where([data-mantine-color-scheme=light]) .m_6bcc3420{border:1px solid var(--mantine-color-gray-2)}:where([data-mantine-color-scheme=dark]) .m_6bcc3420{border:1px solid var(--mantine-color-dark-4)}.m_80d531e7{min-height:var(--chart-size, auto);height:var(--chart-size, auto);width:var(--chart-size, auto);min-width:var(--chart-size, auto)}.m_80d531e7 :where(*){outline:0}.m_2ef228c3{display:block;width:fit-content}:where([data-mantine-color-scheme=light]) .m_2ef228c3{--heatmap-level-1: rgba(81, 207, 102, .3);--heatmap-level-2: rgba(64, 192, 87, .45);--heatmap-level-3: rgba(55, 178, 77, .75);--heatmap-level-4: rgba(43, 138, 62, 1);--heatmap-empty-rect-bg: var(--mantine-color-gray-2)}:where([data-mantine-color-scheme=dark]) .m_2ef228c3{--heatmap-level-1: rgba(43, 138, 62, .3);--heatmap-level-2: rgba(47, 158, 68, .45);--heatmap-level-3: rgba(55, 178, 77, .75);--heatmap-level-4: rgba(81, 207, 102, 1);--heatmap-empty-rect-bg: var(--mantine-color-dark-5)}.m_2ef201c5{stroke-width:calc(.0625rem * var(--mantine-scale))}.m_2ef201c5:where([data-empty]){fill:var(--heatmap-empty-rect-bg)}.m_7e977775,.m_c4b68f8d,.m_75b4f3e6{cursor:default;-webkit-user-select:none;user-select:none;fill:var(--mantine-color-dimmed)}.m_da847eb2:where([data-empty]){fill:var(--heatmap-empty-rect-bg)}.m_1ea785b1{display:flex;flex-direction:column;gap:var(--bars-list-gap);width:100%}.m_294011ec{display:flex;justify-content:space-between;font-size:var(--mantine-font-size-sm);font-weight:var(--mantine-font-weight-medium);padding-bottom:var(--bars-list-gap)}.m_9de42164{display:flex;align-items:center;justify-content:space-between;gap:var(--mantine-spacing-md)}.m_6f89abf0{display:flex;align-items:center;min-width:var(--bars-list-min-bar-size);height:var(--bars-list-bar-height);padding:0 var(--mantine-spacing-sm);font-size:var(--mantine-font-size-sm);font-weight:500;color:var(--mantine-color-white);border-radius:var(--mantine-radius-sm);transition:width .3s ease}:where([data-mantine-color-scheme=light]) .m_6f89abf0{background-color:var(--mantine-primary-color-filled)}:where([data-mantine-color-scheme=dark]) .m_6f89abf0{background-color:var(--mantine-primary-color-filled)}.m_7016be6d{font-size:var(--mantine-font-size-sm);font-weight:var(--mantine-font-weight-medium);white-space:nowrap;color:var(--mantine-color-text)}.m_3c064071{min-height:var(--chart-height, auto)}.m_3c064071 :where(*){outline:0}.m_b42d2970{min-height:var(--chart-height, auto)}.m_b42d2970 :where(*){outline:0}:where([data-mantine-color-scheme=light]) .m_b42d2970{--chart-link-color: var(--mantine-color-gray-1)}:where([data-mantine-color-scheme=dark]) .m_b42d2970{--chart-link-color: var(--mantine-color-dark-5)}
