/* All rules are scoped to the reporting workspace. */
#ptwTouchExporter{--tr-navy:#13294b;--tr-blue:#4b9cd3;--tr-gold:#cbb677;color:var(--tr-navy);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-width:0}
#ptwTouchExporter *{box-sizing:border-box}
#ptwTouchExporter .tr-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
#ptwTouchExporter .tr-eyebrow{color:#6b633d;font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
#ptwTouchExporter h2{font:800 26px/1.2 Inter,Arial,sans-serif;color:#13294b;margin:6px 0}
#ptwTouchExporter p{font-size:12px;line-height:1.6;color:#52657a;margin:5px 0}
#ptwTouchExporter button,#ptwTouchExporter select,#ptwTouchExporter input{font:inherit;color:#13294b}
#ptwTouchExporter button{cursor:pointer;border:1px solid #cbd7e3;background:#fff;border-radius:7px;padding:8px 11px;font-size:12px;font-weight:700;white-space:nowrap}
#ptwTouchExporter button:disabled{opacity:.5;cursor:wait}
#ptwTouchExporter button:focus-visible,#ptwTouchExporter input:focus-visible,#ptwTouchExporter select:focus-visible,#ptwTouchExporter summary:focus-visible{outline:3px solid #4b9cd3;outline-offset:2px}
#ptwTouchExporter button.tr-gold{background:#cbb677;border-color:#cbb677}
#ptwTouchExporter .tr-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
#ptwTouchExporter .tr-filters{background:#fff;border:1px solid #dce4ed;border-radius:12px;padding:14px;display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px;margin:0 0 10px}
#ptwTouchExporter label.tr-field{display:grid;gap:5px;font-size:11px;font-weight:750;min-width:140px;flex:1}
#ptwTouchExporter select,#ptwTouchExporter input[type=date],#ptwTouchExporter input[type=search]{width:100%;border:1px solid #cbd7e3;border-radius:6px;background:#fff;padding:8px;font-size:12px;min-width:0}
#ptwTouchExporter .tr-picker{position:relative;flex:1;min-width:180px}
#ptwTouchExporter .tr-picker>summary{list-style:none;font-size:11px;font-weight:750;cursor:pointer;display:grid;gap:5px}
#ptwTouchExporter .tr-picker>summary span{display:block;border:1px solid #cbd7e3;border-radius:6px;padding:8px;font-size:12px;font-weight:600}
#ptwTouchExporter .tr-picker-panel{position:absolute;z-index:30;top:calc(100% + 5px);left:0;width:min(340px,80vw);padding:12px;border:1px solid #cbd7e3;border-radius:10px;background:#fff;box-shadow:0 12px 32px #13294b20}
#ptwTouchExporter .tr-options{max-height:230px;overflow:auto;margin-top:8px}
#ptwTouchExporter .tr-options label{display:flex;align-items:center;gap:8px;padding:7px 2px;font-size:12px;cursor:pointer}
#ptwTouchExporter .tr-options small{display:block;color:#63748a;font-size:10px;margin-top:3px}
#ptwTouchExporter input[type=checkbox]{accent-color:#2374a9;width:17px;height:17px;flex-shrink:0}
#ptwTouchExporter .tr-assigned{display:flex;align-items:center;gap:6px;font-size:11px;margin:8px 0}
#ptwTouchExporter .tr-range{display:flex;gap:8px;flex-basis:100%}
#ptwTouchExporter [hidden]{display:none!important}
#ptwTouchExporter .tr-context{display:flex;flex-wrap:wrap;gap:5px 15px;font-size:11px;color:#52657a;margin:10px 0 14px;line-height:1.5}
#ptwTouchExporter .tr-metrics{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px;margin:12px 0 18px}
#ptwTouchExporter .tr-metric{padding:17px 18px;border-radius:11px;background:#fff;border:1px solid #dce4ed}
#ptwTouchExporter .tr-metric:first-child{background:#13294b;color:#fff;border-color:#13294b;box-shadow:inset 4px 0 #cbb677}
#ptwTouchExporter .tr-metric small{font-size:10px;letter-spacing:.06em;text-transform:uppercase;font-weight:750}
#ptwTouchExporter .tr-metric strong{display:block;font-size:30px;line-height:1.2;margin-top:7px;font-variant-numeric:tabular-nums}
#ptwTouchExporter .tr-surface{background:#fff;border:1px solid #dce4ed;border-radius:12px;overflow:hidden;margin-bottom:14px}
#ptwTouchExporter .tr-surface-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;padding:13px 16px;border-bottom:1px solid #e2e8f0}
#ptwTouchExporter h3{font:750 14px Inter,Arial,sans-serif;margin:0;color:#13294b}
#ptwTouchExporter .tr-table-scroll{overflow:auto;max-height:550px;scrollbar-gutter:stable}
#ptwTouchExporter table{border-collapse:collapse;width:100%;font-size:12px;min-width:620px;font-variant-numeric:tabular-nums}
#ptwTouchExporter th,#ptwTouchExporter td{padding:11px 13px;border-bottom:1px solid #edf1f5;text-align:right;vertical-align:top}
#ptwTouchExporter th{position:sticky;top:0;z-index:1;background:#f4f7fa;font-weight:750}
#ptwTouchExporter #trSummary th:first-child,#ptwTouchExporter #trSummary td:first-child{text-align:left;min-width:170px}
#ptwTouchExporter #trSummary th:nth-child(2),#ptwTouchExporter #trSummary td:nth-child(2){min-width:100px;font-weight:800}
#ptwTouchExporter th button{border:0;background:transparent;padding:2px;font-size:11px}
#ptwTouchExporter tbody tr:nth-child(even){background:#fafcfe}
#ptwTouchExporter tfoot{font-weight:800;background:#edf3f9;position:sticky;bottom:0}
#ptwTouchExporter .tr-name{border:0;background:transparent;padding:0;text-align:left;white-space:normal;color:#246b9a}
#ptwTouchExporter .tr-badge{display:inline-block;min-width:24px;padding:3px 6px;border-radius:5px;font-weight:750}
#ptwTouchExporter .tr-Texts{background:#e9f2fc;color:#225d95}#ptwTouchExporter .tr-Calls{background:#e9f5f1;color:#27664f}#ptwTouchExporter .tr-Meetings{background:#f1ecfa;color:#6a458d}#ptwTouchExporter .tr-Emails{background:#fff4dc;color:#78551d}#ptwTouchExporter .tr-Other{background:#edf0f4;color:#526071}
#ptwTouchExporter .tr-detail-toggle{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700}
#ptwTouchExporter .tr-details>details{padding:0 16px;border-bottom:1px solid #e2e8f0}
#ptwTouchExporter .tr-details summary{padding:14px 0;cursor:pointer;font-size:13px;font-weight:750}
#ptwTouchExporter .tr-entry{padding:12px 0;border-top:1px solid #edf1f5;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
#ptwTouchExporter .tr-entry p{white-space:pre-wrap;color:#33485f}
#ptwTouchExporter .tr-entry small{color:#62758b}
#ptwTouchExporter .tr-status{min-height:22px;font-size:12px;color:#52657a;line-height:1.5;margin:8px 0}
#ptwTouchExporter .tr-error{color:#922f34;background:#fff1f1;padding:10px;border-radius:7px}
#ptwTouchExporter .tr-empty{padding:32px 16px;text-align:center;color:#52657a;font-size:13px}
#ptwTouchExporter .tr-inline-detail td{text-align:left;background:#f4f7fa}
@media(max-width:1000px){#ptwTouchExporter .tr-head{flex-direction:column}}
@media(max-width:760px){#ptwTouchExporter h2{font-size:23px}#ptwTouchExporter .tr-filters{padding:10px;gap:9px}#ptwTouchExporter .tr-picker{min-width:calc(50% - 10px)}#ptwTouchExporter .tr-picker-panel{width:min(300px,80vw)}#ptwTouchExporter .tr-picker:nth-child(2) .tr-picker-panel{left:auto;right:0}#ptwTouchExporter .tr-metrics{gap:7px}#ptwTouchExporter .tr-metric{padding:12px 9px}#ptwTouchExporter .tr-metric strong{font-size:24px}#ptwTouchExporter .tr-metric small{font-size:9px}#ptwTouchExporter button,#ptwTouchExporter select,#ptwTouchExporter input[type=date],#ptwTouchExporter input[type=search],#ptwTouchExporter .tr-picker>summary span{min-height:40px}#ptwTouchExporter input[type=search]{font-size:16px}#ptwTouchExporter .tr-actions{gap:6px}#ptwTouchExporter .tr-actions button{font-size:11px;padding:8px}#ptwTouchExporter .tr-range{flex-wrap:wrap}#ptwTouchExporter .tr-context{margin-bottom:10px}}

#ptwTouchExporter .tr-metric:first-child small{color:#dce8f4}

#ptwTouchExporter .tr-client-detail{margin:0 0 8px 12px;border-left:3px solid #cbd7e3;padding-left:12px}
#ptwTouchExporter .tr-client-detail>summary{display:list-item;padding:12px 0}
#ptwTouchExporter .tr-client-detail>summary small{display:block;font-size:11px;font-weight:500;color:#52657a;line-height:1.6;margin-top:5px}
#ptwTouchExporter .tr-client-note{font-size:12px;color:#52657a}

#ptwTouchExporter .tr-export-dialog{width:min(740px,94vw);max-height:90dvh;overflow:auto;border:1px solid #cbd7e3;border-radius:16px;padding:22px;color:#13294b;box-shadow:0 20px 70px #13294b55}
#ptwTouchExporter .tr-export-dialog::backdrop{background:#13294b88}
#ptwTouchExporter .tr-export-head,#ptwTouchExporter .tr-export-footer{display:flex;justify-content:space-between;align-items:center;gap:12px}
#ptwTouchExporter .tr-export-footer{justify-content:flex-end;margin-top:18px}
#ptwTouchExporter .tr-format-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}
#ptwTouchExporter .tr-format-options button{padding:22px 12px;white-space:normal}
#ptwTouchExporter .tr-format-options b,#ptwTouchExporter .tr-format-options small{display:block;margin:5px 0}
#ptwTouchExporter .tr-export-dialog fieldset{border:0;padding:0;margin:20px 0}
#ptwTouchExporter .tr-export-dialog legend{font-weight:800;margin-bottom:14px}
#ptwTouchExporter .tr-export-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
#ptwTouchExporter #trExportDates{grid-column:1/-1}
#ptwTouchExporter .tr-export-grid label{display:grid;gap:6px;font-size:12px;font-weight:700;min-width:0}
#ptwTouchExporter .tr-export-grid select[multiple]{min-height:145px}
#ptwTouchExporter .tr-export-grid .tr-export-check{display:flex;align-items:center;gap:8px}
#ptwTouchExporter #trExportProgress{min-height:24px;font-weight:700}
@media(max-width:540px){#ptwTouchExporter .tr-export-grid{grid-template-columns:1fr}#ptwTouchExporter .tr-format-options{gap:6px}#ptwTouchExporter .tr-format-options button{padding:16px 6px}#ptwTouchExporter .tr-export-dialog{padding:15px}}

#ptwTouchExporter #trSummary{min-width:1160px}
#ptwTouchExporter #trSummary thead tr:first-child{height:38px}
#ptwTouchExporter #trSummary thead tr:nth-child(2) th{top:38px}
#ptwTouchExporter #trSummary .tr-audience-head{text-align:center;background:#e4edf5;color:#13294b;border-left:2px solid #cbd7e3;letter-spacing:.06em}
#ptwTouchExporter #trSummary thead tr:nth-child(2) th:first-child{min-width:0;text-align:right}

/* Calm date heading and distinct participant bands. */
#ptwTouchExporter #trContext{display:block;margin:20px 0 16px;padding:0 2px}
#ptwTouchExporter #trContext small{display:block;color:#64748b;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.12em;margin-bottom:5px}
#ptwTouchExporter #trContext h3{font-size:21px;line-height:1.35;margin:0;color:#13294b;font-weight:800}
#ptwTouchExporter #trSummary [data-audience="athlete"]{background:#f0f6fc}
#ptwTouchExporter #trSummary [data-audience="parents"]{background:#fff8eb}
#ptwTouchExporter #trSummary .tr-audience-head[data-audience="athlete"]{background:#dceaf7}
#ptwTouchExporter #trSummary .tr-audience-head[data-audience="parents"]{background:#f2e5c7}
#ptwTouchExporter #trSummary [data-group-start="true"]{border-left:2px solid #a8bfd2}
#ptwTouchExporter #trSummary [data-audience="parents"][data-group-start="true"]{border-left-color:#c8b58c}
#ptwTouchExporter #trSummary tfoot [data-audience="athlete"]{background:#e0ecf8}
#ptwTouchExporter #trSummary tfoot [data-audience="parents"]{background:#f1e5cb}
@media(max-width:540px){#ptwTouchExporter #trContext h3{font-size:18px}}

#ptwTouchExporter [data-roster-total]{background:#e5f3ef!important;color:#1f5949;border-left:1px solid #9fc9bb;border-right:1px solid #9fc9bb;text-align:center}#ptwTouchExporter th[data-roster-total]{background:#c9e5dc!important;min-width:130px}#ptwTouchExporter th[data-roster-total] button{color:#1f5949;white-space:normal;max-width:145px;line-height:1.35}#ptwTouchExporter [data-roster-total] b{font-weight:850}
