.tf-equipment{--eq-accent:#5a8233;margin-block:20px;padding:clamp(14px,3vw,22px);border:1px solid color-mix(in srgb,currentColor 16%,transparent);border-radius:18px;background:color-mix(in srgb,#a6f542 4%,transparent);color:inherit;min-width:0;font-size:14px;line-height:1.55;animation:tf-equipment-in .24s ease-out}
.tf-equipment *{box-sizing:border-box}.tf-equipment p{margin:10px 0;overflow-wrap:anywhere}.tf-equipment-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:9px}.tf-equipment-heading strong{font-size:17px;line-height:1.3;letter-spacing:-.02em}.tf-equipment-badge{color:var(--eq-accent);font-size:11px;font-weight:700;letter-spacing:.08em}.tf-equipment-subtitle{font-size:16px;font-weight:650}.tf-equipment-help,.tf-equipment small{font-size:12px;line-height:1.55;opacity:.78}.tf-equipment-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;max-width:100%;padding:10px 14px;border:1px solid color-mix(in srgb,currentColor 20%,transparent);border-radius:11px;background:transparent;color:inherit;font:inherit;font-weight:600;text-align:center;white-space:normal;cursor:pointer;transition:border-color .18s,background .18s,transform .18s}.tf-equipment-button:hover{background:color-mix(in srgb,#a6f542 10%,transparent);border-color:var(--eq-accent)}.tf-equipment-button:active{transform:scale(.98)}.tf-equipment-button:focus-visible,.tf-equipment summary:focus-visible{outline:2px solid var(--eq-accent);outline-offset:3px}.tf-equipment-button:disabled{opacity:.5;cursor:wait}.tf-equipment-table-wrap{overflow-x:auto;margin-block:12px}.tf-equipment-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;letter-spacing:normal!important}.tf-equipment-table th,.tf-equipment-table td{text-align:center;padding:8px 6px;border-bottom:1px solid color-mix(in srgb,currentColor 12%,transparent);white-space:nowrap;letter-spacing:normal!important}.tf-equipment-table th{font-size:12px;font-weight:500}.tf-equipment-table td{font-size:14px}.tf-equipment-table .tf-equipment-button{min-width:36px;min-height:36px;padding:6px 10px}.tf-equipment-chart{margin:16px 0;max-width:100%}.tf-equipment-chart figcaption{font-size:12px}.tf-equipment-chart svg{display:block;width:100%;height:auto;max-height:170px;margin-block:10px}.tf-equipment-line{stroke:var(--eq-accent);stroke-width:2;vector-effect:non-scaling-stroke}.tf-equipment-review{margin-block:14px;padding:12px;border:1px solid color-mix(in srgb,currentColor 14%,transparent);border-radius:12px}.tf-equipment-review summary{cursor:pointer;font-weight:600}.tf-equipment-player{position:relative;margin:12px auto;background:#111;border-radius:10px;overflow:hidden;max-height:70vh;max-width:100%;width:min(100%,480px)}.tf-equipment-player video{display:block;width:100%;height:100%;object-fit:contain}.tf-equipment-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.tf-equipment-overlay[hidden]{display:none}.tf-equipment-point{fill:#a6f542;stroke:#111;stroke-width:.5}.tf-equipment-plate-box{stroke:#a6f542;stroke-width:.45;stroke-dasharray:2 1}.tf-equipment-check{display:flex;align-items:center;gap:10px;margin-top:12px;cursor:pointer}.tf-equipment-check input{appearance:auto;position:static!important;transform:none!important;flex:0 0 18px;width:18px;height:18px;margin:0;accent-color:#a6f542}
html[data-theme="dark"] .tf-equipment,body[data-theme="dark"] .tf-equipment,.dark .tf-equipment{--eq-accent:#b1d98d}
@media(prefers-color-scheme:dark){html:not([data-theme="light"]) .tf-equipment{--eq-accent:#b1d98d}}
@media(max-width:480px){.tf-equipment-heading{align-items:flex-start}.tf-equipment-table th{font-size:11px}.tf-equipment-review{padding:10px}.tf-equipment-button{width:100%}.tf-equipment-table .tf-equipment-button{width:auto}}
@keyframes tf-equipment-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.tf-equipment{animation:none}.tf-equipment-button{transition:none}}

/* Contain the video and point in the same stage. Native video fullscreen is
   deliberately replaced by fullscreen of the complete viewer. */
.tf-equipment-viewer,.tf-equipment-viewer *{box-sizing:border-box}
.tf-equipment-viewer{display:block!important;position:relative!important;width:var(--eq-viewer-width,min(100%,480px))!important;max-width:100%!important;min-width:0!important;margin:14px auto!important;padding:0!important;border:0!important;border-radius:12px!important;background:#101510!important;color:#f0f5ee!important;overflow:hidden;font:inherit;letter-spacing:normal;isolation:isolate}
.tf-equipment-viewer .tf-equipment-stage{display:block!important;position:relative!important;min-width:0!important;min-height:0!important;width:100%!important;padding:0!important;margin:0!important;border:0!important;overflow:hidden!important;background:#080b08!important}
.tf-equipment-viewer .tf-equipment-stage>video{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;object-fit:contain!important;object-position:50% 50%!important;transform:none!important;background:#080b08!important}
.tf-equipment-viewer .tf-equipment-overlay{display:block;position:absolute;pointer-events:none;z-index:2;margin:0!important;padding:0!important;border:0!important;max-width:none!important;max-height:none!important}
.tf-equipment-viewer .tf-equipment-overlay[hidden]{display:none!important}
.tf-equipment-viewer .tf-equipment-point{stroke-width:1.5px}
.tf-equipment-viewer .tf-equipment-plate-box{stroke-width:1px}
.tf-equipment-viewer .tf-equipment-controls{display:grid!important;grid-template-columns:auto auto auto minmax(0,1fr) auto!important;align-items:center!important;gap:6px!important;flex:0 0 auto!important;padding:8px 10px!important;margin:0!important;border:0!important;background:#101510!important;color:#f0f5ee!important}
.tf-equipment-viewer .tf-equipment-control{display:inline-flex!important;align-items:center!important;justify-content:center!important;position:static!important;transform:none!important;width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;max-width:36px!important;padding:0!important;margin:0!important;border:0!important;border-radius:9px!important;background:transparent!important;color:#f0f5ee!important;cursor:pointer;line-height:1!important;box-shadow:none!important}
.tf-equipment-viewer .tf-equipment-control svg{display:block!important;width:20px!important;height:20px!important;flex:0 0 20px!important;margin:0!important;padding:0!important}
.tf-equipment-viewer .tf-equipment-control:hover{background:#253622!important}
.tf-equipment-viewer .tf-equipment-control:focus-visible,.tf-equipment-viewer .tf-equipment-stage:focus-visible{outline:2px solid #b1d98d;outline-offset:-3px}
.tf-equipment-viewer .tf-equipment-control[aria-pressed="true"]{color:#b1d98d!important}
.tf-equipment-viewer .tf-equipment-clock{display:block!important;text-align:right!important;white-space:nowrap!important;overflow:hidden!important;margin:0!important;padding:0!important;font-size:11px!important;line-height:1.4!important;font-variant-numeric:tabular-nums!important;letter-spacing:normal!important;color:#d4dfd0!important}
.tf-equipment-viewer .tf-equipment-seek{appearance:auto!important;display:block!important;position:static!important;transform:none!important;grid-column:1/-1!important;width:100%!important;height:22px!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important;accent-color:#b1d98d;background:transparent!important;cursor:pointer}
.tf-equipment-viewer.is-expanded{position:fixed!important;inset:0!important;z-index:2147483000!important;display:flex!important;flex-direction:column!important;width:100vw!important;max-width:none!important;height:100vh!important;height:100dvh!important;min-height:0!important;margin:0!important;border-radius:0!important;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)!important}
.tf-equipment-viewer.is-expanded .tf-equipment-stage{flex:1 1 0!important;aspect-ratio:auto!important;height:auto!important}
.tf-equipment-viewer.is-expanded .tf-equipment-controls{padding:8px max(12px,3vw)!important}
body.tf-equipment-viewer-open{overflow:hidden!important}
.tf-equipment-viewer::backdrop{background:#080b08}
@media(max-width:340px){.tf-equipment-viewer .tf-equipment-controls{padding:6px!important;gap:3px!important}.tf-equipment-viewer .tf-equipment-clock{font-size:10px!important}}
@media(orientation:landscape) and (max-height:480px){.tf-equipment-viewer.is-expanded .tf-equipment-controls{grid-template-columns:auto minmax(60px,1fr) auto auto auto auto!important;gap:8px!important;padding:5px 10px!important}.tf-equipment-viewer.is-expanded .tf-equipment-seek{grid-column:2!important;grid-row:1!important}.tf-equipment-viewer.is-expanded .tf-equipment-control:nth-child(2){grid-column:4!important;grid-row:1!important}.tf-equipment-viewer.is-expanded .tf-equipment-control:nth-child(3){grid-column:5!important;grid-row:1!important}.tf-equipment-viewer.is-expanded .tf-equipment-clock{grid-column:3!important;grid-row:1!important}.tf-equipment-viewer.is-expanded .tf-equipment-control:nth-child(5){grid-column:6!important;grid-row:1!important}}

.tf-reconciliation{margin-block:16px;padding:12px;border:1px solid color-mix(in srgb,currentColor 16%,transparent);border-radius:12px;min-width:0}
.tf-reconciliation summary{font-size:14px;font-weight:650;line-height:1.5;cursor:pointer;overflow-wrap:anywhere}
.tf-reconciliation[data-state="aligned"] summary{color:var(--eq-accent)}
.tf-reconciliation-content{min-width:0;padding-top:4px}
.tf-reconciliation-counts{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:normal!important}
.tf-reconciliation-list{list-style:none;margin:12px 0;padding:0;max-height:420px;overflow-y:auto;overscroll-behavior:auto}
.tf-reconciliation-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 2px;border-bottom:1px solid color-mix(in srgb,currentColor 12%,transparent);min-width:0}
.tf-reconciliation-row>div{min-width:0;overflow-wrap:anywhere}.tf-reconciliation-row strong{font-size:13px;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:normal!important}
.tf-reconciliation-row p{margin:4px 0 0}.tf-reconciliation-row .tf-equipment-button{flex:0 0 auto;width:auto;max-width:48%;font-size:12px;font-variant-numeric:tabular-nums;letter-spacing:normal!important}
.tf-reconciliation-content>small{display:block;margin-top:9px}
.tf-reconciliation-refresh{margin-top:12px;min-width:0}
.tf-reconciliation-refresh .tf-equipment-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:164px;min-height:42px;max-width:100%;letter-spacing:normal!important}
.tf-reconciliation-refresh .tf-equipment-button:disabled{opacity:.65;cursor:wait}
.tf-reconciliation-refresh .is-refreshing::before{content:"";display:block;flex:0 0 13px;width:13px;height:13px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:tf-reconciliation-spin .8s linear infinite}
.tf-reconciliation-refresh-status{margin:8px 0 0!important;font-size:12px!important;line-height:1.6!important;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;letter-spacing:normal!important}
.tf-reconciliation-refresh-status[data-state="success"]{color:var(--eq-accent)}
.tf-reconciliation-refresh-status[data-state="error"]{font-weight:600}
.tf-reconciliation-refresh-status[hidden]{display:none!important}
@keyframes tf-reconciliation-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.tf-reconciliation-refresh .is-refreshing::before{animation:none}}
@media(max-width:420px){.tf-reconciliation{padding:10px}.tf-reconciliation-row{align-items:flex-start;flex-direction:column;gap:8px}.tf-reconciliation-row .tf-equipment-button{width:100%;max-width:100%}}
