*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;background:#414141;color:#fff}button{font:inherit;cursor:pointer;border:none}button.primary{background:#004e8a;color:#fff;padding:8px 16px;border-radius:4px;border:1px solid #003A6C;font-weight:500}button.primary:hover:not(:disabled){background:#005fa3}button.primary:disabled{background:#2a3a52;color:#8c8c8c;cursor:not-allowed;border-color:#2a3a52}button.ghost{background:transparent;padding:8px 12px;color:#c8c8c8;border:1px solid #646464;border-radius:4px}button.ghost:hover{background:#505050;color:#fff}button.link-button{background:transparent;color:#4a90d9;padding:0}button.link-button:hover{color:#6fafe8;text-decoration:underline}button.rating{padding:4px 10px;margin-right:6px;border-radius:4px;background:#505050;color:#c8c8c8;border:1px solid #646464}button.rating:hover{background:#5e5e5e;color:#fff}button.rating.active{background:#4a90d9;color:#fff;border-color:#005fa3}button.rating.ghost{background:transparent;color:#8c8c8c;border-color:transparent}input[type=text],input[type=datetime-local],select{font:inherit;padding:7px 10px;background:#373737;color:#fff;border:1px solid #646464;border-radius:4px}input[type=text]{flex:1}input[type=text]:focus,input[type=datetime-local]:focus,select:focus{outline:none;border-color:#4a90d9;box-shadow:0 0 0 1px #4a90d9}input[type=datetime-local]{color-scheme:dark}.appbar{display:flex;align-items:center;gap:14px;padding:8px 18px;background:#323232;border-bottom:1px solid #004E8A;position:sticky;top:0;z-index:10}.appbar .logo{height:28px;width:auto;display:block}.brand{font-weight:600;color:#fff;text-decoration:none;font-size:16px;letter-spacing:.3px}.brand:hover{color:#4a90d9}.spacer{flex:1}.user-email{color:#c8c8c8;font-size:13px}.customer-selector,.customer-pill{padding:6px 10px;border-radius:4px;font-size:14px}.customer-pill{background:#004e8a;color:#fff}select.customer-selector{background:#373737;color:#fff;border:1px solid #646464}select.customer-selector:focus{border-color:#4a90d9}.main-view{padding:18px;max-width:1200px;margin:0 auto}.search-box{display:flex;gap:8px;margin-bottom:14px;align-items:center;flex-wrap:wrap}.search-box .when{display:flex;gap:6px;align-items:center;color:#c8c8c8;font-size:13px}.search-box .when label{color:#c8c8c8}.search-range-error{color:#ff9b9b;font-size:13px;background:#4a1f1f;padding:4px 10px;border-radius:4px;border-left:3px solid #c84a4a}.include-empty{display:flex;gap:4px;align-items:center;color:#c8c8c8;font-size:13px;cursor:pointer;-webkit-user-select:none;user-select:none}.include-empty input[type=checkbox]{cursor:pointer;accent-color:#4A90D9}.search-summary{margin-bottom:12px;color:#c8c8c8;font-size:14px}.events-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.event-card{background:#505050;border:1px solid #646464;border-radius:6px;overflow:hidden;display:flex;flex-direction:column}.event-thumb{padding:0;border:0;background:gray;cursor:pointer}.event-thumb img{width:100%;height:200px;object-fit:cover;display:block}.event-meta{display:flex;gap:10px;padding:8px 10px;font-size:12px;color:#c8c8c8;border-bottom:1px solid #646464;flex-wrap:wrap;align-items:center}.event-customer{background:#004e8a;color:#fff;padding:2px 6px;border-radius:4px}.event-score{background:#323232;color:#4a90d9;padding:2px 6px;border-radius:4px;font-family:monospace}.event-description{padding:10px;font-size:13px;line-height:1.5;flex:1;color:#fff}.event-description .section{margin-bottom:4px}.event-description .section-label{font-weight:600;text-transform:capitalize;color:#4a90d9}.event-rating{padding:8px 10px;border-top:1px solid #646464}.warning-banner{background:#4a3a1a;color:#ffd789;padding:10px 14px;border-radius:4px;margin-bottom:12px;font-size:14px;border-left:3px solid #c88a2a}.error-banner{background:#4a1f1f;color:#ff9b9b;padding:10px 14px;border-radius:4px;margin-bottom:12px;font-size:14px;white-space:pre-wrap;border-left:3px solid #c84a4a}.empty{padding:40px;text-align:center;color:#8c8c8c;background:#505050;border-radius:6px;border:1px dashed #646464}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;justify-content:center;align-items:center;z-index:100}.modal-clip{background:#000;border:1px solid #646464;border-radius:6px;padding:16px;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;gap:8px;position:relative}.modal-clip video{max-width:80vw;max-height:75vh}.modal-clip .close{position:absolute;top:6px;right:8px;background:transparent;color:#fff;font-size:24px;line-height:1}.clip-meta{color:#c8c8c8;font-size:13px;display:flex;gap:14px}.login-shell{min-height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(180deg,#323232,#414141)}.login-card{background:#505050;padding:32px 36px;border-radius:8px;box-shadow:0 4px 18px #0006;max-width:420px;border:1px solid #646464;text-align:center}.login-card .login-logo{height:48px;margin-bottom:8px}.login-card h1{margin:8px 0 6px;color:#fff;font-weight:500}.login-card p{color:#c8c8c8;margin:8px 0}.login-card .login-note{font-size:12px;color:#8c8c8c;margin-top:14px}.centered{min-height:100vh;display:flex;justify-content:center;align-items:center;color:#8c8c8c}.nav-links{display:flex;gap:4px;margin-left:16px}.nav-link{color:#c8c8c8;text-decoration:none;padding:6px 12px;border-radius:4px;border-bottom:2px solid transparent;transition:color .12s,border-color .12s}.nav-link:hover{color:#fff}.nav-link.active{color:#fff;border-bottom-color:#4a90d9}.switch-banner{background:#4a90d9;color:#fff;padding:8px 16px;display:flex;align-items:center;gap:12px;font-size:13px;border-bottom:1px solid #005FA3;animation:switch-banner-slide-in .2s ease-out}@keyframes switch-banner-slide-in{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.switch-banner button.revert{background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.3);padding:4px 10px;border-radius:4px;font-size:12px;cursor:pointer}.switch-banner button.revert:hover{background:#ffffff40}.switch-banner .close{margin-left:auto;background:transparent;border:0;color:#fff;font-size:18px;cursor:pointer;opacity:.7;line-height:1;padding:0 4px}.switch-banner .close:hover{opacity:1}.studio{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;padding:16px;max-width:1600px;margin:0 auto}.studio .player-col{display:flex;flex-direction:column;gap:12px;min-width:0}.studio .events-col{display:flex;flex-direction:column;gap:12px;min-height:calc(100vh - 100px);min-width:0}.player-frame{background:#000;border:1px solid #646464;border-radius:6px;overflow:hidden;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;color:#8c8c8c;font-size:14px}.player-frame video{width:100%;height:100%;object-fit:contain;background:#000}.player-frame.empty{background:#2a2a2a}.description-panel{background:#505050;border:1px solid #646464;border-radius:6px;padding:12px 16px}.description-panel .clip-meta{display:flex;gap:16px;font-size:12px;color:#c8c8c8;padding-bottom:8px;margin-bottom:12px;border-bottom:1px solid #646464}.description-panel .section{margin:8px 0}.description-panel .section-label{display:inline-block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#a8a8a8;font-weight:600;margin-right:8px;min-width:64px;vertical-align:top}.description-panel .section-text{color:#fff;font-size:14px}.description-panel .section-events .section-label{color:#4a90d9}.description-panel .rating-bar{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #646464}.event-list{background:#505050;border:1px solid #646464;border-radius:6px;overflow:hidden;flex:1;overflow-y:auto}.event-list:focus{outline:2px solid #4A90D9;outline-offset:-2px}.event-list-empty{display:flex;align-items:center;justify-content:center}.event-row{display:flex;gap:10px;padding:8px;border-bottom:1px solid #646464;cursor:pointer;background:transparent;transition:background .1s}.event-row:last-child{border-bottom:0}.event-row:hover{background:#ffffff08}.event-row.active{background:#5e5e5e;border-left:3px solid #4A90D9;padding-left:5px}.event-row .event-thumb{width:80px;height:45px;background:#000;border-radius:3px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;color:#8c8c8c;font-size:9px;overflow:hidden}.event-row .event-thumb img{width:100%;height:100%;object-fit:cover;display:block}.event-row .event-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;border:0;padding:0}.event-row .event-meta .top{display:flex;gap:8px;font-size:11px;color:#c8c8c8;font-family:monospace}.event-row .event-meta .top .cam{color:#4a90d9}.event-row .event-meta .summary{color:#fff;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-row .event-meta .summary .muted{color:#8c8c8c}.results-status{color:#c8c8c8;font-size:12px;padding-left:4px}.player-frame .empty-state{text-align:center;padding:24px 20px;color:#8c8c8c}.empty-state .icon{font-size:32px;margin-bottom:12px;opacity:.5;color:#8c8c8c}.empty-state .copy{font-size:14px;line-height:1.5;color:#c8c8c8}.empty-state .copy-secondary{font-size:12px;color:#8c8c8c}
