*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f9fafb;color:#374151;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.loading{display:flex;align-items:center;justify-content:center;height:100vh;font-size:1.1rem;color:#6b7280}.login-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#000d27,#001640);gap:2rem}.login-box{background:#fff;padding:2.5rem;border-radius:12px;box-shadow:0 4px 24px #00000026;width:380px}.login-branding{display:flex;flex-direction:column;align-items:center;gap:.5rem}.login-logo{display:block;width:280px}.login-subtitle{color:#ffffffb3;font-size:1.1rem;letter-spacing:.1em}.login-heading{font-size:1rem;font-weight:500;color:#475569;margin-bottom:1rem;text-align:center}.login-box form{display:flex;flex-direction:column;gap:.75rem}.login-box input{padding:.6rem .75rem;border:1px solid #ddd;border-radius:6px;font-size:.95rem}.login-box input:focus{outline:none;border-color:#0693e3}.login-box button{padding:.65rem;background:#0693e3;color:#fff;border:none;border-radius:6px;font-size:.95rem;cursor:pointer;margin-top:.25rem}.login-box button:hover{background:#0574b8}.login-box button:disabled{opacity:.6;cursor:not-allowed}.error-msg{color:#d0021b;font-size:.85rem}.app-layout{display:flex;min-height:100vh}.sidebar{width:240px;background:#000d27;color:#b3b9c4;position:fixed;top:0;left:0;height:100vh;display:flex;flex-direction:column;z-index:100}.sidebar-logo{padding:1.25rem;border-bottom:1px solid #1a2c4c}.sidebar-logo img{display:block;width:100%;max-width:180px}.sidebar-nav{flex:1;display:flex;flex-direction:column;padding:.5rem 0;overflow-y:auto}.sidebar-nav button{display:block;width:100%;text-align:left;padding:.75rem 1.25rem;background:none;border:none;border-right:2px solid transparent;color:#b3b9c4;font-size:.85rem;font-family:inherit;cursor:pointer;transition:background-color .15s,color .15s}.sidebar-nav button:hover{background:#1a2c4c4d;color:#fff}.sidebar-nav button.active{background:#0693e333;color:#0693e3;border-right-color:#0693e3}.sidebar-external-link{display:block;width:100%;box-sizing:border-box;text-align:left;padding:1rem 1.25rem .75rem;background:none;border:none;border-right:2px solid transparent;color:#b3b9c4;font-size:.85rem;font-family:inherit;cursor:pointer;transition:background-color .15s,color .15s;margin-top:.5rem;border-top:1px solid #1a2c4c}.sidebar-external-link:hover{background:#1a2c4c4d;color:#fff}.sidebar-footer{border-top:1px solid #1a2c4c;padding:1rem 1.25rem;margin-top:auto}.sidebar-email{display:block;font-size:.75rem;color:#808a9c;margin-bottom:.5rem;word-break:break-all}.btn-signout{padding:.35rem .75rem;background:transparent;color:#b3b9c4;border:1px solid #1a2c4c;border-radius:4px;cursor:pointer;font-size:.8rem;font-family:inherit;width:100%;transition:background-color .15s,color .15s}.btn-signout:hover{background:#1a2c4c4d;color:#fff}.main-content{margin-left:240px;flex:1;padding:1.5rem;background:#f9fafb;min-height:100vh}.lookup-layout{display:flex;gap:1.5rem;align-items:flex-start}.lookup-left{flex:0 0 auto;width:200px}.lookup-right{flex:1;min-width:0}.bond-input{display:flex;flex-direction:column;gap:.4rem;height:calc(100vh - 200px)}.bond-input-buttons{display:flex;gap:.4rem}.bond-input-buttons button{padding:.4rem .8rem;background:#0693e3;color:#fff;border:none;border-radius:6px;font-size:.78rem;cursor:pointer;flex:1}.bond-input-buttons button:hover{background:#0574b8}.bond-input-buttons button:disabled{opacity:.6;cursor:not-allowed}.bond-input-buttons .btn-clear{background:#fff;color:#6b7280;border:1px solid #d1d5db;flex:0 0 auto}.bond-input-buttons .btn-clear:hover:not(:disabled){background:#f3f4f6}.bond-input .lookback-selector{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:#6b7280}.bond-input .lookback-selector select{flex:1;padding:.3rem .4rem;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#374151;font-size:.8rem;font-family:inherit;cursor:pointer;min-width:0}.bond-input .lookback-selector select:focus{outline:none;border-color:#0693e3}.bond-input .count{font-size:.8rem;color:#6b7280}.bond-input textarea{flex:1;width:100%;padding:.5rem;border:1px solid #d1d5db;border-radius:8px;font-family:SF Mono,Fira Code,monospace;font-size:.85rem;resize:none;background:#fff}.bond-input textarea:focus{outline:none;border-color:#0693e3}.filter-panel{flex:0 0 auto;border:1px solid #e5e7eb;border-radius:6px;background:#fff;font-size:.78rem;color:#374151;max-height:none;overflow-y:visible}.filter-panel>summary{padding:.4rem .6rem;cursor:pointer;font-weight:500;color:#475569;-webkit-user-select:none;user-select:none;list-style:none;display:flex;align-items:center;gap:.4rem}.filter-panel>summary:before{content:"";display:inline-block;width:7px;height:7px;border-right:2px solid #0693e3;border-bottom:2px solid #0693e3;transform:rotate(-45deg);transition:transform .15s ease;flex:0 0 auto;margin-right:.1rem}.filter-panel[open]>summary:before{transform:rotate(45deg);margin-top:-3px}.filter-panel>summary::-webkit-details-marker{display:none}.filter-badge{display:inline-block;min-width:1.1rem;padding:0 .3rem;background:#0693e3;color:#fff;border-radius:999px;font-size:.68rem;text-align:center}.filter-section{padding:.4rem .6rem;border-top:1px solid #f3f4f6}.filter-section-head{display:flex;align-items:center;gap:.4rem;margin-bottom:.25rem;font-weight:500;color:#475569;font-size:.76rem}.filter-section-head button{padding:.1rem .4rem;background:none;border:1px solid #d1d5db;border-radius:4px;font-size:.7rem;color:#6b7280;cursor:pointer}.filter-section-head button:hover{background:#f3f4f6}.filter-checklist{display:flex;flex-direction:column;gap:.15rem}.filter-checklist label{display:flex;align-items:center;gap:.35rem;cursor:pointer;font-size:.76rem}.filter-checklist input[type=checkbox]{margin:0;flex:0 0 auto}.filter-checklist-compact{flex-direction:row;flex-wrap:wrap;gap:.25rem .6rem}.filter-radio-row{display:flex;flex-wrap:wrap;gap:.25rem .75rem}.filter-radio-row label{display:flex;align-items:center;gap:.25rem;cursor:pointer;font-size:.76rem}.filter-radio-row input[type=radio]{margin:0}.rating-notches{margin-top:.3rem;padding:.3rem .4rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:4px}.rating-notches>summary{cursor:pointer;font-size:.72rem;color:#6b7280;list-style:none;display:flex;align-items:center;gap:.3rem}.rating-notches>summary:before{content:"";display:inline-block;width:6px;height:6px;border-right:2px solid #0693e3;border-bottom:2px solid #0693e3;transform:rotate(-45deg);transition:transform .15s ease;flex:0 0 auto;margin-right:.1rem}.rating-notches[open]>summary:before{transform:rotate(45deg);margin-top:-2px}.rating-notches>summary::-webkit-details-marker{display:none}.rating-notches .filter-checklist{margin-top:.3rem}.filter-us-only{display:flex;align-items:center;gap:.35rem;padding:.4rem .6rem;border-top:1px solid #f3f4f6;font-size:.76rem;cursor:pointer}.filter-clear-all{display:block;margin:.4rem .6rem .5rem;padding:.25rem .5rem;background:#fff;border:1px solid #d1d5db;border-radius:4px;font-size:.72rem;color:#6b7280;cursor:pointer}.filter-clear-all:hover{background:#f3f4f6}.filter-live-count{font-size:.75rem;color:#6b7280;padding:0 .1rem;line-height:1.3;min-height:2.2rem}.filter-live-count strong{color:#0693e3;font-weight:600}.filter-live-count-sub,.filter-live-count .count-spinner{color:#9ca3af}.overflow-banner{display:flex;align-items:center;gap:1rem;padding:.85rem 1rem;background:#fef3c7;border:1px solid #fbbf24;border-radius:6px;color:#92400e;font-size:.9rem;margin-bottom:1rem}.overflow-banner>div:first-child{flex:1}.btn-download-overflow{padding:.45rem 1rem;background:#0693e3;color:#fff;border:none;border-radius:6px;font-size:.85rem;cursor:pointer;flex:0 0 auto}.btn-download-overflow:hover{background:#0574b8}.error-banner{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem}.results-toolbar{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;flex-wrap:wrap}.export-buttons{display:flex;align-items:center;gap:.75rem;margin-bottom:0;flex:1;min-width:0}.export-buttons .result-count{font-size:.9rem;color:#6b7280;margin-right:auto}.export-buttons button{padding:.3rem .75rem;background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:.78rem;cursor:pointer}.export-buttons button:hover{background:#f3f4f6}.col-selector{position:relative;flex-shrink:0}.col-selector-trigger{display:flex;align-items:center;gap:.35rem;padding:.3rem .75rem;background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:.78rem;cursor:pointer;white-space:nowrap}.col-selector-trigger:hover{background:#f3f4f6}.col-selector-trigger .dropdown-arrow{font-size:.6rem}.col-selector-panel{position:absolute;top:100%;right:0;z-index:100;width:320px;max-height:480px;overflow-y:auto;background:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 4px 16px #0000001f;margin-top:4px}.col-selector-actions{display:flex;gap:.6rem;padding:.5rem .75rem;border-bottom:1px solid #e5e7eb}.col-selector-actions button{font-size:.75rem;color:#0693e3;background:none;border:none;cursor:pointer;padding:0}.col-selector-actions button:hover{text-decoration:underline}.col-selector-hint{padding:.2rem .75rem 0;font-size:.65rem;color:#9ca3af}.col-selector-list{padding:.25rem 0}.col-selector-item{display:flex;align-items:center;gap:.25rem;padding:.2rem .5rem .2rem .35rem;cursor:grab;transition:background .1s;font-size:.78rem}.col-selector-item:hover{background:#f3f4f6}.col-selector-item.col-hidden{opacity:.5}.col-selector-item:active{cursor:grabbing}.col-selector-grip{color:#9ca3af;font-weight:700;font-size:.8rem;letter-spacing:-1px;-webkit-user-select:none;user-select:none;flex-shrink:0;width:14px;text-align:center}.col-selector-label{display:flex;align-items:center;gap:.35rem;flex:1;min-width:0;cursor:pointer}.col-selector-label input[type=checkbox]{accent-color:#0693e3;margin:0;flex-shrink:0}.col-selector-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-selector-arrows{display:flex;gap:0;flex-shrink:0}.col-selector-arrows button{background:none;border:none;cursor:pointer;padding:0 .15rem;font-size:.7rem;color:#6b7280;line-height:1}.col-selector-arrows button:hover:not(:disabled){color:#111827}.col-selector-arrows button:disabled{opacity:.25;cursor:default}.results-table-outer{max-width:100%}.results-table-top-scroll{overflow-x:auto;overflow-y:hidden;max-width:100%}.results-table-wrapper{overflow-x:auto;overflow-y:auto;max-width:100%;max-height:75vh;border-radius:8px;border:1px solid #f3f4f6;background:#fff;box-shadow:0 1px 2px #0000000d}.results-table{border-collapse:collapse;font-size:.72rem;white-space:nowrap}.forensics-table{width:auto;table-layout:auto}.forensics-table th,.forensics-table td{padding:.15rem .3rem}.results-table th,.results-table td{padding:.15rem .35rem;border-bottom:1px solid #f3f4f6;text-align:center}.results-table th{background:#f9fafb;font-weight:600;position:sticky;top:0;z-index:2;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.7rem;color:#475569}.results-table thead tr.filter-row th{top:1.4rem;z-index:1;padding:.1rem .15rem;cursor:default}.results-table th:hover{background:#f3f4f6}.results-table th.sorted{color:#000d27}.column-filter{width:100%;min-width:0;max-width:5rem;padding:.15rem .25rem;border:1px solid #e5e7eb;border-radius:3px;font-size:.6rem;background:#fff;color:#334155;box-sizing:border-box}.forensics-table .filter-row th:first-child .column-filter{max-width:7rem}.column-filter:focus{outline:none;border-color:#0693e3}.column-filter::placeholder{color:#c0c5cc}.results-table td.numeric,.results-table th.numeric{text-align:center}.results-table td.align-left,.results-table th.align-left{text-align:left}.results-table tbody tr:hover{background:#f9fafb}.pagination{display:flex;align-items:center;justify-content:space-between;padding:.4rem .2rem;font-size:.78rem;color:#475569}.pagination-bottom{border-top:1px solid #f3f4f6}.pagination-info{font-weight:500}.pagination-buttons{display:flex;gap:.3rem}.pagination-buttons button{padding:.2rem .5rem;font-size:.75rem;border:1px solid #d1d5db;border-radius:4px;background:#fff;cursor:pointer;color:#374151}.pagination-buttons button:hover:not(:disabled){background:#f3f4f6}.pagination-buttons button:disabled{opacity:.4;cursor:default}.no-results{text-align:center;padding:2rem;color:#6b7280;font-size:.95rem}.unmatched-section{margin-top:1.5rem;padding:1rem;background:#fffbeb;border:1px solid #fcd34d;border-radius:8px}.unmatched-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.unmatched-section h3{font-size:.9rem;color:#92400e}.btn-copy-unmatched{padding:.25rem .6rem;font-size:.75rem;background:#fef3c7;border:1px solid #fbbf24;border-radius:4px;color:#92400e;cursor:pointer}.btn-copy-unmatched:hover{background:#fde68a}.unmatched-list{display:flex;flex-wrap:wrap;gap:.4rem}.unmatched-tag{display:inline-block;padding:.2rem .5rem;background:#fef3c7;border:1px solid #fbbf24;border-radius:4px;font-size:.8rem;font-family:monospace;color:#78350f}.admin-panel h2{font-size:1.2rem;margin-bottom:1rem}.admin-toolbar{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.admin-toolbar button{padding:.4rem 1rem;background:#0693e3;color:#fff;border:none;border-radius:6px;font-size:.85rem;cursor:pointer}.admin-toolbar button:hover{background:#0574b8}.admin-table-wrapper{overflow-x:auto;border-radius:8px;border:1px solid #f3f4f6;background:#fff;box-shadow:0 1px 2px #0000000d}.admin-table{width:100%;border-collapse:collapse;font-size:.85rem}.admin-table th,.admin-table td{padding:.5rem .75rem;border-bottom:1px solid #f3f4f6;text-align:left}.admin-table th{background:#f9fafb;font-weight:600;font-size:.8rem;color:#475569}.admin-table tbody tr:hover{background:#f9fafb}.admin-table .actions{display:flex;gap:.4rem;flex-wrap:wrap}.admin-table .actions button{padding:.2rem .5rem;font-size:.75rem;border:1px solid #d1d5db;border-radius:4px;background:#fff;cursor:pointer}.admin-table .actions button:hover{background:#f3f4f6}.admin-table .actions button.danger{color:#d0021b;border-color:#fca5a5}.admin-table .actions button.danger:hover{background:#fef2f2}.badge{display:inline-block;padding:.1rem .4rem;border-radius:4px;font-size:.75rem;font-weight:600}.badge-admin{background:#dbeafe;color:#1e40af}.badge-user,.badge-active{background:#f0fdf4;color:#166534}.badge-disabled{background:#fef2f2;color:#991b1b}.create-user-form{background:#fff;border:1px solid #f3f4f6;border-radius:8px;padding:1.25rem;margin-bottom:1rem;display:flex;gap:.75rem;align-items:flex-end;flex-wrap:wrap;box-shadow:0 1px 2px #0000000d}.create-user-form .field{display:flex;flex-direction:column;gap:.25rem}.create-user-form label{font-size:.8rem;font-weight:500;color:#475569}.create-user-form input,.create-user-form select{padding:.4rem .6rem;border:1px solid #d1d5db;border-radius:4px;font-size:.85rem}.create-user-form button{padding:.45rem 1rem;background:#0693e3;color:#fff;border:none;border-radius:6px;font-size:.85rem;cursor:pointer}.create-user-form button:hover{background:#0574b8}.success-msg{color:#166534;font-size:.85rem;margin-bottom:.5rem}.history-panel{margin-top:.75rem;border-top:1px solid #e5e7eb;padding-top:.5rem}.history-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.4rem}.history-title{font-size:.8rem;font-weight:600;color:#475569}.history-clear-all{font-size:.7rem;color:#9ca3af;background:none;border:none;cursor:pointer;text-decoration:underline}.history-clear-all:hover{color:#d0021b}.history-empty{font-size:.75rem;color:#9ca3af}.history-list{display:flex;flex-direction:column;gap:.25rem;max-height:200px;overflow-y:auto}.history-entry{border:1px solid #e5e7eb;border-radius:4px;background:#fff}.history-entry-header{display:flex;justify-content:space-between;padding:.3rem .5rem;cursor:pointer;font-size:.72rem}.history-entry-header:hover{background:#f9fafb}.history-time{color:#475569}.history-count{color:#9ca3af}.history-entry-detail{padding:.3rem .5rem;border-top:1px solid #f3f4f6}.history-preview{font-size:.7rem;color:#6b7280;font-family:monospace;margin-bottom:.3rem;word-break:break-all}.history-actions{display:flex;gap:.3rem}.history-actions button{padding:.15rem .5rem;font-size:.7rem;border:1px solid #d1d5db;border-radius:3px;background:#fff;cursor:pointer}.history-actions button:hover{background:#f3f4f6}.history-actions button.danger{color:#d0021b;border-color:#fca5a5}.history-actions button.danger:hover{background:#fef2f2}.download-panel{background:#fff;border-radius:8px;padding:2rem;max-width:600px;border:1px solid #f3f4f6;box-shadow:0 1px 2px #0000000d}.download-panel h2{font-size:1.2rem;margin-bottom:.25rem}.download-description{font-size:.9rem;color:#6b7280;margin-bottom:1.5rem}.download-options{display:flex;gap:2rem;margin-bottom:1.5rem}.download-option-group{flex:1}.download-option-group h3{font-size:.85rem;font-weight:600;color:#475569;margin-bottom:.5rem}.download-option-group label{display:flex;align-items:baseline;gap:.4rem;padding:.4rem 0;cursor:pointer;font-size:.9rem;flex-wrap:wrap}.download-option-group label input[type=radio],.download-option-group label input[type=checkbox]{margin:0;flex-shrink:0;accent-color:#0693e3}.option-hint{display:block;width:100%;font-size:.75rem;color:#9ca3af;margin-left:1.2rem}.custom-datetime{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.custom-datetime input{padding:.35rem .5rem;border:1px solid #d1d5db;border-radius:4px;font-size:.85rem}.custom-datetime input:focus{outline:none;border-color:#0693e3}.custom-section{margin-left:1.2rem;margin-top:.25rem}.custom-lookback{display:flex;align-items:baseline;gap:.75rem;margin-top:.5rem;font-size:.85rem}.lookback-label{font-size:.8rem;color:#6b7280;font-weight:500}.custom-lookback label{display:inline-flex;align-items:baseline;gap:.3rem;cursor:pointer;font-size:.85rem}.custom-lookback input[type=radio]{accent-color:#0693e3}.download-warning{background:#fffbeb;border:1px solid #fcd34d;color:#92400e;padding:.6rem 1rem;border-radius:6px;font-size:.85rem;margin-bottom:1rem}.download-actions{display:flex;gap:.75rem}.btn-download{padding:.65rem 1.5rem;background:#0693e3;color:#fff;border:none;border-radius:6px;font-size:.95rem;cursor:pointer}.btn-download:hover{background:#0574b8}.btn-download:disabled{opacity:.6;cursor:not-allowed}.loading-overlay{position:fixed;inset:0;background:#000d2799;display:flex;align-items:center;justify-content:center;z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.loading-card{background:#fff;border-radius:12px;padding:2.5rem 3rem;text-align:center;box-shadow:0 20px 60px #0000004d;min-width:320px;max-width:440px}.loading-message{font-size:.95rem;color:#374151;font-weight:500;margin-bottom:.5rem;min-height:2.8em;line-height:1.4}.loading-elapsed{font-size:.8rem;color:#9ca3af;font-variant-numeric:tabular-nums}.stick-stage{height:100px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem;overflow:hidden}.stick-svg{width:160px;height:100px}.pushup-body{transform-origin:80px 65px;animation:pushup 1s ease-in-out infinite alternate}.sweat-drops{animation:sweatDrip 1s ease-in-out infinite}@keyframes pushup{0%{transform:rotate(0)}to{transform:rotate(-8deg)}}@keyframes sweatDrip{0%,to{opacity:0;transform:translateY(0)}50%{opacity:1;transform:translateY(4px)}}.runner{animation:runBounce .4s ease-in-out infinite alternate}.run-arm-front{animation:runArmF .4s ease-in-out infinite alternate}.run-arm-back{animation:runArmB .4s ease-in-out infinite alternate}.run-leg-front{animation:runLegF .4s ease-in-out infinite alternate}.run-leg-back{animation:runLegB .4s ease-in-out infinite alternate}.ground-dashes{animation:groundScroll .6s linear infinite}@keyframes runBounce{0%{transform:translateY(0)}to{transform:translateY(-3px)}}@keyframes runArmF{0%{transform:rotate(-25deg);transform-origin:58px 33px}to{transform:rotate(25deg);transform-origin:58px 33px}}@keyframes runArmB{0%{transform:rotate(25deg);transform-origin:58px 33px}to{transform:rotate(-25deg);transform-origin:58px 33px}}@keyframes runLegF{0%{transform:rotate(-20deg);transform-origin:58px 48px}to{transform:rotate(20deg);transform-origin:58px 48px}}@keyframes runLegB{0%{transform:rotate(20deg);transform-origin:58px 48px}to{transform:rotate(-20deg);transform-origin:58px 48px}}@keyframes groundScroll{0%{transform:translate(0)}to{transform:translate(-30px)}}.jj-body{animation:jjBounce .6s ease-in-out infinite}.jj-arm-l{animation:jjArmL .6s ease-in-out infinite}.jj-arm-r{animation:jjArmR .6s ease-in-out infinite}.jj-leg-l{animation:jjLegL .6s ease-in-out infinite}.jj-leg-r{animation:jjLegR .6s ease-in-out infinite}@keyframes jjBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes jjArmL{0%,to{transform:rotate(0);transform-origin:60px 30px}50%{transform:rotate(-40deg);transform-origin:60px 30px}}@keyframes jjArmR{0%,to{transform:rotate(0);transform-origin:60px 30px}50%{transform:rotate(40deg);transform-origin:60px 30px}}@keyframes jjLegL{0%,to{transform:rotate(8deg);transform-origin:60px 48px}50%{transform:rotate(-15deg);transform-origin:60px 48px}}@keyframes jjLegR{0%,to{transform:rotate(-8deg);transform-origin:60px 48px}50%{transform:rotate(15deg);transform-origin:60px 48px}}.squat-body,.squat-bar{animation:squatDown 1.2s ease-in-out infinite}.squat-leg-l,.squat-leg-r{animation:squatLegs 1.2s ease-in-out infinite}@keyframes squatDown{0%,to{transform:translateY(0)}50%{transform:translateY(12px)}}@keyframes squatLegs{0%,to{transform:rotate(0);transform-origin:60px 45px}50%{transform:rotate(8deg);transform-origin:60px 45px}}.burpee-body{animation:burpeeMove 1.4s ease-in-out infinite}.burpee-lines{animation:burpeeLines 1.4s ease-in-out infinite}@keyframes burpeeMove{0%,to{transform:translateY(0) scaleY(1)}25%{transform:translateY(18px) scaleY(.7)}50%{transform:translateY(20px) scaleY(.5) rotate(5deg)}75%{transform:translateY(-10px) scaleY(1.05)}}@keyframes burpeeLines{0%,60%{opacity:0}75%{opacity:1}to{opacity:0}}.rope-body{animation:ropeJump .6s ease-in-out infinite}.rope-arc{animation:ropeSpin .6s linear infinite}.rope-leg-l,.rope-leg-r{animation:ropeTuck .6s ease-in-out infinite}@keyframes ropeJump{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes ropeSpin{0%{transform:rotateX(0);transform-origin:60px 40px}to{transform:rotateX(360deg);transform-origin:60px 40px}}@keyframes ropeTuck{0%,to{transform:rotate(0);transform-origin:60px 46px}50%{transform:rotate(5deg);transform-origin:60px 46px}}.forensics-panel{padding:0}.forensics-panel h2{font-size:1.2rem;margin-bottom:1rem}.forensics-inputs{background:#fff;border-radius:8px;border:1px solid #f3f4f6;padding:1rem 1.25rem;margin-bottom:1rem;box-shadow:0 1px 2px #0000000d}.forensics-row{display:flex;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap}.forensics-field{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:140px}.forensics-field label{font-size:.8rem;font-weight:500;color:#475569}.forensics-field label .optional{font-weight:400;color:#9ca3af}.forensics-field input{padding:.4rem .6rem;border:1px solid #d1d5db;border-radius:4px;font-size:.85rem}.forensics-field input:focus{outline:none;border-color:#0693e3}.datetime-pair{display:flex;gap:.4rem}.datetime-pair input{flex:1}.forensics-presets{display:flex;align-items:center;gap:.4rem;margin-bottom:.75rem}.preset-label{font-size:.8rem;color:#6b7280;margin-right:.25rem}.forensics-presets button{padding:.25rem .6rem;font-size:.8rem;border:1px solid #d1d5db;border-radius:4px;background:#fff;cursor:pointer;color:#475569}.forensics-presets button:hover{background:#f3f4f6}.forensics-actions{display:flex}.btn-search{padding:.5rem 1.5rem;background:#0693e3;color:#fff;border:none;border-radius:6px;font-size:.9rem;cursor:pointer}.btn-search:hover{background:#0574b8}.btn-search:disabled{opacity:.6;cursor:not-allowed}.bond-info-bar{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;padding:.6rem 1rem;background:#f9fafb;border:1px solid #f3f4f6;border-radius:6px;font-size:.8rem;color:#475569;margin-bottom:.5rem}.forensics-result-count{display:flex;align-items:center;gap:.75rem;font-size:.85rem;color:#6b7280;margin-bottom:.5rem}.forensics-result-count .btn-copy-ticks{padding:.25rem .7rem;background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:.78rem;color:#374151;cursor:pointer}.forensics-result-count .btn-copy-ticks:hover{background:#f3f4f6}.forensics-table tbody tr.row-cancelled{background:#fef2f2}.forensics-table tbody tr.row-cancelled td{text-decoration:line-through;color:#991b1b}.refdata-panel{padding:0}.refdata-layout{display:flex;gap:1.5rem}.refdata-left{flex:0 0 auto;width:220px;display:flex;flex-direction:column;gap:.4rem;height:calc(100vh - 200px);padding:1rem 0 1rem 1rem}.refdata-left label{display:block;font-size:.82rem;font-weight:600;color:#374151;flex-shrink:0}.refdata-textarea{width:100%;flex:1;min-height:0;font-family:SF Mono,Fira Code,monospace;font-size:.85rem;padding:.5rem;border:1px solid #d1d5db;border-radius:8px;resize:none;box-sizing:border-box;background:#fff}.refdata-textarea:focus{outline:none;border-color:#0693e3}.refdata-right{flex:1;min-width:0;padding:1rem 1rem 1rem 0}.refdata-mode-toggle{display:flex;border:1px solid #d1d5db;border-radius:6px;overflow:hidden;flex-shrink:0}.refdata-mode-toggle button{flex:1;padding:.4rem .75rem;font-size:.8rem;border:none;background:#fff;color:#374151;cursor:pointer;transition:background .15s,color .15s}.refdata-mode-toggle button.active{background:#0693e3;color:#fff}.refdata-mode-toggle button:not(.active):hover{background:#f3f4f6}.refdata-dropdown-container{position:relative}.refdata-dropdown-trigger{width:100%;padding:.45rem .6rem;font-size:.82rem;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#374151;cursor:pointer;text-align:left;display:flex;justify-content:space-between;align-items:center}.refdata-dropdown-trigger:hover{border-color:#9ca3af}.dropdown-arrow{font-size:.65rem;color:#6b7280;margin-left:.5rem}.refdata-dropdown-menu{position:absolute;bottom:100%;left:0;width:max-content;min-width:100%;z-index:50;background:#fff;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 -4px 12px #0000001f;margin-bottom:2px}.refdata-dropdown-actions{display:flex;gap:.5rem;padding:.5rem .6rem;border-bottom:1px solid #e5e7eb}.refdata-dropdown-actions button{font-size:.75rem;color:#0693e3;background:none;border:none;cursor:pointer;padding:0}.refdata-dropdown-actions button:hover{text-decoration:underline}.refdata-dropdown-list{padding:.4rem 0;display:grid;grid-template-columns:1fr 1fr}.refdata-dropdown-item{display:flex;align-items:center;gap:.75rem;padding:.45rem .75rem;font-size:.8rem;cursor:pointer;transition:background .1s}.refdata-dropdown-item:hover{background:#f3f4f6}.refdata-dropdown-item input[type=checkbox]{accent-color:#0693e3;margin-right:.4rem;flex-shrink:0}.refdata-actions{display:flex;gap:.5rem;flex-shrink:0}.refdata-actions .btn-search{padding:.5rem 1.5rem;font-size:.85rem;font-weight:600;color:#fff;background:#0693e3;border:none;border-radius:6px;cursor:pointer;transition:background .15s}.refdata-actions .btn-search:hover:not(:disabled){background:#0574b8}.refdata-actions .btn-search:disabled{opacity:.5;cursor:not-allowed}.refdata-actions .btn-clear{padding:.5rem 1rem;font-size:.85rem;color:#374151;background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;transition:background .15s}.refdata-actions .btn-clear:hover{background:#f3f4f6}.refdata-result-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.85rem;color:#374151}.refdata-source-note{color:#6b7280;font-style:italic;font-size:.8rem}.refdata-result-actions{display:flex;gap:.5rem}.refdata-result-actions button{padding:.35rem .75rem;font-size:.8rem;border:1px solid #d1d5db;border-radius:5px;background:#fff;color:#374151;cursor:pointer;transition:background .15s,border-color .15s}.refdata-result-actions button:hover{background:#f3f4f6;border-color:#9ca3af}.refdata-table tbody tr.row-archived{background:#fffbeb}.ts-page{max-width:1200px}.ts-title{font-size:1.25rem;font-weight:600;color:#1e293b;margin-bottom:1rem}.ts-controls{display:flex;align-items:flex-end;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.ts-controls label{display:flex;flex-direction:column;font-size:.78rem;color:#6b7280;gap:.2rem}.ts-controls input{padding:.4rem .6rem;border:1px solid #d1d5db;border-radius:6px;font-size:.85rem;font-family:inherit;width:160px}.ts-controls input:focus{outline:none;border-color:#0693e3}.ts-btn{padding:.45rem 1.2rem;background:#0693e3;color:#fff;border:none;border-radius:6px;font-size:.85rem;font-family:inherit;cursor:pointer}.ts-btn:hover{background:#0574b8}.ts-btn:disabled{opacity:.6;cursor:not-allowed}.ts-date-label{font-size:.85rem;color:#6b7280;margin-bottom:1rem}.ts-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.75rem;margin-bottom:1.25rem}.ts-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:.75rem 1rem}.ts-card-label{font-size:.72rem;color:#6b7280;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.25rem}.ts-card-value{font-size:1.3rem;font-weight:600;color:#1e293b}.ts-card-value-sm{font-size:1rem}.ts-card-sub{font-size:.75rem;color:#9ca3af;margin-top:.15rem}.ts-pct-bar{display:flex;align-items:center;gap:.4rem;margin-top:.3rem}.ts-pct-bar>div{height:5px;background:#0693e3;border-radius:3px;flex:0 0 auto;max-width:100%}.ts-pct-bar span{font-size:.72rem;color:#6b7280;white-space:nowrap}.ts-section{margin-bottom:1.5rem}.ts-section h3{font-size:.95rem;font-weight:600;color:#374151;margin-bottom:.6rem}.ts-dist-grid{display:flex;gap:1.5rem;flex-wrap:wrap}.ts-dist-table{border-collapse:collapse;font-size:.82rem;background:#fff;border:1px solid #e5e7eb;border-radius:6px;overflow:hidden}.ts-dist-table th,.ts-dist-table td{padding:.4rem .75rem;text-align:right;border-bottom:1px solid #f3f4f6}.ts-dist-table th{background:#f9fafb;color:#6b7280;font-weight:500;font-size:.75rem}.ts-dist-table td:first-child,.ts-dist-table th:first-child{text-align:left;font-weight:500;color:#374151}.ts-dist-table th[colspan]{text-align:center;font-size:.78rem;color:#374151;font-weight:600;letter-spacing:.02em}.ts-chart-toggles{display:flex;gap:.4rem;margin-bottom:.6rem;flex-wrap:wrap}.ts-chip{padding:.25rem .65rem;border:1px solid #d1d5db;border-radius:14px;font-size:.75rem;font-family:inherit;background:#fff;color:#374151;cursor:pointer;transition:all .15s}.ts-chip:hover{border-color:#9ca3af}.ts-chip.active{color:#fff;border-color:transparent}.ts-chart-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1rem .5rem .5rem 0}.ts-table-wrap{overflow-x:auto}.ts-table{width:100%;border-collapse:collapse;font-size:.82rem;background:#fff;border:1px solid #e5e7eb;border-radius:6px;overflow:hidden}.ts-table th,.ts-table td{padding:.45rem .75rem;text-align:right;border-bottom:1px solid #f3f4f6;white-space:nowrap}.ts-table th{background:#f9fafb;color:#6b7280;font-weight:500;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em}.ts-table td:first-child,.ts-table th:first-child{text-align:center;width:2rem}.ts-table td:nth-child(2),.ts-table th:nth-child(2){text-align:left}.ts-table tbody tr:hover{background:#f0f9ff}.ts-link-btn{background:none;border:none;color:#0693e3;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-decoration:underline;text-decoration-style:dotted}.ts-link-btn:hover{color:#0574b8}.ts-timing{font-size:.75rem;color:#9ca3af;margin-top:.5rem}
