.cphi-contacts{container:cphi-contacts / inline-size;min-width:0;padding-bottom:36px}.cphi-contacts-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding-top:8px}.cphi-contacts-heading h2{font-size:24px;line-height:1.25;letter-spacing:-.025em;font-weight:500}.cphi-contacts-heading p{margin-top:4px;color:var(--cphi-muted);font-size:13px;line-height:1.5}.cphi-contact-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.cphi-contact-capture-actions{flex-wrap:nowrap}.cphi-contact-settings-trigger{margin-left:auto}.cphi-contact-actions button{display:inline-flex;justify-content:center;align-items:center;gap:6px;min-height:36px;padding:6px 12px;border:1px solid var(--cphi-border);border-radius:6px;background:var(--cphi-paper);font-size:14px;line-height:22px}.cphi-contact-actions .cphi-contact-icon-button{flex-shrink:0;width:40px;min-width:40px;height:40px;padding:0}.cphi-contact-actions button:not(:disabled):hover{background:var(--cphi-surface)}.cphi-contact-actions .cphi-contact-primary{color:var(--cphi-on-control);background:var(--cphi-control);border-color:var(--cphi-control)}.cphi-contact-actions .cphi-contact-primary:not(:disabled):hover{background:var(--cphi-control-hover)}.cphi-contact-hint{margin-top:12px;font-size:12px;color:var(--cphi-muted)}.cphi-contact-status{font-size:13px;color:var(--cphi-muted)}.cphi-contact-status:not(:empty){margin-top:12px}.cphi-contact-error,.cphi-contact-warning,.cphi-contact-confirm{margin-block:12px;padding:12px;border:1px solid var(--cphi-border);border-radius:6px;font-size:13px;background:var(--cphi-surface)}.cphi-contact-error{color:var(--cphi-danger);background:var(--cphi-danger-surface);border-color:var(--cphi-danger-border)}.cphi-contact-editor{margin-block:20px 24px;padding:16px;background:var(--cphi-surface);border-radius:8px}.cphi-contact-editor-heading{display:flex;align-items:baseline;flex-wrap:wrap;justify-content:space-between;gap:8px}.cphi-contact-editor-heading h3{font-size:16px}.cphi-contact-editor-heading>span{color:var(--cphi-muted);font-size:12px}.cphi-contact-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-block:16px}.cphi-contact-fields label{display:flex;flex-direction:column;gap:4px;min-width:0}.cphi-contact-fields label>span{display:flex;align-items:baseline;gap:8px;font-size:12px;font-weight:500}.cphi-contact-fields small{color:var(--cphi-danger);font-weight:400}.cphi-contacts input:not([type=checkbox]),.cphi-contacts textarea{width:100%;min-width:0;padding:7px 10px;border:1px solid var(--cphi-border);background:var(--cphi-paper);color:var(--cphi-ink);font-size:14px;line-height:22px;border-radius:6px}.cphi-contacts textarea{resize:vertical;min-height:72px}.cphi-contacts input[type=checkbox]{width:16px;height:16px;flex-shrink:0;margin:0;accent-color:var(--cphi-control);cursor:pointer}.cphi-contact-table-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:24px}.cphi-contact-table-toolbar>.cphi-contact-actions{margin-left:auto}.cphi-contacts .cphi-contact-search{flex-direction:row;display:flex;align-items:center;gap:8px;flex:1;max-width:320px;min-width:160px;color:var(--cphi-muted)}.cphi-contact-search input{flex:1}.cphi-contact-list-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:8px 0;font-size:12px;color:var(--cphi-muted)}.cphi-contacts .cphi-contact-select-all{display:inline-flex;flex-direction:row;align-items:center;gap:8px;min-height:36px;cursor:pointer}.cphi-contact-list-meta .cphi-contact-actions{margin-left:auto}.cphi-contact-table-scroll{overflow:auto;overscroll-behavior-x:none;max-height:54vh;border-block:1px solid var(--cphi-border)}.cphi-contact-table-scroll table{width:100%;min-width:960px;border-collapse:separate;border-spacing:0;font-size:13px;text-align:left}.cphi-contact-table-scroll th{position:sticky;top:0;z-index:1;background:var(--cphi-surface);font-weight:500}.cphi-contact-table-scroll :is(th,td){padding:12px;border-bottom:1px solid var(--cphi-border);vertical-align:top;min-width:116px;max-width:260px;overflow-wrap:anywhere}.cphi-contact-table-scroll [data-field=email]{min-width:200px}.cphi-contact-table-scroll :is([data-field=notes],[data-field=address]){min-width:240px}.cphi-contact-value{white-space:pre-wrap}.cphi-contact-table-scroll .cphi-contact-selection-cell{position:sticky;left:0;z-index:2;width:44px;min-width:44px;max-width:44px;padding:4px;background:var(--cphi-paper)}.cphi-contact-table-scroll th.cphi-contact-selection-cell{z-index:3;background:var(--cphi-surface)}.cphi-contact-selection-cell label{display:flex;align-items:center;justify-content:center;width:36px;min-height:36px;cursor:pointer}.cphi-contact-table-scroll .cphi-contact-selected,.cphi-contact-table-scroll .cphi-contact-selected .cphi-contact-selection-cell{background:var(--cphi-surface)}.cphi-contact-table-scroll :is(th,td):last-child{min-width:88px;width:88px}.cphi-contact-table-scroll tbody tr:last-child td{border-bottom:0}.cphi-contact-table-scroll tbody tr:hover{background:color-mix(in srgb,var(--cphi-surface) 60%,var(--cphi-paper))}.cphi-contact-row-actions{display:flex;gap:4px}.cphi-contact-row-actions button{display:grid;place-items:center;width:32px;min-height:32px;border-radius:6px}.cphi-contact-row-actions button:hover{background:var(--cphi-border)}.cphi-contact-missing{color:var(--cphi-muted)}.cphi-contact-text{min-height:36px;font-size:13px;text-decoration:underline;text-underline-offset:3px}.cphi-contact-confirm .cphi-contact-actions{margin-top:8px}.cphi-contact-empty{display:flex;flex-direction:column;align-items:flex-start;gap:12px;max-width:48ch;padding:60px 0 40px;color:var(--cphi-muted)}.cphi-contact-empty h3{color:var(--cphi-ink);font-size:20px;line-height:1.3;letter-spacing:-.02em;font-weight:500}.cphi-contact-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#0006}.cphi-contact-dialog{position:fixed;top:50%;left:50%;z-index:91;transform:translate(-50%,-50%);display:flex;flex-direction:column;width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;overflow:hidden;border:1px solid var(--cphi-border);border-radius:var(--cphi-radius-surface);background:var(--cphi-paper);color:var(--cphi-ink);box-shadow:0 16px 48px #0003;color-scheme:light}.cphi-contact-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0;padding:16px 20px 8px}.cphi-contact-dialog-heading h2{font-size:20px;font-weight:500;line-height:1.3;letter-spacing:-.02em}.cphi-contact-dialog-close{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border-radius:var(--cphi-radius-control);color:var(--cphi-muted)}.cphi-contact-dialog-close:hover{background:var(--cphi-surface);color:var(--cphi-ink)}.cphi-contact-edit-form{display:flex;flex-direction:column;min-height:0}.cphi-contact-dialog-body{min-height:0;padding:0 20px 8px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--cphi-border) transparent}.cphi-contact-dialog .cphi-contact-fields{grid-template-columns:repeat(2,minmax(0,1fr));margin-block:8px;gap:16px}.cphi-contact-dialog .cphi-contact-fields label[data-source=manual]{grid-column:1 / -1}.cphi-contact-dialog .cphi-contact-dialog-actions{justify-content:flex-end;flex-shrink:0;padding:12px 20px 16px;border-top:1px solid var(--cphi-border)}.cphi-contact-dialog button:disabled{opacity:.4;cursor:not-allowed}@media(max-width:760px){.cphi-contacts-heading{gap:12px}.cphi-contacts-heading h2{font-size:20px}.cphi-contact-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.cphi-contact-fields label:nth-child(4),.cphi-contact-fields label:nth-child(6){grid-column:1 / -1}.cphi-contact-editor{padding:12px}.cphi-contacts input:not([type=checkbox]),.cphi-contacts textarea{font-size:16px}.cphi-contact-actions button{padding-inline:10px}.cphi-contact-actions .cphi-contact-icon-button{width:36px;min-width:36px;height:36px}.cphi-contact-empty{padding-block:36px 24px}.cphi-contact-row-actions button{min-width:40px}.cphi-contact-table-scroll{max-height:58vh}.cphi-contact-dialog-heading{padding:12px 16px 4px}.cphi-contact-dialog-body{padding-inline:16px}.cphi-contact-dialog .cphi-contact-fields{gap:12px}.cphi-contact-dialog .cphi-contact-fields label{grid-column:1 / -1}.cphi-contact-dialog .cphi-contact-fields :is([data-field=first_name],[data-field=surname]){grid-column:auto}.cphi-contact-dialog .cphi-contact-dialog-actions{padding:12px 16px}.cphi-contact-dialog-actions button{min-height:44px}.cphi-app-toolbar{flex-wrap:wrap;justify-content:flex-start;gap:0 12px}.cphi-app-toolbar .cphi-help-trigger{margin-left:auto;min-height:32px}.cphi-page .cphi-page-switch button{padding-inline:8px;font-size:14px}}.cphi-contact-popover{z-index:70;padding:4px;border:1px solid var(--cphi-border);border-radius:var(--cphi-radius-surface);background:var(--cphi-paper);color:var(--cphi-ink);box-shadow:0 4px 16px #00000014;color-scheme:light;max-height:var(--radix-popover-content-available-height, 80dvh);overflow-y:auto}.cphi-contact-download-menu{min-width:180px}.cphi-contact-download-menu button{display:flex;align-items:center;gap:8px;width:100%;min-height:36px;padding:8px;border-radius:4px;font-size:14px;cursor:pointer}.cphi-contact-download-menu button:is(:hover,:focus-visible){background:var(--cphi-surface)}.cphi-contact-download-menu button>span{margin-left:auto;font-size:12px;color:var(--cphi-muted)}.cphi-contact-columns{display:flex;flex-direction:column;width:min(340px,calc(100vw - 24px));padding:0;overflow:hidden}.cphi-contact-columns-heading{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px 4px}.cphi-contact-columns-body{min-height:0;padding:0 16px 16px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--cphi-border) transparent}.cphi-contact-columns-heading h3{font-size:16px;font-weight:500}.cphi-contact-columns-heading button{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--cphi-radius-control)}.cphi-contact-columns-heading button:is(:hover,:focus-visible){background:var(--cphi-surface)}.cphi-contact-columns p{font-size:12px;line-height:1.5;color:var(--cphi-muted);margin-top:8px}.cphi-contact-settings-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:32px;font-size:12px;color:var(--cphi-muted)}.cphi-contact-columns-body>.cphi-contact-settings-row{margin-top:8px}.cphi-contact-column-list{margin-bottom:12px}.cphi-contact-column-list label{display:flex;align-items:center;gap:8px;min-height:36px;padding:6px 4px;border-radius:4px;cursor:pointer;font-size:14px}.cphi-contact-column-list label:hover{background:var(--cphi-surface)}.cphi-contact-column-list input{width:16px;height:16px;flex-shrink:0;accent-color:var(--cphi-control)}.cphi-contact-column-list span{overflow-wrap:anywhere}.cphi-contact-column-list small{margin-left:auto;white-space:nowrap;font-size:11px;color:var(--cphi-muted)}.cphi-contact-column-form{padding-top:12px;border-top:1px solid var(--cphi-border)}.cphi-contact-column-form label{display:block;color:var(--cphi-ink);font-size:12px;font-weight:500;margin-bottom:6px}.cphi-contact-column-form :is(input,button){min-height:36px;padding:6px 10px;border:1px solid var(--cphi-border);border-radius:var(--cphi-radius-control);background:var(--cphi-paper);color:var(--cphi-ink);font-size:14px;line-height:22px}.cphi-contact-settings-row label{margin-bottom:0}.cphi-contact-settings-row .cphi-contact-settings-reset{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:32px;padding:4px 6px;border:0;border-radius:4px;background:transparent;color:var(--cphi-muted);font-size:12px}.cphi-contact-settings-reset:not(:disabled):is(:hover,:focus-visible){background:var(--cphi-surface);color:var(--cphi-ink)}.cphi-contact-column-form input{width:100%;min-height:42px;padding-block:8px;font-size:16px;line-height:1.6}.cphi-contact-column-create{display:flex;gap:8px;margin-top:8px}.cphi-contact-column-create>button{min-height:44px}.cphi-contact-source-trigger{display:flex;flex:1;align-items:center;justify-content:space-between;gap:8px;min-width:0;text-align:left}.cphi-contact-source-trigger>span:first-child{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cphi-contact-source-trigger>span:last-child{display:flex;flex-shrink:0;color:var(--cphi-muted)}.cphi-contact-source-trigger:not(:disabled):is(:hover,:focus-visible,[data-state=open]){background:var(--cphi-surface)}.cphi-filter-menu.cphi-contact-source-menu{z-index:80}.cphi-contact-column-create button[type=submit]{padding-inline:12px;border-color:var(--cphi-control);background:var(--cphi-control);color:var(--cphi-on-control)}.cphi-contact-column-create button[type=submit]:not(:disabled):hover{background:var(--cphi-control-hover)}.cphi-contact-popover button:disabled{opacity:.4;cursor:not-allowed}.cphi-contact-columns .cphi-contact-column-error{color:var(--cphi-danger)}.cphi-contact-columns .cphi-contact-column-footnote{margin-top:12px;font-size:11px}@media(max-width:760px){.cphi-contact-column-form input{min-height:36px;padding-block:6px;line-height:22px}.cphi-contact-column-create>button{min-height:36px}.cphi-contact-download-menu button{min-height:44px}}@container cphi-contacts (max-width: 760px){.cphi-contact-capture-actions{width:100%}}@container cphi-contacts (max-width: 380px){.cphi-contact-capture-actions{gap:6px}.cphi-contact-capture-actions button{gap:4px;padding-inline:6px}.cphi-contact-settings-trigger svg{display:none}}.cphi-map-door{stroke:#3b6e87;stroke-width:4px;stroke-linecap:round}.cphi-map-landmark{color:#31566b;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.cphi-map-landmark-background{fill:var(--cphi-paper, #fafbf8);stroke:#658399;stroke-width:1px}.cphi-map-landmark-leader{stroke-width:1px}.cphi-landmark-legend{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:8px;font-size:11px;line-height:1.4;color:var(--cphi-muted, #626a63)}.cphi-landmark-legend>span{display:inline-flex;align-items:center;gap:4px}.cphi-route-map .cphi-landmark-legend svg{display:block;flex-shrink:0;width:16px;height:16px;background:none;border:0;border-radius:0;fill:none;stroke:#31566b;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.cphi-map-door-key{display:inline-block;width:10px;height:4px;border-radius:2px;background:#3b6e87}.cphi-route-path-halo{stroke:var(--cphi-paper, #fff)}.cphi-route-path,.cphi-route-path-halo{stroke-linecap:round;stroke-linejoin:round}.cphi-route-arrow,.cphi-route-arrow-halo{fill:none;stroke-linecap:round;stroke-linejoin:round}.cphi-route-arrow-halo{stroke:var(--cphi-paper, #fff);stroke-width:6px}.cphi-route-arrow{stroke:var(--cphi-ink, #171717);stroke-width:2.5px}.cphi-route-endpoint{--endpoint-color: var(--cphi-ink, #171717)}.cphi-route-endpoint-destination{--endpoint-color: var(--cphi-accent-ink, #b45309)}.cphi-route-endpoint-connection{--endpoint-color: #31566b}.cphi-route-endpoint-symbol{fill:var(--endpoint-color);stroke:var(--cphi-paper, #fff);stroke-width:2px}.cphi-route-endpoint-leader{stroke:var(--endpoint-color);stroke-width:1px}.cphi-route-endpoint-letter{fill:#fff;font-size:12px;font-weight:600}.cphi-route-marker-legend{display:flex;flex-wrap:wrap;gap:5px 14px;margin-top:8px;color:var(--cphi-muted, #626a63);font-size:11px;line-height:1.4}.cphi-route-marker-legend>span{display:inline-flex;align-items:center;gap:5px}.cphi-route-marker-key{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--endpoint-color);color:#fff;font-size:10px;font-style:normal;font-weight:500}.cphi-route-endpoint-destination .cphi-route-marker-key{border-radius:3px}.cphi-nearby-heading,.cphi-nearby-toolbar,.cphi-nearby-legend,.cphi-nearby-selected-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.cphi-nearby-heading{margin-bottom:10px;font-size:13px}.cphi-nearby-heading p{display:flex;align-items:center;gap:6px;margin:0;min-width:0}.cphi-nearby-heading p svg{flex-shrink:0;color:var(--cphi-accent-ink)}.cphi-nearby-heading>button{text-decoration:underline;text-underline-offset:3px;flex-shrink:0;font-size:12px}.cphi-nearby-toolbar{margin-bottom:8px;font-size:11px;color:var(--cphi-muted)}.cphi-nearby-toolbar>div{display:flex;gap:4px}.cphi-nearby-toolbar button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--cphi-border);border-radius:var(--cphi-radius-control, 6px);background:var(--cphi-paper);color:var(--cphi-ink)}.cphi-nearby-toolbar button:disabled{opacity:.35}.cphi-nearby-drawing{display:block;width:100%;height:480px;background:var(--cphi-paper);border:1px solid var(--cphi-border);border-radius:var(--cphi-radius-control, 6px);touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:grab}.cphi-nearby-drawing:active{cursor:grabbing}.cphi-nearby-compact .cphi-nearby-drawing{height:340px}.cphi-nearby-stand{cursor:pointer}.cphi-nearby-stand rect{fill:var(--cphi-surface);stroke:var(--cphi-border-strong);stroke-width:.8px}.cphi-nearby-stand text{fill:var(--cphi-ink);font-size:11px;font-weight:500;pointer-events:none}.cphi-nearby-stand .cphi-nearby-company-label{font-size:10px;font-weight:400}.cphi-nearby-origin rect{fill:#fff0df;stroke:var(--cphi-accent-ink);stroke-width:2px}.cphi-nearby-selected rect,.cphi-nearby-stand:focus rect{stroke:var(--cphi-ink);stroke-width:2px}.cphi-nearby-origin.cphi-nearby-selected rect{stroke:var(--cphi-accent-ink)}.cphi-nearby-legend{margin-top:8px;font-size:11px;color:var(--cphi-muted)}.cphi-nearby-legend span,.cphi-nearby-legend a{display:inline-flex;align-items:center;gap:5px}.cphi-nearby-legend i{width:10px;height:10px;background:#fff0df;border:1px solid var(--cphi-accent-ink)}.cphi-nearby-legend a{text-decoration:underline;text-underline-offset:3px}.cphi-nearby-details{margin-top:12px;border-top:1px solid var(--cphi-border);padding-top:10px;font-size:13px}.cphi-nearby-selected-heading h4{margin:0;font-size:13px;font-weight:500}.cphi-nearby-selected-heading span{font-size:11px;color:var(--cphi-muted)}.cphi-nearby-details p{margin:4px 0;line-height:1.4}.cphi-nearby-details a{display:inline-flex;gap:5px;align-items:baseline;text-decoration:underline;text-underline-offset:3px}.cphi-nearby-route-button{display:inline-flex;align-items:center;gap:5px;margin-top:8px;font-size:12px;text-decoration:underline;text-underline-offset:3px}@media(max-width:760px){.cphi-nearby-drawing{height:380px}.cphi-nearby-compact .cphi-nearby-drawing{height:320px}}@keyframes cphi-shiny-text-sweep{0%{background-position:150% center}to{background-position:-50% center}}.cphi-shiny-text{display:inline-block;animation-name:cphi-shiny-text-sweep;animation-timing-function:linear;animation-iteration-count:infinite}@media(prefers-reduced-motion:reduce){.cphi-ai-thinking .animate-pulse,.cphi-shiny-text{animation:none!important}.cphi-shiny-text{background-image:none!important;color:var(--cphi-muted, #57534e);-webkit-text-fill-color:currentColor!important}}@media(forced-colors:active){.cphi-shiny-text{background-image:none!important;color:CanvasText;-webkit-text-fill-color:currentColor!important}}.cphi-page,.cphi-tools-panel,.cphi-help-panel{--cphi-ink: #2a2a2a;--cphi-paper: hsl(var(--background));--cphi-muted: color-mix(in srgb, var(--cphi-ink) 70%, var(--cphi-paper));--cphi-surface: hsl(0, 0%, 96%);--cphi-border: hsl(0, 0%, 90%);--cphi-border-strong: #a3a3a2;--cphi-control: #1c1c1c;--cphi-control-hover: #1f2937;--cphi-on-control: hsl(0, 0%, 100%);--cphi-accent: hsl(25, 95%, 53%);--cphi-accent-ink: hsl(25, 85%, 42%);--cphi-accent-surface: hsl(25, 95%, 97%);--cphi-danger: hsl(0, 72%, 38%);--cphi-danger-surface: hsl(0, 72%, 97%);--cphi-danger-border: hsl(0, 72%, 85%)}.cphi-page{--cphi-background: linear-gradient(#0008, #0009), url(/logo/coincidencelabs-hero-poster.webp) center / cover;display:grid;grid-template-rows:56px minmax(0,1fr) auto;height:100dvh;min-height:540px;color:#fff;background:var(--cphi-background)}.cphi-page :focus-visible,:is(.cphi-help-panel,.cphi-tools-panel,.cphi-calendar-settings,.cphi-filter-menu,.cphi-time-picker,.cphi-contact-popover,.cphi-contact-dialog):focus-visible,:is(.cphi-help-panel,.cphi-tools-panel,.cphi-calendar-settings,.cphi-filter-menu,.cphi-time-picker,.cphi-contact-popover,.cphi-contact-dialog) :focus-visible{outline:none}:is(.cphi-page,.cphi-help-panel,.cphi-tools-panel,.cphi-calendar-settings,.cphi-filter-menu,.cphi-time-picker,.cphi-contact-popover,.cphi-contact-dialog) :is(button,input,textarea,select,a,summary,[tabindex]):focus-visible{outline:none;--tw-ring-color: transparent;--tw-ring-offset-color: transparent;--tw-ring-shadow: 0 0 #0000;--tw-ring-offset-shadow: 0 0 #0000}.cphi-header{padding:12px 48px;display:flex;align-items:center;justify-content:space-between;gap:24px}.cphi-header img{height:32px;width:auto;filter:brightness(0) invert(1)}.cphi-help-trigger{color:#ffffffd9;font-size:14px;padding:8px 0}.cphi-help-trigger:hover{color:#fff}.cphi-help-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.cphi-help-panel{position:fixed;top:50%;left:50%;z-index:61;transform:translate(-50%,-50%);width:min(520px,calc(100% - 40px));max-height:calc(100dvh - 40px);overflow-y:auto;padding:36px;border-radius:var(--radius);background:var(--cphi-paper);color:var(--cphi-ink);box-shadow:0 24px 80px #0003}.cphi-help-panel h2{padding-right:24px;font-size:32px;font-weight:500;line-height:1.15;letter-spacing:-.025em}.cphi-help-panel p{margin-top:18px;font-size:16px;line-height:1.7}.cphi-help-panel h3{margin-top:24px;font-size:20px;font-weight:500}.cphi-help-panel h3+p{margin-top:8px}.cphi-help-panel a{text-decoration:underline;text-underline-offset:3px}.cphi-help-close{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:36px;height:36px;border-radius:6px;color:var(--cphi-muted)}.cphi-help-close:hover{background:var(--cphi-surface);color:var(--cphi-ink)}.cphi-layout{width:min(880px,calc(100% - 96px));min-height:0;margin:auto;display:flex;flex-direction:column}.cphi-title{margin:0 0 20px;font-size:32px;font-weight:500;line-height:1.05;letter-spacing:-.035em}.cphi-introduction{max-width:640px;margin:0 auto 32px;text-align:center}.cphi-introduction h1{margin-bottom:14px;font-size:42px;font-weight:500;line-height:1.15;letter-spacing:-.025em;text-wrap:balance}.cphi-introduction p{max-width:570px;margin:0 auto;color:#ffffffd9;font-size:17px;line-height:1.65}.cphi-chat{min-height:0;padding:6px;border-radius:12px;background:#ffffff30;display:flex;flex-direction:column}.cphi-compose-area{flex-shrink:0;background:var(--cphi-paper);color:var(--cphi-ink);border-radius:6px}.cphi-composer{display:flex;align-items:flex-end;gap:20px;padding:24px;border-radius:6px}.cphi-composer textarea{flex:1;min-width:0;resize:none;background:transparent;font:inherit;font-size:17px;line-height:1.65;min-height:66px;outline:none;color:var(--cphi-ink)}.cphi-composer textarea:focus-visible{outline:none}.cphi-composer button{width:40px;height:40px;flex-shrink:0;display:grid;place-items:center;border-radius:6px;background:var(--cphi-control);color:#fff;transition:background-color .15s}.cphi-composer button:not(:disabled):hover{background:var(--cphi-control-hover)}.cphi-page button:disabled{opacity:.4;cursor:not-allowed}.cphi-footer{display:flex;flex-direction:column;align-items:center;gap:4px;padding:24px 48px;text-align:center;font-size:12px;line-height:1.5;color:#ffffffbf}.cphi-footer a{text-decoration:underline;text-underline-offset:3px}.cphi-footer a:hover{color:#fff;text-decoration:underline}.cphi-error{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:16px 24px 0;color:var(--cphi-danger);font-size:13px;line-height:1.5}.cphi-error button{flex-shrink:0;text-decoration:underline;text-underline-offset:3px}.cphi-has-conversation .cphi-layout{margin:22px auto 0}.cphi-has-conversation .cphi-chat{flex:1}.cphi-messages{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;background:var(--cphi-paper);color:var(--cphi-ink);border-radius:6px 6px 0 0;padding:28px 32px 0;scrollbar-width:thin;scrollbar-color:var(--cphi-border-strong) transparent}.cphi-turn{margin-bottom:32px;font-size:16px;line-height:1.75;overflow-wrap:anywhere}.cphi-question{width:-moz-fit-content;width:fit-content;max-width:85%;margin-left:auto;padding:12px 18px;border-radius:6px;background:var(--cphi-surface);white-space:pre-wrap}.cphi-answer{margin-top:24px;max-width:72ch}.cphi-answer-text{white-space:pre-wrap}.cphi-company-results{list-style:none;margin:0;padding:0}.cphi-show-more{display:inline-flex;align-items:center;min-height:44px;margin-top:8px;padding:0;font-size:14px;font-weight:400;text-decoration:underline;text-underline-offset:3px}.cphi-show-more:hover:not(:disabled){color:var(--cphi-accent-ink)}.cphi-show-more:disabled{opacity:.45;cursor:wait}.cphi-company-result{padding:12px 0;border-bottom:1px solid var(--cphi-border)}.cphi-company-result:first-child{padding-top:0}.cphi-company-result:last-child{border-bottom:0;padding-bottom:0}.cphi-company-result h3{font-size:1rem;line-height:1.35;font-weight:500}.cphi-company-meta{margin-top:2px;color:var(--cphi-muted);font-size:13px;line-height:1.4}.cphi-company-summary{margin-top:4px;font-size:14px;line-height:1.45}.cphi-company-actions{display:flex;align-items:center;flex-wrap:wrap;gap:0 16px;margin-top:0;font-size:14px}.cphi-company-actions a,.cphi-company-actions button{display:inline-flex;align-items:center;gap:6px;min-height:44px}.cphi-company-actions a{text-decoration:underline;text-underline-offset:3px}.cphi-company-actions button:hover,.cphi-company-actions a:hover{color:var(--cphi-accent-ink)}.cphi-company-actions span{color:var(--cphi-muted);font-size:13px}.cphi-company-route{margin-top:8px;border:1px solid var(--cphi-border);border-radius:var(--radius);background:var(--cphi-surface);font-size:14px}.cphi-company-route .cphi-inline-heading{padding:0 0 8px;margin-bottom:12px}.cphi-company-route h4{font-size:14px;font-weight:500;line-height:1.4}.cphi-company-stand{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px}.cphi-company-stand select{min-height:44px;padding:6px 12px;background:var(--cphi-paper);border:1px solid var(--cphi-border)}.cphi-thinking{color:var(--cphi-muted)}.cphi-failed{color:var(--cphi-danger)}.cphi-has-conversation .cphi-compose-area{padding:16px 24px 24px;border-radius:0 0 6px 6px}.cphi-has-conversation .cphi-composer{padding:16px;border:1px solid var(--cphi-border)}.cphi-has-conversation .cphi-composer textarea{min-height:52px;font-size:16px}.cphi-has-conversation .cphi-error{padding:0 0 12px}@media(max-width:760px){.cphi-page{min-height:460px}.cphi-header{padding:12px 24px}.cphi-help-trigger{font-size:13px}.cphi-help-panel{padding:28px 24px}.cphi-help-panel p{font-size:15px}.cphi-layout{width:calc(100% - 40px)}.cphi-introduction{margin-bottom:26px}.cphi-introduction h1{font-size:32px;margin-bottom:12px}.cphi-introduction p{font-size:16px}.cphi-composer{padding:18px;gap:12px}.cphi-composer textarea{font-size:16px;min-height:72px}.cphi-composer button{position:relative;width:24px;height:24px;margin-inline-start:2px;border-radius:var(--radius)}.cphi-composer button:after{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}.cphi-composer button svg{width:14px;height:14px}.cphi-footer{padding:22px 20px;font-size:11px}.cphi-has-conversation .cphi-layout{margin-top:16px}.cphi-has-conversation .cphi-title{font-size:26px;margin-bottom:16px}.cphi-has-conversation .cphi-compose-area{padding:12px}.cphi-has-conversation .cphi-composer{padding:12px;gap:8px}.cphi-has-conversation .cphi-composer textarea{min-height:50px}.cphi-has-conversation .cphi-footer{padding-top:14px;padding-bottom:14px}.cphi-messages{padding:20px 18px 0}.cphi-turn{font-size:15px}.cphi-question{max-width:92%;padding:10px 14px}.cphi-error{padding:14px 18px 0;font-size:12px}}@media(prefers-reduced-motion:reduce){.cphi-page *{transition:none!important;scroll-behavior:auto!important}}.cphi-tools-trigger{margin-left:auto;padding:9px 15px;border:1px solid #ffffff90;border-radius:calc(var(--radius) - 2px);font-size:14px;white-space:nowrap}.cphi-tools-trigger:hover{background:#ffffff20}.cphi-sources{margin-top:12px;font-size:13px;color:var(--cphi-muted)}.cphi-sources a{text-decoration:underline;text-underline-offset:3px}.cphi-sources ul{padding-left:18px;list-style:disc}.cphi-tools-panel{position:fixed;inset:4vh max(20px,calc((100vw - 1100px)/2));z-index:61;display:flex;flex-direction:column;border-radius:var(--radius);background:var(--cphi-paper);color:var(--cphi-ink);box-shadow:0 24px 80px #0003}.cphi-tools-heading{padding:28px 32px 20px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.cphi-tools-heading h2{font-size:32px;line-height:1.15;margin-bottom:8px}.cphi-tools-heading p{color:var(--cphi-muted);font-size:15px}.cphi-tools-close{width:40px;height:40px;display:grid;place-items:center;flex-shrink:0}.cphi-tool-tabs{display:flex;gap:6px;padding:0 32px;border-bottom:1px solid var(--cphi-border)}.cphi-tool-tabs button{padding:12px 18px;border-bottom:3px solid transparent;font-size:15px}.cphi-tool-tabs button[aria-pressed=true]{border-bottom-color:var(--cphi-ink);color:var(--cphi-ink);font-weight:700}.cphi-tool-body{overflow-y:auto;overscroll-behavior:contain;padding:28px 32px 40px;min-height:0;font-size:15px;line-height:1.6}.cphi-tool-body>p{margin-bottom:16px}.cphi-tools-panel button:disabled{opacity:.45;cursor:not-allowed}.cphi-tool-body h3{font-weight:700;font-size:18px;line-height:1.35}.cphi-tool-body a{color:var(--cphi-ink);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.cphi-tool-body button{min-height:40px}.cphi-tool-form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:0 0 18px}.cphi-tool-form label{flex:1 1 130px;max-width:100%}.cphi-tool-form .cphi-tool-grow{flex:3 1 240px}.cphi-tool-body label{display:flex;flex-direction:column;gap:5px;color:var(--cphi-muted);font-size:13px}.cphi-tool-body input:not([type=checkbox]),.cphi-tool-body select,.cphi-tool-body textarea{width:100%;min-width:0;min-height:42px;padding:8px 10px;border:1px solid var(--cphi-border);border-radius:calc(var(--radius) - 2px);background:var(--cphi-paper);color:var(--cphi-ink);font:inherit;font-size:16px}.cphi-tool-body textarea{min-height:80px;resize:vertical}.cphi-tool-meta{color:var(--cphi-muted);font-size:13px;margin:8px 0}.cphi-tool-empty{padding:28px 0;max-width:65ch;color:var(--cphi-muted)}.cphi-tool-error{padding:12px 16px;background:var(--cphi-danger-surface);color:var(--cphi-danger);border:1px solid var(--cphi-danger-border);border-radius:calc(var(--radius) - 2px);margin-bottom:18px}.cphi-tool-notice{padding:12px 16px;background:var(--cphi-surface);color:var(--cphi-ink);margin-bottom:18px}.cphi-route-map{margin:24px 0}.cphi-route-map figcaption{font-weight:500;margin-bottom:10px}.cphi-route-map>svg{display:block;width:100%;height:380px;background:var(--cphi-paper);border:1px solid var(--cphi-border)}.cphi-route-place{fill:var(--cphi-surface);stroke:var(--cphi-border-strong)}.cphi-route-path{stroke:var(--cphi-ink)}.cphi-route-map>p{font-size:12px;color:var(--cphi-muted);margin-top:8px}@media(max-width:760px){.cphi-tools-panel{top:12px;right:12px;bottom:12px;left:12px}.cphi-tools-heading{padding:22px 18px 16px}.cphi-tools-heading h2{font-size:26px}.cphi-tool-tabs{padding:0 10px}.cphi-tool-tabs button{padding:12px 10px;font-size:14px}.cphi-tool-body{padding:20px 18px 32px}.cphi-tools-trigger{padding:8px 10px;font-size:13px}.cphi-header{gap:12px}.cphi-header img{max-width:135px;height:auto}.cphi-has-conversation .cphi-help-trigger{display:none}.cphi-route-map>svg{height:300px}}.cphi-programme-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px}.cphi-programme-days,.cphi-programme-views{display:flex;gap:4px}.cphi-programme-days button{padding:10px 14px;border-radius:0;font-size:14px;white-space:nowrap}.cphi-programme-days button[aria-pressed=true]{background:var(--cphi-control);color:var(--cphi-on-control)}.cphi-programme-days button[aria-pressed=false]:hover{background:var(--cphi-surface)}.cphi-programme-views{border:1px solid var(--cphi-border);border-radius:var(--radius);padding:3px}.cphi-programme-views button{display:flex;align-items:center;gap:6px;padding:6px 10px;font-size:13px;border-radius:0}.cphi-programme-views button[aria-pressed=true]{background:var(--cphi-control);color:var(--cphi-on-control)}.cphi-programme-filters{margin-bottom:12px}.cphi-programme-count{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:13px;color:var(--cphi-muted);margin-bottom:16px}.cphi-programme-count button{text-decoration:underline;flex-shrink:0}.cphi-calendar-hint{font-size:12px;color:var(--cphi-muted);margin:0 0 12px;max-width:78ch}.cphi-calendar-navigation{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;margin-bottom:8px}.cphi-calendar-modes{display:inline-flex;gap:3px;padding:3px;border:1px solid var(--cphi-border);border-radius:var(--cphi-radius-control, 6px)}.cphi-calendar-modes button{min-height:44px;padding:6px 12px;border-radius:var(--cphi-radius-control, 6px);font-size:13px;white-space:nowrap}.cphi-calendar-modes button[aria-pressed=true]{background:var(--cphi-control);color:var(--cphi-on-control)}.cphi-calendar-modes button[aria-pressed=false]:hover{background:var(--cphi-surface)}.cphi-calendar-window{font-size:12px;line-height:20px;color:var(--cphi-muted);font-variant-numeric:tabular-nums;margin:0;white-space:nowrap}.cphi-calendar-mode-hint{min-height:36px;font-size:12px;line-height:18px;color:var(--cphi-muted);margin:0 0 10px;max-width:78ch}.cphi-timetable-scroll{overflow-x:scroll;overflow-y:auto;max-height:58vh;min-height:240px;border:1px solid var(--cphi-border);border-radius:var(--radius);overscroll-behavior:none;overflow-anchor:none;scrollbar-width:auto}.cphi-timetable{display:grid;grid-template-rows:92px auto;width:-moz-max-content;width:max-content;min-width:100%;position:relative;isolation:isolate}.cphi-calendar-corner,.cphi-venue-heading{position:sticky;top:0;z-index:3;background:var(--cphi-surface);border-bottom:1px solid var(--cphi-border);min-height:92px;padding:12px}.cphi-calendar-corner,.cphi-venue-heading{box-shadow:0 -2px 0 var(--cphi-surface)}.cphi-calendar-corner{left:0;z-index:4;display:flex;align-items:center;justify-content:center;padding-inline:4px;font-size:11px;color:var(--cphi-muted)}.cphi-venue-heading{border-left:1px solid var(--cphi-border);display:flex;flex-direction:column;justify-content:space-between;gap:4px}.cphi-venue-heading strong{display:flex;gap:8px;font-size:13px;line-height:1.35;max-width:38ch}.cphi-venue-heading strong:before{content:"";flex:0 0 8px;height:8px;margin-top:4px;border-radius:50%;background:var(--event-marker, var(--event-border))}.cphi-venue-heading span{font-size:11px;color:var(--cphi-muted)}.cphi-time-axis{position:sticky;left:0;z-index:2;background:var(--cphi-paper);color:var(--cphi-muted)}.cphi-time-axis span{position:absolute;left:4px;right:4px;text-align:center;white-space:nowrap;font-size:12px;font-variant-numeric:tabular-nums}.cphi-calendar-lane{position:relative;border-left:1px solid var(--cphi-border);background:repeating-linear-gradient(to bottom,var(--cphi-border) 0,var(--cphi-border) 1px,transparent 1px,transparent calc(var(--cphi-hour) / 2 - 1px),var(--cphi-border) calc(var(--cphi-hour) / 2),transparent calc(var(--cphi-hour) / 2 + 1px),transparent var(--cphi-hour))}.cphi-tool-body [data-tone]{--event-fill: var(--cphi-surface);--event-ink: var(--cphi-ink);--event-border: var(--cphi-border-strong)}.cphi-timetable [data-tone="0"]{--event-fill: hsl(25, 95%, 93%);--event-ink: hsl(25, 75%, 30%);--event-border: hsl(25, 85%, 42%)}.cphi-timetable [data-tone="1"]{--event-fill: oklch(94% .03 245);--event-ink: oklch(31% .06 245);--event-border: oklch(56% .08 245)}.cphi-timetable [data-tone="2"]{--event-fill: oklch(94% .035 310);--event-ink: oklch(31% .07 310);--event-border: oklch(56% .09 310)}.cphi-timetable [data-tone="3"]{--event-fill: oklch(94% .035 175);--event-ink: oklch(31% .055 175);--event-border: oklch(56% .07 175)}.cphi-tool-body .cphi-calendar-event{position:absolute;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;min-height:0;padding:8px;overflow:clip;border:.5px solid var(--event-border);border-radius:calc(var(--radius) - 2px);background:var(--event-fill);color:var(--event-ink);text-align:left;line-height:1.3}.cphi-calendar-event-content{position:sticky;top:100px;display:flex;flex-direction:column;gap:4px;flex-shrink:0;max-height:100%;overflow:hidden;background:var(--event-fill)}.cphi-calendar-event:hover{border-color:color-mix(in srgb,var(--event-fill) 55%,var(--event-marker, var(--event-ink)))}.cphi-calendar-event:focus-visible{z-index:1}.cphi-calendar-event strong{font-size:12px;font-weight:700}.cphi-calendar-event-time{display:flex;align-items:center;gap:6px;font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}.cphi-calendar-match{display:inline-flex;flex-shrink:0}.cphi-tool-body .cphi-calendar-event-short{padding:1px 5px}.cphi-calendar-event-short .cphi-calendar-event-content{top:93px;flex-direction:row;gap:5px;align-items:flex-start}.cphi-calendar-event-short strong{font-size:11px}.cphi-event-detail{position:relative;background:var(--cphi-surface);padding:20px;border:1px solid var(--cphi-border);border-radius:var(--radius);margin:0 0 20px}.cphi-event-detail h3{padding-right:28px;margin-bottom:6px}.cphi-event-time{font-size:13px;color:var(--cphi-ink);margin-bottom:6px;font-variant-numeric:tabular-nums}.cphi-event-detail-close{position:absolute;top:8px;right:8px;width:36px;display:grid;place-items:center}.cphi-event-location{display:flex;gap:6px;align-items:baseline;color:var(--cphi-muted);font-size:13px;margin:8px 0}.cphi-event-location svg{align-self:flex-start;flex-shrink:0;margin-top:3px}.cphi-record-actions{display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px 20px;margin-top:10px;font-size:13px}.cphi-record-actions>a{padding:9px 0}.cphi-record-actions>button{text-decoration:underline;text-underline-offset:3px}.cphi-event-route{display:flex;gap:6px;align-items:center;color:var(--cphi-ink)}.cphi-calendar-actions{max-width:100%;font-size:13px}.cphi-calendar-actions>button{min-height:40px;display:flex;align-items:center;gap:6px;text-align:left;text-decoration:underline;text-underline-offset:3px}.cphi-agenda-list{list-style:none;margin:0;padding:0}.cphi-agenda-list>li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:24px;border-top:1px solid var(--cphi-border);padding:24px 0}.cphi-agenda-time{display:flex;flex-direction:column;font-variant-numeric:tabular-nums}.cphi-agenda-time time{font-size:18px;font-weight:700;line-height:1.35}.cphi-agenda-time span{color:var(--cphi-muted);font-size:13px}.cphi-agenda-summary{font-size:14px;color:var(--cphi-muted);max-width:70ch}.cphi-programme-footnote{font-size:12px;color:var(--cphi-muted);margin-top:20px}.cphi-back-programme{display:flex;align-items:center;gap:8px;text-decoration:underline;color:var(--cphi-ink);margin-bottom:14px;font-size:13px}.cphi-route-context{margin-bottom:24px}.cphi-route-context p{margin-top:8px;color:var(--cphi-muted);font-size:13px}.cphi-chat-calendar{margin-top:18px;padding:16px;background:var(--cphi-surface);border-radius:var(--radius);font-size:13px}.cphi-chat-calendar li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:12px 0;border-bottom:1px solid var(--cphi-border)}.cphi-chat-calendar span{display:block;color:var(--cphi-muted)}.cphi-chat-calendar a{text-decoration:underline}@media(max-width:760px){.cphi-programme-days{width:100%;justify-content:space-between}.cphi-programme-days button{padding:9px 8px;font-size:13px}.cphi-programme-toolbar{gap:12px;margin-bottom:16px}.cphi-programme-count{flex-wrap:wrap;gap:0}.cphi-agenda-list>li{grid-template-columns:46px minmax(0,1fr);gap:16px;padding:20px 0}.cphi-tool-body .cphi-agenda-list h3{font-size:16px}.cphi-event-detail{padding:16px}.cphi-timetable-scroll{max-height:55vh}}.cphi-calendar-group-preview{font-size:11px;line-height:1.5;margin-top:8px}.cphi-grouped-events{max-height:280px;overflow-y:auto;margin-top:16px;list-style:none;padding:0}.cphi-grouped-events li+li{border-top:1px solid var(--cphi-border)}.cphi-grouped-events button{width:100%;padding:12px 4px;text-align:left;display:flex;justify-content:space-between;gap:16px;font-size:14px}.cphi-grouped-events button:hover{background:var(--cphi-surface)}.cphi-grouped-events span{font-size:12px;color:var(--cphi-ink);flex-shrink:0}@media(max-width:760px){.cphi-grouped-events button{flex-direction:column;gap:4px}}.cphi-view-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.cphi-view-actions button{display:inline-flex;gap:9px;align-items:center;padding:10px 14px;border:1px solid var(--cphi-border);border-radius:0;background:var(--cphi-surface);color:var(--cphi-ink);font-size:14px;text-align:left}.cphi-view-actions button:hover{background:var(--cphi-surface)}.cphi-programme-match-key{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--cphi-muted);margin:0 0 14px}.cphi-programme-match-key>span{flex:0 0 8px;height:8px;border-radius:50%;background:var(--cphi-accent-ink)}.cphi-programme-match-key>span:has(svg){flex-basis:14px;height:14px;background:none;color:var(--cphi-ink)}.cphi-answer:has(.cphi-inline-view){max-width:none;min-width:0}.cphi-chat-views{display:grid;gap:16px;margin-top:18px}.cphi-answer>.cphi-chat-views:first-child{margin-top:0}.cphi-inline-view{min-width:0;border:1px solid var(--cphi-border);border-radius:var(--radius);background:var(--cphi-paper);overflow:hidden;font-size:14px;line-height:1.5}.cphi-inline-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:12px 16px;border-bottom:1px solid var(--cphi-border)}.cphi-inline-heading h3{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:var(--cphi-ink)}.cphi-inline-heading button{display:flex;align-items:center;gap:6px;padding:6px 0 6px 8px;min-height:40px;color:var(--cphi-ink);font-size:13px}.cphi-inline-body{padding:14px 16px 16px;overflow:visible;font-size:14px}.cphi-inline-view .cphi-programme-toolbar{gap:8px;margin-bottom:6px}.cphi-inline-date{font-size:14px;font-weight:600}.cphi-inline-count{font-size:12px;color:var(--cphi-muted);margin:0 0 10px}.cphi-inline-view .cphi-calendar-hint{display:none}.cphi-inline-view .cphi-timetable-scroll{height:350px;min-height:240px;max-height:50dvh}.cphi-inline-view .cphi-programme-footnote{margin-top:10px;font-size:11px}.cphi-inline-view .cphi-event-detail{margin:12px 0;padding:14px}.cphi-inline-view .cphi-event-detail h3{font-size:16px}.cphi-inline-event-route{margin-top:14px;border-top:1px solid var(--cphi-border)}.cphi-inline-event-route .cphi-inline-heading{padding-left:0;padding-right:0;margin-bottom:12px}.cphi-inline-view .cphi-route-map{margin:14px 0}.cphi-inline-view .cphi-route-map>svg{height:260px}.cphi-route-compact{container:cphi-route / inline-size}.cphi-route-compact .cphi-route-form-compact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px;gap:8px;margin-bottom:10px}.cphi-route-submit-label{display:none}.cphi-route-form-compact label{min-width:0}.cphi-route-form-compact input{text-overflow:ellipsis}.cphi-tool-body .cphi-route-form-compact button[type=submit]{display:grid;place-items:center;width:44px;height:44px;padding:0}.cphi-route-summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px;margin-bottom:8px}.cphi-tool-body .cphi-route-summary h3{font-size:15px;overflow-wrap:anywhere}.cphi-route-summary button{flex-shrink:0;color:var(--cphi-ink);font-size:12px;text-decoration:underline;text-underline-offset:3px;padding:0 4px}.cphi-route-summary-actions{display:flex;align-items:center;gap:12px;margin-left:auto}.cphi-tool-body .cphi-route-clear{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:6px 8px;border-radius:var(--cphi-radius-control);background:transparent;color:var(--cphi-ink);font-size:12px;line-height:20px;text-decoration:underline;text-underline-offset:3px}.cphi-tool-body .cphi-route-clear:not(:disabled):hover{background:var(--cphi-surface)}.cphi-route-form-compact .cphi-route-clear{grid-column:1 / -1;justify-self:end}@container cphi-route (max-width: 480px){.cphi-tool-body .cphi-route-compact .cphi-route-form-compact{grid-template-columns:minmax(0,1fr) auto}.cphi-route-form-compact label{grid-column:1 / -1}.cphi-tool-body .cphi-route-compact .cphi-route-form-compact button[type=submit]{display:inline-flex;gap:8px;justify-self:start;width:auto;height:auto;min-height:44px;padding:8px 12px}.cphi-route-form-compact .cphi-route-submit-label{display:inline}.cphi-tool-body .cphi-route-form-compact .cphi-route-clear{grid-column:2;min-height:44px}}.cphi-inline-view .cphi-route-compact .cphi-route-map{margin:8px 0}.cphi-inline-view .cphi-route-compact .cphi-route-map>svg{height:200px}.cphi-route-compact .cphi-route-map figcaption{font-size:12px;margin-bottom:4px}.cphi-route-note{margin:8px 0 0;font-size:12px;line-height:1.5;color:var(--cphi-muted)}.cphi-route-links{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:11px;color:var(--cphi-muted)}.cphi-route-links details{flex:1;min-width:0}.cphi-route-links summary{width:-moz-fit-content;width:fit-content;padding:10px 0;cursor:pointer;color:var(--cphi-ink)}.cphi-route-links details p{margin-bottom:8px}.cphi-route-links>a{flex-shrink:0;padding:10px 0}.cphi-full-answer{font-size:14px;margin-top:8px}.cphi-full-answer summary{width:-moz-fit-content;width:fit-content;color:var(--cphi-ink);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.cphi-full-answer[open] p{margin-top:12px}@media(max-width:760px){.cphi-inline-heading,.cphi-inline-body{padding:10px}.cphi-inline-view .cphi-programme-toolbar{align-items:flex-start}.cphi-inline-view .cphi-programme-views button{padding:4px 6px}.cphi-inline-view .cphi-timetable-scroll{height:310px;min-height:220px}}.cphi-inline-placeholder{min-height:250px;color:var(--cphi-muted);font-size:13px}.cphi-inline-heading{padding-top:8px;padding-bottom:8px}.cphi-inline-heading h3{font-size:14px}.cphi-inline-view .cphi-programme-toolbar{margin-bottom:10px}.cphi-inline-view .cphi-programme-views button{min-height:40px;padding:4px 8px}.cphi-inline-count{margin:0}.cphi-inline-view .cphi-timetable{grid-template-rows:56px auto}.cphi-inline-view .cphi-calendar-corner,.cphi-inline-view .cphi-venue-heading{min-height:56px;padding:8px;justify-content:center}.cphi-inline-view .cphi-venue-heading span{display:none}.cphi-inline-view .cphi-calendar-event-content{top:64px}.cphi-inline-view .cphi-calendar-event-short .cphi-calendar-event-content{top:57px}.cphi-programme{container:cphi-programme / inline-size}.cphi-agenda-time{white-space:nowrap;overflow-wrap:normal}@container cphi-programme (max-width: 480px){.cphi-agenda-list>li{grid-template-columns:minmax(0,1fr);gap:6px;padding:16px 0}.cphi-agenda-list>li[data-suggested]{border-left:0}.cphi-agenda-time{flex-direction:row;align-items:baseline;gap:6px}.cphi-agenda-time time,.cphi-agenda-time span{font-size:14px;line-height:1.4;font-weight:700;color:var(--cphi-ink)}.cphi-agenda-time span:not(:empty):before{content:"–";margin-right:6px}.cphi-tool-body .cphi-agenda-list h3{font-size:16px;line-height:1.35}.cphi-agenda-list .cphi-event-location{margin:6px 0;line-height:1.45}.cphi-agenda-summary{font-size:13px;line-height:1.45;margin-top:4px}.cphi-record-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;margin-top:8px}.cphi-record-actions>*,.cphi-calendar-actions{min-width:0}.cphi-record-actions>button,.cphi-record-actions>a,.cphi-calendar-actions>button{min-height:44px;display:flex;align-items:center;text-align:left;line-height:1.35}.cphi-record-actions svg{flex-shrink:0}.cphi-programme-toolbar{gap:8px}.cphi-inline-count{width:100%;font-size:12px}.cphi-programme-views{width:100%;gap:4px}.cphi-programme-views button{flex:1;justify-content:center;min-height:44px}.cphi-inline-view .cphi-programme-views button{min-height:44px}}.cphi-programme-search-row{display:flex;align-items:center;gap:8px;margin-bottom:12px}.cphi-programme-search-row>label{flex:1;min-width:0}.cphi-tool-body .cphi-filters-toggle{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 10px;font-size:13px;border:1px solid var(--cphi-border);border-radius:4px;white-space:nowrap}.cphi-filters-toggle[aria-expanded=true]{background:var(--cphi-surface)}.cphi-filter-count{font-size:11px;font-weight:700}.cphi-programme-search-row .cphi-mobile-view-toggle,.cphi-programme-filters[hidden]{display:none}.cphi-programme-filters:not([hidden]){padding:12px;background:var(--cphi-surface);border-radius:4px}.cphi-programme .cphi-agenda-list>li{display:block;padding:0}.cphi-agenda-trigger{display:grid;grid-template-columns:64px minmax(0,1fr) 16px;gap:16px;align-items:start;padding:16px 4px;cursor:pointer;list-style:none}.cphi-agenda-trigger::-webkit-details-marker{display:none}.cphi-agenda-trigger:hover{background:var(--cphi-surface)}.cphi-agenda-overview{min-width:0}.cphi-agenda-overview .cphi-event-location{margin-bottom:0;font-size:12px;line-height:1.4}.cphi-agenda-chevron{margin-top:3px;color:var(--cphi-muted)}.cphi-agenda-entry[open]>summary .cphi-agenda-chevron{transform:rotate(180deg)}.cphi-agenda-content{padding:0 4px 16px 84px}.cphi-agenda-content .cphi-record-actions{margin-top:4px}@container cphi-programme (max-width: 480px){.cphi-agenda-trigger{grid-template-columns:minmax(0,1fr) 16px;gap:6px 8px;padding:14px 2px}.cphi-agenda-time{grid-column:1;grid-row:1}.cphi-agenda-chevron{grid-column:2;grid-row:1}.cphi-agenda-overview{grid-column:1 / -1;grid-row:2}.cphi-agenda-content{padding:0 2px 14px}.cphi-day-weekday{display:none}}@media(max-width:760px){.cphi-tools-panel{top:8px;right:8px;bottom:8px;left:8px}.cphi-tools-heading{padding:12px 16px 4px;align-items:center;gap:8px}.cphi-tools-heading h2{font-size:24px;margin-bottom:0}.cphi-tools-heading p{display:none}.cphi-tools-close{width:44px;height:44px}.cphi-tool-tabs{padding:0 16px;gap:20px}.cphi-tool-tabs button{min-height:44px;padding:8px 0;font-size:14px}.cphi-tools-panel>.cphi-tool-body{padding:12px 16px 24px}.cphi-tools-panel .cphi-programme-toolbar{margin-bottom:12px}.cphi-tools-panel .cphi-programme-views{display:none}.cphi-programme-days{gap:4px}.cphi-programme-days button{flex:1;min-width:0;min-height:44px;padding:8px 4px}.cphi-tool-body .cphi-mobile-view-toggle{display:grid;place-items:center;flex:0 0 44px;min-height:44px;border:1px solid var(--cphi-border);border-radius:4px}.cphi-programme-count{margin-bottom:8px;font-size:12px}.cphi-programme-count button{min-height:44px}.cphi-tools-panel .cphi-calendar-hint{font-size:11px;line-height:1.4}.cphi-has-conversation .cphi-layout{width:calc(100% - 24px);margin-top:12px}.cphi-has-conversation .cphi-title{font-size:24px;margin:0 4px 12px}.cphi-has-conversation .cphi-chat{padding:4px;border-radius:10px}.cphi-has-conversation .cphi-messages{padding:16px 12px 0}.cphi-has-conversation .cphi-compose-area{padding:10px}.cphi-has-conversation .cphi-composer{padding:10px 12px;align-items:center}.cphi-has-conversation .cphi-composer textarea{min-height:40px;line-height:1.5}.cphi-has-conversation .cphi-composer button{width:40px;height:40px}.cphi-has-conversation .cphi-composer button:after{top:-2px;right:-2px;bottom:-2px;left:-2px}.cphi-has-conversation .cphi-composer button svg{width:20px;height:20px}.cphi-has-conversation .cphi-footer{padding:12px 16px}.cphi-header{padding-inline:16px}.cphi-header img{max-width:115px}.cphi-tools-trigger{min-height:44px;display:flex;align-items:center}.cphi-chat-views{margin-top:12px}.cphi-inline-heading{flex-wrap:nowrap;gap:4px;padding:4px 10px}.cphi-inline-heading h3{min-width:0;gap:6px;line-height:1.35}.cphi-inline-heading h3 svg{flex-shrink:0;width:16px}.cphi-inline-heading button{min-height:44px;flex-shrink:0}.cphi-inline-body{padding:10px}.cphi-inline-view .cphi-programme-toolbar{margin-bottom:12px}.cphi-inline-view .cphi-event-detail{padding:12px}.cphi-inline-view .cphi-event-detail-close{min-width:44px;min-height:44px;top:2px;right:2px}.cphi-inline-view .cphi-event-detail h3{padding-right:32px}}@font-face{font-family:CPHI Geist;src:url(/fonts/geist-variable.woff) format("woff");font-weight:100 900;font-style:normal;font-display:swap}.cphi-chat,.cphi-tools-panel,.cphi-calendar-settings,.cphi-filter-menu,.cphi-time-picker,.cphi-calendar-toast,.cphi-contact-popover,.cphi-contact-dialog{--selected-font: "CPHI Geist", Arial, Helvetica, sans-serif;--cphi-ink: #171717;--cphi-paper: #fff;--cphi-muted: #57534e;--cphi-placeholder: #a8a29e;--cphi-surface: #f5f5f4;--cphi-border: #e7e5e4;--cphi-border-strong: #a8a29e;--cphi-control: #292524;--cphi-control-hover: #57534e;--cphi-on-control: #fff;--cphi-danger: #b91c1c;--cphi-danger-surface: #fef2f2;--cphi-danger-border: #fecaca;--cphi-radius-control: 6px;--cphi-radius-surface: 8px;--cphi-category-peach: #d59a6f;--cphi-category-blue: #5590d9;--cphi-category-plum: #e4cfde;--cphi-category-mint: #8fd6b4;font-family:var(--selected-font);-webkit-font-smoothing:antialiased}.cphi-tools-overlay{background:#0003;-webkit-backdrop-filter:none;backdrop-filter:none}.cphi-tools-panel{top:max(64px,4vh);border-radius:var(--cphi-radius-surface);box-shadow:0 0 0 4px #ffffff30,0 24px 80px #0003}.cphi-tools-heading h2{font-family:inherit;font-size:24px;line-height:1.25;font-weight:400;letter-spacing:-.025em}.cphi-tools-heading p{font-size:14px}.cphi-tool-tabs button{border-bottom-width:2px;color:var(--cphi-muted)}.cphi-tool-tabs button[aria-pressed=true]{font-weight:600}.cphi-tools-close{border-radius:var(--cphi-radius-control)}.cphi-tools-close:hover{background:var(--cphi-surface)}.cphi-turn{line-height:1.6}.cphi-question{border-radius:var(--cphi-radius-surface)}.cphi-composer{background:var(--cphi-surface);border-radius:var(--cphi-radius-surface)}.cphi-has-conversation .cphi-composer{border-color:var(--cphi-surface)}.cphi-composer button{border-radius:var(--cphi-radius-control)}.cphi-chat :is(input,textarea)::-moz-placeholder,.cphi-tools-panel :is(input,textarea)::-moz-placeholder,:is(.cphi-contact-popover,.cphi-contact-dialog) :is(input,textarea)::-moz-placeholder{color:var(--cphi-placeholder);opacity:1}.cphi-chat :is(input,textarea)::placeholder,.cphi-tools-panel :is(input,textarea)::placeholder,:is(.cphi-contact-popover,.cphi-contact-dialog) :is(input,textarea)::placeholder{color:var(--cphi-placeholder);opacity:1}.cphi-chat :is(input:not([type=checkbox]),select,textarea):focus,.cphi-tools-panel :is(input:not([type=checkbox]),select,textarea):focus,:is(.cphi-contact-popover,.cphi-contact-dialog) :is(input:not([type=checkbox]),select,textarea):focus{outline:none;outline-offset:0;box-shadow:none;border-color:var(--cphi-border)}.cphi-inline-view,.cphi-timetable-scroll,.cphi-event-detail,.cphi-company-route,.cphi-chat-calendar,.cphi-programme-views,.cphi-programme-filters:not([hidden]){border-radius:var(--cphi-radius-surface)}.cphi-inline-heading{background:var(--cphi-surface)}.cphi-inline-heading h3,.cphi-tool-body h3{font-weight:600}.cphi-programme-days button,.cphi-programme-views button,.cphi-tool-body .cphi-filters-toggle,.cphi-tool-body .cphi-mobile-view-toggle,.cphi-view-actions button,.cphi-tool-form>button,.cphi-tool-body .cphi-calendar-event,.cphi-tool-body input:not([type=checkbox]),.cphi-tool-body select,.cphi-tool-body textarea,.cphi-company-stand select{border-radius:var(--cphi-radius-control)}.cphi-tool-form>button{background:var(--cphi-control);color:var(--cphi-on-control)}.cphi-tool-form>button:not(:disabled):hover{background:var(--cphi-control-hover)}.cphi-route-map>svg{border-radius:var(--cphi-radius-control)}[data-sonner-toast].cphi-calendar-toast{background:var(--cphi-paper);color:var(--cphi-ink);border-color:var(--cphi-border);border-radius:var(--cphi-radius-surface)}.cphi-timetable [data-tone="0"]{--cphi-category: var(--cphi-category-peach);--event-fill: color-mix(in srgb, var(--cphi-category) 28%, white)}.cphi-timetable [data-tone="1"]{--cphi-category: var(--cphi-category-blue);--event-fill: color-mix(in srgb, var(--cphi-category) 18%, white)}.cphi-timetable [data-tone="2"]{--cphi-category: var(--cphi-category-plum);--event-fill: color-mix(in srgb, var(--cphi-category) 55%, white)}.cphi-timetable [data-tone="3"]{--cphi-category: var(--cphi-category-mint);--event-fill: color-mix(in srgb, var(--cphi-category) 28%, white)}.cphi-timetable [data-tone]{--event-ink: var(--cphi-ink);--event-marker: color-mix(in srgb, var(--cphi-category) 50%, var(--cphi-control));--event-border: color-mix(in srgb, var(--event-fill) 70%, var(--event-marker))}@media(max-width:760px){.cphi-tools-panel{inset:max(64px,calc(env(safe-area-inset-top) + 16px)) max(16px,calc(env(safe-area-inset-right) + 8px)) max(16px,calc(env(safe-area-inset-bottom) + 8px)) max(16px,calc(env(safe-area-inset-left) + 8px))}.cphi-tools-heading{padding-top:8px}.cphi-tools-heading h2{font-size:20px}.cphi-tools-panel>.cphi-tool-body{padding-bottom:max(24px,env(safe-area-inset-bottom))}.cphi-tool-body input:not([type=checkbox]),.cphi-tool-body select,.cphi-tool-body textarea,.cphi-company-stand select{min-height:44px;font-size:16px}.cphi-tool-body button:not(.cphi-calendar-event),.cphi-inline-heading button,.cphi-calendar-actions>button,.cphi-route-links>a,.cphi-route-links summary{min-height:44px}.cphi-turn{font-size:16px}.cphi-composer button{width:40px;height:40px}.cphi-composer button:after{top:-2px;right:-2px;bottom:-2px;left:-2px}.cphi-composer button svg{width:20px;height:20px}}html:has(.cphi-page),body:has(.cphi-page){background:#000;color-scheme:dark}.cphi-chat,.cphi-help-panel,.cphi-tools-panel{color-scheme:light}.cphi-page .cphi-layout{width:min(1100px,calc(100% - 96px));height:100%;margin:0 auto;padding-top:12px}.cphi-page .cphi-app-shell{flex:1;border-top-left-radius:0;background:#fff3}.cphi-header-title{margin:0;font-size:20px;font-weight:400;line-height:24px;text-align:right}.cphi-header-title span{white-space:nowrap}.cphi-app-toolbar{display:flex;flex-shrink:0;align-items:flex-end;justify-content:space-between;gap:8px}.cphi-app-toolbar .cphi-help-trigger{flex-shrink:0;white-space:nowrap}.cphi-app-navigation{flex-shrink:0;display:flex;align-self:flex-end;max-width:100%}.cphi-page-switch{display:inline-flex;max-width:100%;gap:2px;padding:3px 3px 0;border-radius:var(--radius) var(--radius) 0 0;background:#fff3}.cphi-page-switch button{position:relative;flex:1 1 auto;min-width:0;min-height:32px;padding:4px 12px;border-radius:calc(var(--radius) - 2px);color:#fff;font-size:16px;font-weight:500;line-height:24px;white-space:nowrap;transition:background-color .15s,color .15s}.cphi-page-switch button:hover{background:#ffffff1a}.cphi-page-switch button[aria-selected=true]{background:#fff;color:#2a2a2a;box-shadow:0 4px 6px #0000001a}.cphi-page-switch button[aria-selected=true]:hover{background:#fffc}.cphi-app-panels{flex:1;display:flex;min-width:0;min-height:0;overflow:hidden;border-radius:8px;background:var(--cphi-paper);color:var(--cphi-ink)}.cphi-app-shell [role=tabpanel][hidden]{display:none}.cphi-chat-page{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}.cphi-app-tool-page{flex:1;min-width:0;padding-top:12px}.cphi-chat-starters{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;padding:24px 24px 0}.cphi-starter-content{margin-top:auto}.cphi-starter-content h2{margin:0 0 8px;color:var(--cphi-muted);font-size:14px;font-weight:500;line-height:20px}.cphi-starter-content ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.cphi-starter-content li{min-width:0}.cphi-starter-content button{display:block;min-height:44px;width:100%;padding:10px 12px;border:0;border-radius:6px;color:var(--cphi-ink);font-size:14px;line-height:20px;text-align:left;transition:background-color .15s}.cphi-starter-content button:hover:not(:disabled){background:var(--cphi-surface)}.cphi-app-shell .cphi-messages{border-radius:0}.cphi-app-shell .cphi-compose-area{padding:16px 24px 24px}.cphi-app-shell .cphi-composer{padding:16px}@media(max-width:760px),(max-width:1024px)and (pointer:coarse){.cphi-page[data-view=chat] .cphi-app-panels{overflow:clip}.cphi-page .cphi-messages,.cphi-page .cphi-chat-starters{overflow-anchor:none}.cphi-page .cphi-header{padding-block:8px}.cphi-header-title{font-size:16px;line-height:20px}.cphi-header-title span{display:block}.cphi-page .cphi-layout{width:calc(100% - 24px);padding-top:8px}.cphi-page .cphi-app-shell{padding:4px;border-radius:0 10px 10px}.cphi-page .cphi-help-trigger{display:inline-flex;align-items:center;min-height:44px}.cphi-page-switch button{padding:4px 10px;font-size:15px}.cphi-page-switch button:after{content:"";position:absolute;top:-6px;right:0;bottom:-6px;left:0}.cphi-app-tool-page{padding:8px 12px 20px}.cphi-app-tool-page .cphi-programme-toolbar{margin-bottom:12px}.cphi-app-tool-page .cphi-programme-views{display:none}.cphi-page .cphi-compose-area{padding:10px}.cphi-page .cphi-composer{padding:10px 12px;gap:8px;align-items:center}.cphi-page .cphi-composer textarea{min-height:40px;font-size:16px;line-height:1.5}.cphi-chat-starters{padding:16px 10px 0}.cphi-starter-content ul{flex-direction:column}}@media(max-width:760px){.cphi-page{height:auto;min-height:100dvh;grid-template-rows:56px minmax(404px,calc(100dvh - 56px)) auto}.cphi-page .cphi-footer{padding:20px 16px max(24px,env(safe-area-inset-bottom));background:#000}.cphi-page[data-view=chat] :is(.cphi-messages,.cphi-chat-starters){overscroll-behavior-y:auto}}@media(max-width:360px){.cphi-page-switch button{padding-inline:8px}}.cphi-programme-display{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.cphi-programme-display .cphi-programme-count{flex:1;min-width:0;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:4px 12px;margin:0;font-size:12px;line-height:18px}.cphi-programme-display .cphi-programme-count p{display:flex;flex-wrap:wrap;gap:0 4px}.cphi-programme-display .cphi-programme-count p span{white-space:nowrap}.cphi-programme-timezone:before{content:"·";margin-right:4px}.cphi-programme .cphi-programme-views{display:inline-flex;flex:0 0 auto;width:auto;gap:2px;padding:2px;border:0;border-radius:var(--cphi-radius-control);background:var(--cphi-surface)}.cphi-programme .cphi-programme-views button{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:0;border-radius:4px;color:var(--cphi-muted)}.cphi-programme .cphi-programme-views button[aria-pressed=true]{background:var(--cphi-paper);color:var(--cphi-ink);box-shadow:0 1px 3px #00000014}.cphi-programme .cphi-programme-views button:hover{color:var(--cphi-ink)}.cphi-programme .cphi-calendar-navigation{flex-wrap:nowrap;gap:8px;margin-bottom:8px}.cphi-programme .cphi-calendar-window{display:flex;flex-wrap:wrap;align-items:center;gap:0 8px;min-width:0;white-space:normal;line-height:18px}.cphi-calendar-window span{white-space:nowrap}.cphi-calendar-window span+span:before{content:"·";margin-right:8px}.cphi-programme .cphi-calendar-mode-trigger{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;flex-shrink:0;min-height:44px;padding:0 4px 0 8px;border-radius:var(--cphi-radius-control);color:var(--cphi-muted);font-size:12px;line-height:18px;white-space:nowrap}.cphi-calendar-mode-trigger:hover,.cphi-calendar-mode-trigger[data-state=open]{background:var(--cphi-surface);color:var(--cphi-ink)}.cphi-calendar-settings{z-index:50;width:min(280px,calc(100vw - 24px));max-height:var(--radix-popover-content-available-height);overflow-y:auto;padding:8px;border:1px solid var(--cphi-border);border-radius:var(--cphi-radius-surface);background:var(--cphi-paper);color:var(--cphi-ink);box-shadow:0 4px 16px #00000014}.cphi-calendar-settings-title{margin:0;padding:4px 8px 8px;color:var(--cphi-muted);font-size:12px;font-weight:500;line-height:18px}.cphi-calendar-settings button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;padding:8px;border-radius:var(--cphi-radius-control);text-align:left}.cphi-calendar-settings button>span{display:flex;flex-direction:column;gap:4px}.cphi-calendar-settings strong{font-size:13px;font-weight:500;line-height:18px}.cphi-calendar-settings button span span{color:var(--cphi-muted);font-size:12px;line-height:18px}.cphi-calendar-settings button>svg{flex-shrink:0;visibility:hidden}.cphi-calendar-settings button[aria-pressed=true]>svg{visibility:visible}.cphi-calendar-settings button:hover,.cphi-calendar-settings button:focus-visible{background:var(--cphi-surface);outline:none}@container cphi-programme (max-width: 300px){.cphi-programme .cphi-calendar-window,.cphi-programme-display .cphi-programme-count p{flex-direction:column;align-items:flex-start}.cphi-calendar-window span+span:before,.cphi-programme-timezone:before{display:none}}.cphi-tool-body .cphi-programme .cphi-programme-filter-reset{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-width:44px;min-height:44px;padding:4px;color:var(--cphi-ink);font-size:12px;line-height:20px;text-decoration:underline;text-underline-offset:3px;border-radius:var(--cphi-radius-control)}.cphi-programme-filter-reset:hover{background:var(--cphi-surface)}.cphi-programme .cphi-agenda-filters:not([hidden]){display:grid;grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr));gap:12px;padding:12px;background:var(--cphi-surface);border-radius:var(--cphi-radius-surface)}.cphi-filter-field{display:flex;flex-direction:column;gap:6px;min-width:0}.cphi-filter-field-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:24px}.cphi-filter-field>label,.cphi-filter-field-heading>label{color:var(--cphi-muted);font-size:13px;font-weight:500;line-height:18px}.cphi-filter-field>label{justify-content:center;min-height:24px}.cphi-programme .cphi-filter-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--cphi-border);border-radius:var(--cphi-radius-control);background:var(--cphi-paper);color:var(--cphi-ink);font-size:14px;line-height:20px;text-align:left}.cphi-filter-trigger>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cphi-filter-trigger svg{flex-shrink:0;color:var(--cphi-muted)}.cphi-programme .cphi-filter-trigger[aria-invalid=true]{border-color:var(--cphi-danger)}.cphi-programme .cphi-time-trigger{font-variant-numeric:tabular-nums}.cphi-programme .cphi-time-trigger[data-empty]{color:var(--cphi-muted)}.cphi-filter-menu,.cphi-time-picker{z-index:50;padding:4px;border:1px solid var(--cphi-border);border-radius:var(--cphi-radius-control);background:var(--cphi-paper);color:var(--cphi-ink);box-shadow:0 4px 16px #00000014}.cphi-filter-menu{width:var(--radix-select-trigger-width);max-width:calc(100vw - 24px);max-height:min(320px,var(--radix-select-content-available-height));overflow:hidden}.cphi-filter-option{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:10px 12px;border-radius:var(--cphi-radius-control);font-size:14px;line-height:20px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cphi-filter-option>span:first-child{overflow-wrap:anywhere}.cphi-filter-option>span:last-child:has(svg){flex-shrink:0}.cphi-filter-option[data-highlighted],.cphi-filter-option[data-state=checked]{outline:none;background:var(--cphi-surface)}.cphi-filter-option[data-state=checked]{font-weight:500}.cphi-filter-scroll{display:flex;align-items:center;justify-content:center;min-height:28px;color:var(--cphi-muted)}.cphi-time-picker{width:min(264px,calc(100vw - 24px));max-height:var(--radix-popover-content-available-height);overflow-y:auto;padding:12px}.cphi-time-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;line-height:18px}.cphi-time-picker-heading strong{font-size:14px;font-weight:500}.cphi-time-picker-heading>span{color:var(--cphi-muted);font-size:12px}.cphi-time-columns{display:flex;gap:12px}.cphi-time-column{flex:1;min-width:0}.cphi-time-column legend{padding:0 0 8px;color:var(--cphi-muted);font-size:12px;line-height:18px}.cphi-time-options{position:relative;height:176px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--cphi-border-strong) transparent}.cphi-time-option{display:flex;align-items:center;justify-content:center;height:44px;border:1px solid transparent;border-radius:var(--cphi-radius-control);color:var(--cphi-muted);font-size:16px;font-variant-numeric:tabular-nums;cursor:pointer}.cphi-time-option:hover{background:var(--cphi-surface)}.cphi-time-option:has(input:checked){background:var(--cphi-surface);color:var(--cphi-ink);font-weight:600}.cphi-time-option:has(input:focus-visible){background:var(--cphi-surface)}.cphi-time-picker-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px}.cphi-time-picker-actions button{min-height:44px;padding:8px 12px;border-radius:var(--cphi-radius-control);font-size:13px;line-height:20px}.cphi-time-picker-actions button:first-child{color:var(--cphi-muted)}.cphi-time-picker-actions button:first-child:hover{background:var(--cphi-surface)}.cphi-time-picker-actions .cphi-time-apply{background:var(--cphi-control);color:var(--cphi-on-control)}.cphi-time-picker-actions .cphi-time-apply:hover{background:var(--cphi-control-hover)}@container cphi-programme (max-width: 600px){.cphi-programme .cphi-agenda-filters:not([hidden]){grid-template-columns:repeat(2,minmax(0,1fr))}.cphi-filter-venue{grid-column:1 / -1}}.cphi-page .cphi-chat .cphi-composer{padding:8px 8px 8px 12px;gap:8px;align-items:flex-end}.cphi-page .cphi-chat .cphi-composer textarea{height:24px;min-height:24px;margin:4px 0;padding:0;font-size:16px;line-height:24px;overflow-y:hidden;scrollbar-width:thin}.cphi-page .cphi-chat .cphi-composer button{position:relative;width:32px;height:32px;margin:0}.cphi-page .cphi-chat .cphi-composer button:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px}.cphi-page .cphi-chat .cphi-composer button svg{width:18px;height:18px}@media(max-width:760px),(max-width:1024px)and (pointer:coarse){.cphi-page .cphi-chat .cphi-composer{align-items:center}.cphi-page .cphi-chat .cphi-composer button{width:44px;height:44px;align-self:flex-end}.cphi-page .cphi-chat .cphi-composer button:after{top:0;right:0;bottom:0;left:0}}@media(max-width:760px){.cphi-tool-body button:not(.cphi-calendar-event),.cphi-inline-heading button,.cphi-calendar-actions>button,.cphi-route-links>a,.cphi-route-links summary{min-height:36px}.cphi-tool-body input:not([type=checkbox]),.cphi-tool-body select{min-height:36px;padding:6px 10px;font-size:16px;line-height:22px}.cphi-programme-days button{padding:6px 8px;line-height:20px}.cphi-tool-body .cphi-filters-toggle{padding:0 10px}.cphi-programme-toolbar{gap:8px;margin-bottom:12px}.cphi-programme .cphi-programme-views button{flex-basis:36px;width:36px;height:36px;min-height:36px;padding:0}.cphi-programme .cphi-calendar-mode-trigger{min-height:36px}.cphi-programme .cphi-filter-trigger,.cphi-filter-option{min-height:36px;padding:7px 10px}.cphi-time-options{height:144px}.cphi-time-option{height:36px}.cphi-time-picker-actions button{min-height:36px;padding:6px 10px}.cphi-tool-form{gap:10px;margin-bottom:14px}.cphi-tool-form>button[type=submit]{height:auto;min-height:36px;padding:6px 12px;line-height:24px}.cphi-route-compact .cphi-route-form-compact{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 36px}.cphi-tool-body .cphi-route-form-compact button[type=submit]{width:36px;height:36px;padding:0}.cphi-inline-heading button{padding-top:4px;padding-bottom:4px}.cphi-record-actions>button,.cphi-record-actions>a,.cphi-calendar-actions>button{min-height:36px;padding-top:6px;padding-bottom:6px}.cphi-route-links>a,.cphi-route-links summary{padding-top:6px;padding-bottom:6px}.cphi-inline-view .cphi-event-detail-close{min-width:36px;min-height:36px}}.cphi-tool-body .cphi-expandable-event{isolation:isolate;z-index:0;height:var(--cphi-slot-height);padding:0}.cphi-tool-body .cphi-expandable-event .cphi-calendar-event-toggle{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;flex:0 0 auto;width:100%;height:100%;min-height:0;padding:8px;border-radius:inherit;text-align:left;line-height:1.3;color:inherit}.cphi-tool-body .cphi-calendar-event-short .cphi-calendar-event-toggle{padding:1px 5px}.cphi-tool-body .cphi-expandable-event[data-expanded]{z-index:1;transform:translateZ(0);height:auto;min-height:var(--cphi-slot-height);max-width:calc(100cqw - 52px);overflow:clip;box-shadow:0 2px 8px #00000014}.cphi-tool-body .cphi-expandable-event[data-expanded] .cphi-calendar-event-toggle{height:auto;padding:10px}.cphi-expandable-event[data-expanded] .cphi-calendar-event-content{position:relative;top:auto;flex-direction:column;align-items:stretch;max-height:none;padding-right:20px;overflow:visible}.cphi-expandable-event[data-expanded] strong{overflow-wrap:anywhere}.cphi-calendar-collapse{position:absolute;top:0;right:0;transform:rotate(180deg)}.cphi-calendar-event-details{padding:0 10px 10px;font-size:12px;line-height:1.5}.cphi-calendar-event-details .cphi-event-location{margin:0;font-size:12px}.cphi-calendar-event-details .cphi-record-actions{display:flex;flex-wrap:wrap;gap:0 12px;margin-top:8px;font-size:12px}.cphi-calendar-event-details .cphi-record-actions>button,.cphi-calendar-event-details .cphi-record-actions>a,.cphi-calendar-event-details .cphi-calendar-actions>button{min-height:36px;padding:6px 0;line-height:20px}.cphi-calendar-event-details .cphi-calendar-actions{font-size:inherit}.cphi-calendar-description{margin-top:8px;max-height:120px;overflow-y:auto;overflow-wrap:anywhere}.cphi-calendar-entry{margin-top:8px;border-top:1px solid var(--event-border)}.cphi-calendar-entry>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:36px;padding:8px 0;cursor:pointer;list-style:none;font-weight:600}.cphi-calendar-entry>summary::-webkit-details-marker{display:none}.cphi-calendar-entry>summary svg{flex-shrink:0}.cphi-calendar-entry[open]>summary svg{transform:rotate(180deg)}.cphi-app-panels{position:relative}.cphi-page .cphi-app-tool-page{margin-bottom:80px;scroll-padding-bottom:20px}.cphi-team-contact-floating{position:absolute;z-index:10;right:20px;bottom:20px;pointer-events:none}.cphi-team-contact-inline{display:flex;justify-content:flex-end;margin-top:16px}.cphi-page .cphi-team-contact{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;max-width:100%;padding:6px 12px;border:1px solid transparent;border-radius:var(--cphi-radius-control, 6px);background:var(--cphi-control);color:var(--cphi-on-control);box-shadow:0 3px 12px #00000014;font-size:14px;font-weight:500;line-height:22px;text-decoration:none;pointer-events:auto;transition:background-color .15s}.cphi-page .cphi-team-contact:hover{background:var(--cphi-control-hover)}.cphi-team-contact svg{flex-shrink:0}@media(max-width:760px){.cphi-team-contact-floating{right:12px;bottom:max(12px,env(safe-area-inset-bottom))}.cphi-page .cphi-app-tool-page{margin-bottom:max(68px,calc(env(safe-area-inset-bottom) + 56px))}}
