:root{--bg:#0b0d10;--panel:#12151a;--panel-2:#181c22;--border:#2a3038;--text:#e8eaed;--muted:#9aa3ad;--accent:#3b82f6;--accent-2:#2563eb;--ok:#34d399;--rail:#1c2128;--font:"Segoe UI", "IBM Plex Sans", system-ui, sans-serif;--mono:"IBM Plex Mono", Consolas, monospace}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:transparent transparent}:hover,:focus-within{scrollbar-color:#9aa3ad73 transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-button{width:0;height:0;display:none}::-webkit-scrollbar-thumb{background-color:#0000;background-clip:padding-box;border:2px solid #0000;border-radius:999px}:hover::-webkit-scrollbar-thumb{background-color:#9aa3ad73}:focus-within::-webkit-scrollbar-thumb{background-color:#9aa3ad73}::-webkit-scrollbar-thumb:hover{background-color:#e8eaedb8}html,body,#root{background:var(--bg);min-height:100%;color:var(--text);font-family:var(--font);margin:0}button,input,select{font:inherit}.admin-loading,.admin-login{place-items:center;min-height:100vh;padding:20px;display:grid}.admin-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:12px;width:min(380px,100%);padding:28px 24px;display:flex}.admin-card h1{margin:0;font-size:22px}.admin-card p{color:var(--muted);margin:0;font-size:13px}.admin-card label{color:var(--muted);flex-direction:column;gap:6px;font-size:12px;display:flex}.admin-card input,.filters select,.filters input{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:10px 12px}.filters input.distance-input{text-align:center;appearance:textfield;background:0 0;border:none;width:36px;padding:0}.filters input.distance-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.filters input.distance-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.distance-stepper{border:1px solid var(--border);background:var(--panel);box-sizing:border-box;border-radius:999px;align-items:center;height:34px;padding:0 8px 0 2px;display:inline-flex}.distance-stepper button{width:26px;height:30px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:5px;font-size:16px;line-height:1;transition:transform .12s;transform:scale(1)}.distance-stepper button:hover:not(:disabled){transform:scale(1.25)}.distance-stepper button:disabled{color:var(--muted);opacity:.4;cursor:default}.admin-card button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:9px 14px;font-weight:600}.admin-top-actions button{border:1px solid var(--border);background:var(--panel);color:var(--muted);cursor:pointer;border-radius:999px;padding:8px 16px;font-size:13px;font-weight:600;transition:background .12s,color .12s}.admin-top-actions button:hover{color:var(--text);background:#ffffff0a}.admin-card button:disabled,.admin-top-actions button:disabled{opacity:.5;cursor:not-allowed}.admin-app{min-height:100vh;padding:18px 20px 28px}.admin-top{grid-template-columns:minmax(160px,1fr) auto minmax(160px,1fr);align-items:center;gap:16px;min-height:56px;margin-bottom:6px;display:grid}.admin-sticky-chrome.is-sticky{z-index:60;background:var(--bg);flex-shrink:0;position:relative}.admin-sticky-chrome.is-sticky .admin-top{margin-bottom:0}.admin-sticky-chrome.is-sticky>.filters{background:var(--panel);border:1px solid var(--border);border-bottom:none;border-radius:12px 12px 0 0;margin-top:8px}.admin-app.has-sticky-list{flex-direction:column;height:100dvh;min-height:0;max-height:100dvh;padding-bottom:0;display:flex;overflow:hidden}.admin-app.has-sticky-list .panel.panel-sticky{border-top-left-radius:0;border-top-right-radius:0;flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden!important}.admin-app.has-sticky-list .panel.panel-sticky>.table-scroll{flex:auto;min-height:0;overflow:auto}.admin-app.has-sticky-list .panel.panel-sticky table{border-collapse:separate;border-spacing:0}.admin-app.has-sticky-list .panel.panel-sticky thead th,.admin-app.has-sticky-list .panel.panel-sticky tbody td{padding-top:7px;padding-bottom:7px}.admin-app.has-sticky-list .panel.panel-sticky thead th{z-index:50;background:#161a20;position:sticky;top:0;box-shadow:inset 0 -1px #2a3038f2}.admin-app.has-sticky-list .panel.panel-sticky>.table-pager{z-index:55;background:var(--panel);border-top:1px solid var(--border);border-radius:0 0 12px 12px;flex-shrink:0;margin-top:0;position:relative;box-shadow:0 -10px 18px #00000047}.admin-brand h1{letter-spacing:-.02em;margin:0;font-size:20px}.admin-brand p{color:var(--muted);margin:4px 0 0;font-size:12px}.admin-top-actions{flex-direction:column;justify-content:flex-start;align-self:start;align-items:flex-end;gap:12px;min-width:0;padding-top:4px;display:flex;position:relative}.admin-toast-stack{z-index:70;pointer-events:none;flex-direction:column;align-items:stretch;gap:8px;width:min(340px,72vw);margin:0;display:flex;position:absolute;top:calc(100% + 8px);right:0}.admin-toast-stack:empty{display:none}.admin-toast{pointer-events:auto;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;font-size:13px;line-height:1.4;animation:.16s ease-out admin-toast-in;display:flex;box-shadow:0 10px 28px #00000059}.admin-toast>span{word-break:break-word;flex:auto;min-width:0}.admin-toast-ok{color:#6ee7b7;background:#101814f5;border:1px solid #34d39959}.admin-toast-error{color:#fca5a5;background:#1c1010f5;border:1px solid #ef444459}.admin-toast-close{color:inherit;opacity:.7;cursor:pointer;background:0 0;border:none;flex:none;padding:0;font-size:18px;line-height:1}.admin-toast-close:hover{opacity:1}@keyframes admin-toast-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.admin-top-count{color:var(--muted);white-space:nowrap;text-align:right;margin-right:2px;font-size:12px;font-weight:600;line-height:1.2}.admin-top .ghost,.modal .ghost{background:#374151}.admin-tabs{border:1px solid var(--border);background:var(--panel);border-radius:999px;justify-self:center;align-items:center;gap:2px;padding:4px;display:inline-flex}.admin-tabs button{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600;transition:background .12s,color .12s}.admin-tabs button:hover{color:var(--text);background:#ffffff0a}.admin-tabs button.active{background:var(--accent);color:#fff}.panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;vertical-align:middle;border-bottom:1px solid #2a3038e6;padding:10px 12px}th{color:var(--muted);background:#00000026;font-weight:600}th .sort-btn{color:inherit;font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-weight:600;display:inline-flex}th .sort-btn.on{color:var(--text)}th .sort-arrow{color:#93c5fd;font-size:11px}.table-pager{justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.table-pager.uploads-pager{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;display:grid}.table-pager.uploads-pager .table-pager-size{justify-self:start}.table-pager.uploads-pager .table-pager-center{min-height:1.2em;color:var(--text);letter-spacing:.01em;white-space:nowrap;text-align:center;justify-self:center;font-size:12px;font-weight:650}.table-pager.uploads-pager .table-pager-nav{justify-self:end;min-height:26px;margin-left:0}.table-pager-size{background:#ffffff0a;border-radius:999px;align-items:center;gap:2px;padding:2px;display:inline-flex}.table-pager-size button{min-width:32px;height:26px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:0 10px;font-size:12px;font-weight:650}.table-pager-size button.on{color:var(--text);background:#ffffff1a}.table-pager-nav{align-items:center;gap:2px;margin-left:auto;display:inline-flex}.table-pager-page{min-width:48px;color:var(--text);font-variant-numeric:tabular-nums;text-align:center;font-size:12px;font-weight:650}.table-pager-page span{color:var(--muted);font-weight:500}.table-pager-step{width:26px;height:26px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:0;font-size:16px;line-height:1}.table-pager-step:hover:not(:disabled){background:#ffffff0f}.table-pager-step:disabled{opacity:.28;cursor:default}.dot{border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.dot.on{background:var(--ok);box-shadow:0 0 0 3px #34d39926}.dot.deleted,.dot.off{background:#6b7280}.linkish{color:#93c5fd;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.filters{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px 14px;display:flex}.filters.filters-toolbar{align-items:center;gap:10px 16px;padding-top:16px}.filters label.filter-outlined{flex-direction:column;align-items:stretch;gap:0;padding-top:0;position:relative}.filters label.filter-outlined>.filter-legend{z-index:2;background:var(--panel);box-shadow:-3px 0 0 var(--panel), 3px 0 0 var(--panel);letter-spacing:.02em;color:var(--muted);pointer-events:none;white-space:nowrap;border:none;margin:0;padding:0 6px;font-size:10px;font-weight:650;line-height:12px;position:absolute;top:0;left:12px;transform:translateY(-50%)}.filters-part,.filters-tools{flex-wrap:wrap;align-items:center;gap:8px 12px;min-width:0;display:flex}.filters-part{flex:560px}.filters-tools{flex:0 auto;justify-content:flex-end;align-items:flex-end;margin-left:auto}.filters-tools-end{flex-direction:column;align-items:flex-end;gap:4px;min-width:0;display:flex}.filters-tools-end-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px 10px;min-width:0;display:flex}.filters-tools-end-row .linkish{font-size:11px}@media (width>=1400px){.filters.filters-toolbar,.filters-part,.filters-tools{flex-wrap:nowrap}}.filters.filters-toolbar .status-multi{width:150px}.filters.filters-toolbar input[type=search]{width:160px}.filters.filters-toolbar .filters-meta,.filters.filters-toolbar>.sort-menu,.filters-tools>.sort-menu{margin-left:0}@media (width<=1200px){.filters-tools{flex:100%;justify-content:flex-start;margin-left:0}}@media (width<=720px){.filters.filters-toolbar{padding:10px 12px}.filters-part,.filters-tools{flex:100%}.filters.filters-toolbar .status-multi,.filters.filters-toolbar input[type=search],.filters.filters-toolbar .datetime-range-btn{width:100%;min-width:0}.filters.filters-toolbar label{flex:140px}}.filters label{min-width:0;max-width:100%;color:var(--muted);white-space:nowrap;flex-direction:row;flex:0 auto;align-items:center;gap:8px;font-size:12px;display:flex}.filters input[type=datetime-local]{background:var(--panel);border:1px solid var(--border);width:188px;min-width:0;max-width:100%;height:34px;color:var(--text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:999px;flex:0 188px;padding:0 12px;font-size:12px}.filters label.filter-datetime-range{gap:8px;position:relative}.filters .datetime-range{align-items:center;min-width:0;display:inline-flex}.datetime-range-btn{border:1px solid var(--border);background:var(--panel);min-width:108px;height:34px;color:var(--text);cursor:pointer;border-radius:999px;padding:0 12px;font-size:12px;font-weight:650}.datetime-range-btn.on,.datetime-range-btn:hover{border-color:#4b5563}.datetime-range-pop{z-index:80;border:1px solid var(--border);background:var(--panel-2,#1f2937);border-radius:12px;flex-direction:column;gap:10px;width:280px;padding:12px;display:flex;position:fixed;box-shadow:0 16px 40px #00000059}.datetime-range-pop label{color:var(--muted);white-space:normal;flex-direction:column;align-items:stretch;gap:4px;font-size:12px;display:flex}.datetime-range-pop select,.datetime-range-pop input[type=datetime-local]{border:1px solid var(--border);background:var(--panel);width:100%;height:34px;color:var(--text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:8px;padding:0 10px;font-size:12px}.filters input[type=search],.filters select{background:var(--panel);border:1px solid var(--border);width:180px;max-width:100%;height:34px;color:var(--text);border-radius:999px;padding:0 12px;font-size:12px}.status-multi{width:180px;max-width:100%;position:relative}.status-multi-summary{background:var(--panel);border:1px solid var(--border);width:100%;height:34px;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;box-sizing:border-box;border-radius:999px;justify-content:space-between;align-items:center;gap:8px;padding:0 12px;font-size:12px;display:flex}.status-multi-summary:after{content:"";opacity:.7;border-top:5px solid;border-left:4px solid #0000;border-right:4px solid #0000;flex:none;width:0;height:0}.status-multi.is-open>.status-multi-summary{border-color:#4b5563}.status-multi-menu{z-index:90;border:1px solid var(--border);box-sizing:border-box;background:#111827;border-radius:10px;max-height:min(320px,100vh - 16px);padding:6px;position:fixed;overflow:auto;box-shadow:0 10px 28px #00000059}.status-multi-item{color:var(--text);cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:8px;margin:0;padding:6px 8px;font-size:12px;display:flex}.status-multi-item:hover{background:#94a3b81f}.status-multi-item input{accent-color:#60a5fa;width:14px;height:14px;margin:0}.worker-select{border:1px solid var(--border);background:var(--panel);min-width:110px;max-width:160px;height:30px;color:var(--text);border-radius:8px;padding:0 8px;font-size:12px}.bulk-worker{color:var(--muted);white-space:nowrap;margin:0;font-size:12px;display:inline-flex}.bulk-worker.filter-outlined{flex-direction:column;align-items:stretch;gap:0;position:relative}.bulk-worker.filter-outlined>.filter-legend{z-index:2;background:var(--panel);box-shadow:-3px 0 0 var(--panel), 3px 0 0 var(--panel);letter-spacing:.02em;color:var(--muted);pointer-events:none;white-space:nowrap;border:none;margin:0;padding:0 6px;font-size:10px;font-weight:650;line-height:12px;position:absolute;top:0;left:12px;transform:translateY(-50%)}.bulk-worker-control{min-width:140px;color:var(--text);display:block;position:relative}.bulk-worker-control:after{content:"";opacity:.7;pointer-events:none;border-top:5px solid;border-left:4px solid #0000;border-right:4px solid #0000;width:0;height:0;position:absolute;top:50%;right:12px;transform:translateY(-35%)}.bulk-worker .worker-select{border:1px solid var(--border);background:var(--panel);width:100%;min-width:140px;height:34px;color:var(--text);cursor:pointer;appearance:none;border-radius:999px;padding:0 28px 0 12px;font-size:12px;display:block}.bulk-worker .worker-select:hover,.bulk-worker .worker-select:focus{border-color:#4b5563;outline:none}.admin-upload-modal .admin-upload-field{color:var(--muted);flex-direction:column;align-items:stretch;gap:6px;margin:0 0 12px;font-size:12px;display:flex}.admin-upload-modal .admin-upload-field input[type=file],.admin-upload-modal .admin-upload-field select{border:1px solid var(--border);background:var(--panel);width:100%;height:34px;color:var(--text);border-radius:8px;padding:0 10px;font-size:12px}.admin-upload-modal .admin-upload-field input[type=file]{height:auto;padding:8px 10px}.admin-upload-count{color:var(--muted);margin:-4px 0 12px;font-size:12px}.admin-upload-file-list{border:1px solid var(--border);background:var(--panel);border-radius:8px;max-height:140px;margin:0 0 12px;padding:0;list-style:none;overflow:auto}.admin-upload-file-list li{border-bottom:1px solid var(--border);color:var(--text);justify-content:space-between;align-items:center;gap:10px;padding:6px 10px;font-size:12px;display:flex}.admin-upload-file-list li:last-child{border-bottom:none}.admin-upload-file-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.admin-upload-file-size,.admin-upload-file-more{color:var(--muted);flex-shrink:0}.admin-upload-progress{flex-direction:column;gap:10px;margin:0 0 12px;display:flex}.admin-upload-progress-stage{flex-direction:column;gap:5px;display:flex}.admin-upload-progress-stage-head{color:var(--muted);justify-content:space-between;align-items:baseline;gap:10px;font-size:12px;display:flex}.admin-upload-progress-stage-head span:last-child{text-align:right}.admin-upload-progress-track{background:color-mix(in srgb, var(--border) 80%, transparent);border-radius:999px;height:8px;overflow:hidden}.admin-upload-progress-fill{border-radius:inherit;background:#2563eb;width:0;height:100%;transition:width .15s ease-out}.transfer-head-actions{align-items:center;gap:6px;display:flex}.transfer-error{color:#fca5a5;margin:0 0 12px;font-size:13px;line-height:1.45}.admin-upload-file-list li.transfer-failed-item{flex-direction:column;align-items:stretch;gap:2px}.transfer-failed-item .transfer-error{white-space:normal;margin:0;font-size:12px}.transfer-dock{z-index:90;flex-direction:column;gap:8px;width:min(300px,100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}.transfer-pill{border:1px solid var(--border);background:var(--panel-2);width:100%;color:var(--text);text-align:left;cursor:pointer;border-radius:10px;flex-direction:column;gap:6px;padding:10px 12px;display:flex;box-shadow:0 10px 24px #00000073}.transfer-pill:hover{border-color:var(--accent)}.transfer-pill-head{justify-content:space-between;align-items:baseline;gap:10px;font-size:12px;display:flex}.transfer-pill-head>span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.transfer-pill-track{background:color-mix(in srgb, var(--border) 80%, transparent);border-radius:999px;height:6px;display:block;overflow:hidden}.transfer-pill-fill{border-radius:inherit;background:var(--accent-2);height:100%;transition:width .2s ease-out;display:block}.transfer-pill:not(.is-running):not(.is-error) .transfer-pill-fill{background:var(--ok)}.transfer-pill.is-error{border-color:#b91c1c}.transfer-pill.is-error .transfer-pill-fill{background:#ef4444}.admin-upload-progress-fill.is-indeterminate{width:40%;animation:1.1s ease-in-out infinite admin-upload-indeterminate}@keyframes admin-upload-indeterminate{0%{transform:translate(-120%)}to{transform:translate(280%)}}.filters input[type=datetime-local]:hover,.filters input[type=datetime-local]:focus{border-color:#4b5563;outline:none}.filters-meta{min-height:34px;color:var(--muted);white-space:nowrap;flex:0 auto;align-items:center;gap:10px;margin-left:auto;font-size:12px;display:flex}.filters>.sort-menu{margin-left:auto}.filters>.sort-menu+.filters-meta{margin-left:0}.sort-menu{flex:none;position:relative}.sort-menu-btn.on{color:#dbeafe;border-color:#4b5563}.sort-menu-pop{z-index:30;border:1px solid var(--border);background:var(--panel-2);border-radius:10px;flex-direction:column;gap:2px;min-width:160px;max-height:320px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;overflow:auto;box-shadow:0 16px 40px #00000059}.sort-menu-pop .sort-btn{width:100%;height:30px;color:var(--muted);text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:7px;justify-content:space-between;align-items:center;gap:8px;padding:0 8px;font-size:12px;font-weight:650;display:flex}.sort-menu-pop .sort-btn:hover{color:var(--text);background:#ffffff0f}.sort-menu-pop .sort-btn.on{color:#dbeafe;background:#3b82f633}.sort-menu-pop .sort-arrow{color:#93c5fd;font-size:11px}.bulk-btn{border:1px solid var(--border);background:var(--panel-2);width:34px;height:34px;color:var(--text);cursor:pointer;border-radius:8px;place-items:center;padding:0;display:inline-grid}.bulk-btn svg{width:16px;height:16px}.bulk-btn.is-text{white-space:nowrap;justify-content:center;align-items:center;width:auto;min-width:0;height:34px;padding:0 12px;font-size:12px;font-weight:650;line-height:1;display:inline-flex}.bulk-actions{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:inline-flex}.bulk-btn.danger{color:#fca5a5;background:#f871711f;border-color:#f871714d}.bulk-btn.danger:hover{background:#f8717138}.bulk-btn:disabled{opacity:.55;cursor:default}.bulk-btn.is-spin svg{animation:.8s linear infinite icon-spin}.check-col{text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;width:36px}.check-col input{accent-color:#93c5fd;width:15px;height:15px}tbody .check-col input{pointer-events:none}body.is-check-dragging{cursor:pointer;-webkit-user-select:none;user-select:none}body.is-check-dragging,body.is-check-dragging *{cursor:pointer!important;-webkit-user-select:none!important;user-select:none!important}.icon-btn{border:1px solid var(--border);background:var(--panel-2);width:34px;height:34px;color:var(--text);cursor:pointer;border-radius:8px;place-items:center;margin-bottom:1px;padding:0;display:inline-grid}.icon-btn svg{width:16px;height:16px}.icon-btn:hover:not(:disabled){color:#fff;border-color:#4b5563}.icon-btn:disabled{opacity:.55;cursor:default}.icon-btn.is-spin svg{animation:.8s linear infinite icon-spin}@keyframes icon-spin{to{transform:rotate(360deg)}}.status-pill{letter-spacing:.02em;color:#d1d5db;background:#1f2937;border-radius:999px;align-items:center;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.status-pill.status-uploaded{color:#93c5fd;background:#3b82f629}.status-pill.status-edited{color:#fbbf24;background:#f59e0b29}.status-pill.status-submitted{color:#d8b4fe;background:#a855f729}.status-pill.status-confirmed{color:#6ee7b7;background:#34d39929}.status-pill.status-rejected,.status-pill.status-pre_rejected{color:#fca5a5;background:#f8717129}.empty{text-align:center;color:var(--muted);padding:24px!important}.mono{font-family:var(--mono);font-size:12px}td input[type=checkbox]{cursor:pointer;width:16px;height:16px}.flag-icon{--flag-size:22px;--flag-color:#6b7280;--flag-glow:transparent;width:var(--flag-size);height:var(--flag-size);color:var(--flag-color);vertical-align:middle;background:0 0;border:none;place-items:center;padding:0;display:inline-grid;position:relative}.flag-icon.is-interactive{cursor:pointer}.flag-icon.is-interactive:hover .flag-icon-ring{transform:scale(1.08)}.flag-icon.is-interactive:active .flag-icon-ring{transform:scale(.94)}.flag-icon-ring{background:#ffffff08;border:1.5px solid;border-radius:50%;transition:transform .14s,box-shadow .18s,background .18s;position:absolute;inset:0}.flag-icon svg{z-index:1;fill:currentColor;width:14px;height:14px;position:relative}.flag-icon.is-pending{--flag-color:#a16207}.flag-icon.is-none{--flag-color:#374151}.flag-icon.is-none .flag-dot{fill:#9ca3af}.cell-mark{font-size:18px;font-weight:700;line-height:1;display:inline-block}.cell-mark.is-pending{color:#a16207}.cell-mark.is-none{color:#111}.flag-icon.is-rejected{--flag-color:#ef4444}.flag-icon.is-rejected .flag-icon-ring{background:#ef44441f}.flag-icon.is-on{--flag-color:#34d399;--flag-glow:#34d39959}.flag-icon.is-on .flag-icon-ring{background:color-mix(in srgb, var(--flag-color) 16%, transparent);box-shadow:0 0 0 3px var(--flag-glow)}.error{color:#fca5a5;font-size:12px}.error.banner{background:#ef44441f;border:1px solid #ef444440;border-radius:8px;margin-bottom:12px;padding:10px 12px}.ok.banner{color:#6ee7b7;background:#34d3991f;border:1px solid #34d39940;border-radius:8px;margin-bottom:12px;padding:10px 12px;font-size:13px}.user-name-cell{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.rename-badge{color:#fbbf24;white-space:nowrap;background:#fbbf241f;border:1px solid #fbbf2473;border-radius:999px;padding:1px 6px;font-size:11px;font-weight:600;display:inline-block}.username-history-panel{border-top:1px solid var(--border);margin-top:22px;padding-top:16px}.username-history-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.username-history-head h3{margin:0;font-size:15px}.username-history-head label{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:inline-flex}.username-history-head select{border:1px solid var(--border);background:var(--panel-2);min-width:160px;height:32px;color:inherit;border-radius:8px;padding:0 8px}.manage-users .user-form{border-bottom:1px solid var(--border);flex-direction:column;gap:12px;padding:16px;display:flex}.manage-users .user-form h2{margin:0;font-size:16px}.manage-users .muted{color:var(--muted);margin:0;font-size:12px}.user-form-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.user-form-row label{color:var(--muted);flex-direction:column;gap:6px;font-size:12px;display:flex}.user-form-row input,.user-form-row select{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:10px 12px}.user-form-actions{flex-wrap:wrap;gap:8px;display:flex}.user-form-actions button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:9px 14px;font-weight:600}.user-form-actions .ghost{background:#374151}.user-form-actions button:disabled{opacity:.5;cursor:not-allowed}.row-actions{gap:12px;display:flex}.linkish.danger{color:#fca5a5}.action-group{flex-wrap:nowrap;align-items:center;gap:6px;display:inline-flex}.action-btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:700;line-height:1.2;transition:background .12s,border-color .12s,color .12s}.action-btn:disabled{opacity:.5;cursor:not-allowed}.action-btn.primary{color:#93c5fd;background:#3b82f629;border-color:#3b82f659}.action-btn.primary:hover:not(:disabled){background:#3b82f647}.action-btn.ok{color:#6ee7b7;background:#34d3991f;border-color:#34d3994d}.action-btn.ok:hover:not(:disabled){background:#34d39938}.action-btn.danger{color:#fca5a5;background:#f871711f;border-color:#f871714d}.action-btn.danger:hover:not(:disabled){background:#f8717138}.action-group .action-btn{border-color:var(--border);background:var(--panel-2);width:34px;height:34px;color:var(--text);border-radius:8px;place-items:center;padding:0;display:inline-grid}.action-group .action-btn svg{width:16px;height:16px}.action-group .action-btn.primary{color:#93c5fd;background:#3b82f629;border-color:#3b82f659}.action-group .action-btn.danger{color:#fca5a5;background:#f871711f;border-color:#f871714d}.action-group .action-btn.ok{color:#6ee7b7;background:#34d3991f;border-color:#34d3994d}@media (width<=720px){.user-form-row{grid-template-columns:1fr}}.modal-backdrop{z-index:100;background:#0000008c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--border);border-radius:12px;width:min(720px,100%);max-height:min(80vh,720px);padding:16px;overflow:auto}.modal-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.modal-head h2{margin:0;font-size:18px}.modal-head p{color:var(--muted);margin:4px 0 0;font-size:12px}.confirm-modal{width:min(440px,100%)}.confirm-modal>p{color:var(--muted);margin:0 0 16px;font-size:13px;line-height:1.45}.confirm-actions{justify-content:flex-end;gap:8px;display:flex}.confirm-actions button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:8px 14px;font-weight:700}.confirm-actions button:focus{outline-offset:2px;outline:2px solid #93c5fd}.confirm-actions .ghost{background:#374151}.confirm-actions .danger{background:#b91c1c}.confirm-actions button:disabled{opacity:.55;cursor:not-allowed}.confirm-backdrop{z-index:110}.modal-head-actions{flex-shrink:0;align-items:center;gap:6px;line-height:0;display:flex}.review-modal{flex-direction:column;width:min(1100px,100%);height:min(94vh,960px);max-height:min(94vh,960px);display:flex;overflow:hidden}.modal-backdrop.is-fullscreen{padding:0}.review-modal.is-fullscreen{border-radius:0;flex-direction:column;width:100%;height:100%;max-height:none;display:flex;overflow:hidden}.review-modal .result-viewport{flex:1;min-height:0;margin-bottom:0}.review-modal .player-panel{flex:1;min-height:0}.review-modal .player,.review-modal .player.placeholder{width:100%;height:100%;max-height:none;position:absolute;inset:0}.viewport-chrome{z-index:6;pointer-events:none;background:linear-gradient(#0000008c 0%,#0000002e 28%,#0000 48%);grid-template-rows:auto 1fr;grid-template-columns:minmax(148px,180px) minmax(0,1fr) auto;align-items:start;column-gap:12px;padding:10px 12px 72px;display:grid;position:absolute;inset:0}.viewport-chrome>*{pointer-events:auto}.viewport-side-info{width:100%;max-width:180px;box-shadow:none;background:0 0;border:none;flex-direction:column;grid-area:1/1/-1;align-self:center;gap:14px;margin:0;padding:0;display:flex;overflow:visible}.viewport-side-row{flex-direction:column;gap:1px;min-width:0;display:flex}.viewport-side-label{color:#78808afa;letter-spacing:.03em;text-transform:lowercase;text-shadow:0 1px 3px #000000d9;font-size:11px;font-weight:700;line-height:1.2}.viewport-side-value{color:#e8eaedf5;word-break:break-word;text-shadow:0 1px 3px #000000d9;font-size:12px;font-weight:600;line-height:1.35}.viewport-side-value.is-datetime{flex-direction:column;gap:1px;display:flex}.viewport-side-date,.viewport-side-time{display:block}.viewport-chrome-meta{grid-area:1/2;min-width:0}.viewport-chrome .modal-head-tools{grid-area:1/3;justify-self:end}.viewport-chrome h2{text-shadow:0 1px 3px #000000d9;margin:0;font-size:16px}.viewport-chrome p{color:#e8eaede6;text-shadow:0 1px 3px #000000d9;margin:2px 0 0;font-size:12px}.viewport-chrome .review-actions button{background:#2563ebb8}.viewport-chrome .review-actions .ghost{background:#3741518c}.viewport-chrome .review-actions .danger-btn{background:#7f1d1db8}.viewport-chrome .icon-btn{background:#11182766;border-color:#ffffff38}.player-step{color:#f3f4f6;cursor:pointer;background:#11182759;border:1px solid #ffffff2e;border-radius:8px;flex-shrink:0;place-items:center;width:28px;height:28px;padding:0;display:inline-grid}.player-step svg{width:16px;height:16px;display:block}.player-step:hover:not(:disabled){background:#3741518c}.player-step:disabled{opacity:.35;cursor:not-allowed}.review-modal.is-fullscreen .player-panel{flex:1;min-height:0}.review-modal.is-fullscreen .player{width:100%;height:100%;max-height:none;position:absolute;inset:0}.result-viewport{flex-direction:column;gap:12px;margin-bottom:12px;display:flex;position:relative}.result-viewport.is-overlay{gap:0}.result-viewport.is-overlay .stage-dock{z-index:5;background:linear-gradient(#080a0e47,#080a0e9e);max-height:46%;position:absolute;bottom:0;left:0;right:0;overflow:auto}.result-viewport.is-overlay .player-controls{position:relative;bottom:auto}.result-viewport.is-overlay .timeline{background:0 0;border:none}.review-layout-btn[aria-pressed=true]{color:#dbeafe;border-color:#93c5fd73}.modal-head-actions .learn-share-btn.on{color:#34d399;border-color:#34d39980}.event-alert{z-index:4;pointer-events:none;position:absolute;inset:0;overflow:hidden}.event-alert-slot{transform:translate3d(-50%, calc(-50% + var(--stack-y,0px)), 0);will-change:transform;transition:transform .16s cubic-bezier(.22,1,.36,1);position:absolute;top:50%;left:50%}.event-alert-slot.is-exit{transition:none}.event-alert-item{font-size:var(--event-alert-font-size,44px);letter-spacing:.02em;opacity:.82;text-shadow:0 2px 18px #00000080;text-align:center;white-space:nowrap;transform-origin:50%;will-change:transform, opacity;font-weight:800;line-height:.95}.event-alert-controls{vertical-align:middle;align-items:center;display:inline-flex;position:relative}.event-alert-controls:after{content:"";pointer-events:none;width:120px;height:48px;position:absolute;top:100%;left:50%;transform:translate(-50%)}.event-alert-controls:hover:after,.event-alert-controls:focus-within:after{pointer-events:auto}.event-alert-font-stepper{z-index:40;border:1px solid var(--border);opacity:0;pointer-events:none;white-space:nowrap;background:#111827eb;border-radius:10px;align-items:center;gap:6px;height:40px;padding:0 6px;transition:opacity .12s;display:inline-flex;position:absolute;top:calc(100% + 3px);left:50%;transform:translate(-50%)}.event-alert-controls:hover .event-alert-font-stepper,.event-alert-controls:focus-within .event-alert-font-stepper{opacity:1;pointer-events:auto}.event-alert-font-stepper button{color:#cbd5e1;cursor:pointer;background:0 0;border:none;border-radius:8px;place-items:center;width:30px;height:30px;padding:0;font-size:18px;font-weight:700;display:inline-grid}.event-alert-font-stepper button:hover:not(:disabled){color:#f8fafc;background:#94a3b829}.event-alert-font-stepper button:disabled{opacity:.35;cursor:default}.event-alert-font-value{color:#e2e8f0;text-align:center;min-width:28px;font-size:14px;font-weight:700}.event-alert-item.is-enter{animation:.18s cubic-bezier(.22,1,.36,1) both event-alert-enter}.event-alert-item.is-live{opacity:.82;transform:scale(1)}.event-alert-item.is-exit{animation:.2s cubic-bezier(.4,0,.2,1) forwards event-alert-exit}@keyframes event-alert-enter{0%{opacity:0;transform:scale(.78)}to{opacity:.82;transform:scale(1)}}@keyframes event-alert-exit{0%{opacity:.82;transform:scale(1)}to{opacity:0;transform:scale(.9)}}.result-viewport-status{color:var(--muted);border:1px solid var(--border);background:var(--panel-2);border-radius:8px;padding:8px 10px;font-size:13px}.player-panel{border:1px solid var(--border);background:#000;border-radius:10px;position:relative;overflow:hidden}.player{object-fit:contain;background:#000;width:100%;max-height:min(48vh,560px);display:block}.player.placeholder{min-height:240px;color:var(--muted);place-items:center;font-size:14px;display:grid}.player-loading{z-index:4;pointer-events:none;color:#e8eef8;letter-spacing:.04em;background:#00000073;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:13px;display:flex;position:absolute;inset:0}.player-loading-spinner{border:3px solid #ffffff38;border-top-color:#7eb6ff;border-radius:50%;width:36px;height:36px;animation:.75s linear infinite player-spin}@keyframes player-spin{to{transform:rotate(360deg)}}.player-controls{z-index:5;align-items:center;gap:10px;padding:8px 12px;display:flex;position:absolute;bottom:0;left:0;right:0}.player-play{color:#f3f4f6;cursor:pointer;background:#2a313a14;border:none;border-radius:4px;width:32px;height:28px;font-size:11px;line-height:1}.player-play:hover{background:#3741518c}.player-time{color:#e5e7ebe6;font-size:12px;font-family:var(--mono);text-shadow:0 1px 2px #000000a6;flex-shrink:0;min-width:84px}.player-seek-wrap{flex:1;align-items:center;min-width:0;height:28px;display:flex;position:relative}.player-seek-track{pointer-events:none;z-index:0;background:#ffffff2e;border-radius:999px;height:6px;position:absolute;top:50%;left:0;right:0;overflow:visible;transform:translateY(-50%)}.player-seek-loop{background:linear-gradient(90deg,#38bdf8d9,#3b82f6f2);border-radius:999px;position:absolute;top:0;bottom:0;box-shadow:0 0 0 1px #93c5fd73}.player-seek-feedback{background:#ef4444d9;border-radius:2px;min-width:3px;position:absolute;top:-1px;bottom:-1px}.player-seek-mark{position:absolute;top:50%;transform:translate(-50%,-50%)}.player-seek-mark.is-a,.player-seek-mark.is-b{color:#fff;border-radius:4px;padding:1px 4px;font-size:9px;font-weight:800;line-height:1;transform:translate(-50%,calc(-50% - 12px));box-shadow:0 1px 3px #00000073}.player-seek-mark.is-a{background:#d97706}.player-seek-mark.is-b{background:#2563eb}.player-seek-mark.is-a:before,.player-seek-mark.is-b:before{content:"";opacity:.95;background:currentColor;width:2px;height:10px;position:absolute;top:100%;left:50%;transform:translate(-50%)}.player-seek{z-index:1;accent-color:#e5e7eb;cursor:pointer;background:0 0;flex:1;width:100%;margin:0;position:relative}.player-seek-wrap.has-loop .player-seek{accent-color:#93c5fd}.player-ab-btn{color:#f3f4f6e6;letter-spacing:.02em;cursor:pointer;text-shadow:0 1px 2px #0000008c;background:#11182759;border:1px solid #ffffff2e;border-radius:999px;flex-shrink:0;min-width:40px;height:26px;padding:0 8px;font-size:11px;font-weight:700}.player-ab-btn:hover{background:#3741518c}.player-ab-btn.has-a{color:#fde68a;border-color:#fbbf248c}.player-ab-btn.is-looping{color:#eff6ff;background:#3b82f673;border-color:#93c5fd8c}.player-note-btn{color:#fecaca;cursor:pointer;white-space:nowrap;text-shadow:0 1px 2px #0000008c;background:#7f1d1d73;border:1px solid #f8717199;border-radius:999px;flex-shrink:0;height:26px;padding:0 10px;font-size:11px;font-weight:700}.player-note-btn:hover{color:#fff;background:#b91c1c99}.reject-modal{width:min(620px,100%);max-height:min(88vh,860px)}.reject-hint{color:var(--muted);margin:0 0 12px;font-size:13px;line-height:1.45}.reject-section{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.reject-label{letter-spacing:.06em;text-transform:uppercase;color:#9ca3af;font-size:11px;font-weight:800}.reject-reasons{flex-wrap:wrap;gap:6px;display:flex}.reject-reason{border:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:inline-flex}.reject-reason input{margin:0}.reject-reason.on{color:#fecaca;background:#ef44442e;border-color:#f87171}.reject-message,.reject-mark-note{box-sizing:border-box;border:1px solid var(--border);width:100%;color:var(--text);font:inherit;background:#00000040;border-radius:6px;padding:8px 10px;font-size:13px}.reject-message{resize:vertical;min-height:64px}.reject-empty{color:var(--muted);margin:0;font-size:12px;line-height:1.45}.reject-marks{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.reject-mark{background:#7f1d1d24;border:1px solid #f8717159;border-radius:8px;flex-direction:column;gap:6px;padding:8px;display:flex}.reject-mark-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.reject-mark-row select{border:1px solid var(--border);background:var(--panel-2,#1f2937);color:var(--text);border-radius:6px;padding:4px 6px;font-size:12px}.feedback-tag-static{color:#fff;text-align:center;background:#dc2626;border-radius:4px;min-width:18px;height:18px;padding:0 4px;font-size:11px;font-weight:800;line-height:18px}.reject-mark-time{font-family:var(--mono);color:#fde68a;font-size:12px;font-weight:700}.reject-mark-remove{color:var(--muted);cursor:pointer;background:0 0;border:none;margin-left:auto;font-size:18px;line-height:1}.reject-mark-remove:hover{color:#f87171}.reject-mark-found{color:var(--muted);flex-wrap:wrap;gap:6px;font-size:12px;display:flex}.reject-mark-found span{color:var(--text);background:#ffffff14;border-radius:999px;padding:0 6px}.reject-history{margin-bottom:14px;font-size:12px}.reject-history summary{cursor:pointer;color:#9ca3af;font-weight:700}.reject-history ul{flex-direction:column;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.reject-history li{background:#ffffff0a;border-radius:6px;padding:8px}.reject-history-head{color:var(--muted);margin-bottom:2px}.reject-history-message,.reject-history-marks{white-space:pre-wrap}.player-rates{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:4px;max-width:min(100%,420px);display:inline-flex;position:relative}.player-rate-btn{color:#f3f4f6e6;cursor:pointer;text-shadow:0 1px 2px #0000008c;background:#11182759;border:1px solid #ffffff2e;border-radius:999px;min-width:34px;height:26px;padding:0 7px;font-size:11px;font-weight:700}.player-rate-btn:hover{background:#3741518c}.player-rate-btn.active{color:#eff6ff;background:#3b82f673;border-color:#93c5fd8c}.player-rate-settings{color:#f3f4f6e6;cursor:pointer;background:#11182759;border:1px solid #ffffff2e;border-radius:999px;width:26px;height:26px;padding:0;font-size:12px;font-weight:700;line-height:1}.player-rate-settings:hover,.player-rate-settings.active{color:#eff6ff;background:#3b82f673;border-color:#93c5fd8c}.player-rate-picker{z-index:20;background:#111827f5;border:1px solid #ffffff29;border-radius:10px;grid-template-columns:repeat(2,minmax(72px,1fr));gap:4px 10px;min-width:180px;padding:10px;display:grid;position:absolute;bottom:calc(100% + 8px);right:0;box-shadow:0 10px 28px #00000073}.player-rate-picker.is-portal{z-index:4000;position:fixed;bottom:auto;right:auto}.player-rate-picker-title{color:#e5e7ebcc;grid-column:1/-1;margin-bottom:2px;font-size:11px;font-weight:700}.player-rate-picker-item{color:#f3f4f6;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:12px;font-weight:650;display:inline-flex}.player-rate-picker-item input{accent-color:#60a5fa;margin:0}.timeline{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:12px 14px 10px}.timeline-meta{color:var(--muted);font-size:12px;font-family:var(--mono);grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-bottom:10px;display:grid}.timeline.readonly .timeline-meta{justify-content:flex-end;display:flex}.frame-badge{letter-spacing:.04em;color:#8b95a1;flex-direction:column;align-items:flex-start;gap:4px;line-height:1.15;display:flex}.track-label.track-frame{flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;line-height:1.15}.track-frame-kicker{letter-spacing:.08em;color:#8b95a1;font-size:10px}.add-event-btn.placeholder-spacer{visibility:hidden;pointer-events:none;min-width:88px;height:28px}.track-status{justify-content:flex-end;gap:18px;display:flex}.timeline-body{grid-template-columns:88px 1fr;gap:10px;padding-bottom:4px;display:grid}.timeline-labels{flex-direction:column;gap:8px;display:flex}.timeline-rails{min-width:0;position:relative}.timeline-rails-inner{flex-direction:column;gap:8px;width:100%;display:flex;position:relative}.track-label{letter-spacing:.06em;color:#8b95a1;align-items:center;min-height:36px;font-size:11px;font-weight:700;display:flex}.track-label.spacer{min-height:22px}.scale-rail,.track-rail{background:var(--rail);border:1px solid #252b33;border-radius:4px;min-height:36px;position:relative}.scale-rail{background:0 0;border:none;min-height:22px}.track-row-rail{min-height:36px}.timeline-loop{z-index:4;pointer-events:none;position:absolute;inset:0}.timeline-loop-band{background:#3b82f629;border-top:2px solid #60a5fae6;border-bottom:2px solid #60a5fae6;position:absolute;top:0;bottom:0}.timeline-loop-mark{width:2px;position:absolute;top:0;bottom:0;transform:translate(-1px)}.timeline-loop-mark.is-a{background:#f59e0b}.timeline-loop-mark.is-b{background:#3b82f6}.timeline-loop-flag{color:#fff;border-radius:3px;padding:1px 4px;font-size:10px;font-weight:800;line-height:1.2;position:absolute;top:-2px;left:50%;transform:translate(-50%);box-shadow:0 1px 3px #00000080}.timeline-loop-mark.is-a .timeline-loop-flag{background:#d97706}.timeline-loop-mark.is-b .timeline-loop-flag{background:#2563eb}.feedback-band{z-index:1;pointer-events:none;background:#ef444424;border-left:1px solid #f87171b3;border-right:1px solid #f87171b3;min-width:3px;position:absolute;top:0;bottom:0}.feedback-band.is-active{background:#ef444447;border-color:#f87171}.feedback-tag{z-index:3;color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:3px;min-width:16px;height:14px;padding:0 4px;font-size:9px;font-weight:800;line-height:14px;position:absolute;bottom:0}.feedback-tag.is-active,.feedback-tag:hover{background:#f87171}.tick{color:#6b7280;font-size:11px;font-family:var(--mono);position:absolute;top:0;transform:translate(-50%)}.playhead{z-index:5;pointer-events:none;background:#ffffffe6;width:2px;position:absolute;top:0;bottom:0;transform:translate(-1px)}.track-rail{cursor:pointer;box-sizing:border-box;overflow:visible}.event-chip{color:#111;cursor:pointer;white-space:nowrap;border:none;border-radius:3px;min-width:18px;height:14px;padding:0 3px;font-size:9px;font-weight:800;line-height:14px;position:absolute;transform:translate(-50%);box-shadow:0 0 0 1px #00000040}.legend{border-top:1px solid var(--border);flex-wrap:wrap;gap:12px 16px;margin-top:12px;padding-top:10px;display:flex}.legend-item{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.swatch{color:#111;border-radius:3px;place-items:center;min-width:22px;height:16px;padding:0 4px;font-size:9px;font-weight:800;display:inline-grid}.modal-head-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;max-width:100%;margin-left:auto;display:flex}.review-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin:0;display:flex}.review-actions button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;height:34px;padding:0 12px;font-weight:600}.review-actions .ghost{background:#374151}.review-actions .danger-btn{background:#7f1d1d}.modal pre{border:1px solid var(--border);font-family:var(--mono);background:#0f1318;border-radius:8px;margin:0;padding:12px;font-size:12px;line-height:1.45;overflow:auto}@media (width<=900px){.admin-top{grid-template-columns:1fr;justify-items:stretch;gap:12px}.admin-tabs{justify-self:stretch;overflow-x:auto}.admin-top-actions{justify-content:flex-start}}.view-switch{background:#ffffff0a;border-radius:999px;flex:none;align-items:center;gap:2px;padding:2px;display:inline-flex}.view-switch button{width:34px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;place-items:center;display:grid}.view-switch button.on{color:var(--text);background:#ffffff1a}.view-switch svg{fill:currentColor;width:15px;height:15px}.gt-cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;padding:12px 14px 4px;display:grid}.gt-card-sort{border:1px solid var(--border);background:#ffffff0a;border-radius:10px;flex-wrap:wrap;flex:0 auto;align-items:center;gap:2px;width:fit-content;max-width:100%;padding:3px;display:flex}.gt-card-sort .sort-btn{height:28px;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:7px;align-items:center;gap:4px;padding:0 10px;font-size:12px;font-weight:650;line-height:1;display:inline-flex}.gt-card-sort .sort-btn:hover{color:var(--text);background:#ffffff0f}.gt-card-sort .sort-btn.on{color:#dbeafe;background:#3b82f633}.gt-card-sort .sort-arrow{color:#93c5fd;font-size:11px}.gt-card{background:#ffffff0a;border-radius:12px;outline:1px solid #0000;flex-direction:column;gap:8px;padding:8px;display:flex;position:relative}.gt-card.is-last-played,tr.is-last-played td{background:#3b82f624}.gt-card.is-last-played{outline-color:#60a5fad9}tr.is-last-played td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.last-played-tag{color:#fff;font-family:var(--font);letter-spacing:.02em;vertical-align:middle;background:#2563ebd9;border-radius:999px;align-items:center;margin-left:8px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-flex}.gt-card .last-played-tag{z-index:1;margin-left:0;position:absolute;top:14px;left:14px}.learn-shared-tag{z-index:1;color:#052e1c;letter-spacing:.02em;background:#34d399e6;border-radius:999px;align-items:center;padding:2px 7px;font-size:10px;font-weight:800;display:inline-flex;position:absolute;top:14px;right:14px}.gt-card.is-learn-shared{box-shadow:inset 0 0 0 1px #34d39959}.gt-card-check{z-index:2;-webkit-backdrop-filter:blur(6px);color:#0000;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;background:#0b0d108c;border:1.5px solid #e8eaedb8;border-radius:7px;place-items:center;width:22px;height:22px;padding:0;transition:background .12s,border-color .12s,box-shadow .12s,color .12s,transform .12s;display:inline-grid;position:absolute;top:10px;left:10px;box-shadow:0 0 0 1px #00000059,0 4px 10px #00000047}.gt-card-check:after{content:"";opacity:0;border:2px solid;border-width:0 2px 2px 0;width:5px;height:9px;margin-top:-1px;transition:opacity .12s,transform .12s;transform:rotate(45deg)scale(.85)}.gt-card-check:hover{background:#0f172ab8;border-color:#fff;transform:scale(1.04)}.gt-card-check:focus-visible{outline-offset:2px;outline:2px solid #93c5fd}.gt-card-check input{opacity:0;pointer-events:none;width:100%;height:100%;margin:0;position:absolute;inset:0}.gt-card.is-selected .gt-card-check,.gt-card-check[aria-checked=true]{color:#fff;background:#3b82f6;border-color:#60a5fa;box-shadow:0 0 0 1px #2563eb73,0 6px 14px #2563eb59}.gt-card.is-selected .gt-card-check:after,.gt-card-check[aria-checked=true]:after{opacity:1;transform:rotate(45deg)scale(1)}.gt-card.is-selected{background:#3b82f624;outline-color:#60a5fae6;box-shadow:inset 0 0 0 1px #60a5fa47}.gt-card.is-selected.is-last-played{outline-color:#60a5faf2}.gt-card .last-played-tag{left:40px}body.is-check-dragging .gt-card-thumb{pointer-events:none}.flag-pill{color:#9ca3af;cursor:pointer;background:0 0;border:1px solid #374151;border-radius:999px;align-items:center;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.flag-pill.on{color:#34d399;background:#34d39924;border-color:#34d3998c}.action-btn.on{color:#34d399;border-color:#34d39973}.gt-card-thumb{aspect-ratio:16/9;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;background:#000;border:none;border-radius:8px;width:100%;padding:0;overflow:hidden}.gt-card-thumb img{object-fit:cover;pointer-events:none;-webkit-user-drag:none;user-drag:none;width:100%;height:100%;display:block}.gt-card-media{position:relative}.card-status{z-index:1;color:#e2e8f0;letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172ac7;border:1px solid #ffffff1f;border-radius:999px;max-width:calc(100% - 16px);padding:3px 8px;font-size:11px;font-weight:700;line-height:1.2;position:absolute;bottom:8px;right:8px;overflow:hidden}.card-status-pending{color:#cbd5e1;background:#334155d1;border-color:#94a3b873}.card-status-upload_rejected,.card-status-submit_rejected{color:#fecaca;background:#7f1d1dd1;border-color:#f8717180}.card-status-approved{color:#bfdbfe;background:#1e3a8ad1;border-color:#60a5fa80}.card-status-submitted{color:#e9d5ff;background:#581c87d1;border-color:#c084fc80}.card-status-completed{color:#a7f3d0;background:#064e3bd1;border-color:#34d39980}.card-status-deleted{color:#94a3b8;background:#1e293bd9;border-color:#94a3b866}.gt-card-view{z-index:1;position:absolute;top:8px;right:8px}.gt-card-view .action-btn.primary{color:#475569;background:#ffffff14;border-color:#60a5fa}.gt-card-view .action-btn.primary svg path,.gt-card-view .action-btn.primary svg circle{stroke-width:2.2px}.gt-card-view .action-btn.primary:hover:not(:disabled){color:#334155;background:#60a5fa29;border-color:#93c5fd}.gt-card-foot{flex-direction:column;align-items:stretch;gap:8px;display:flex}.gt-card-meta{min-width:0;color:var(--muted);flex-direction:column;gap:2px;font-size:12px;display:flex}.gt-card-meta strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.gt-card-meta>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gt-card-sub{justify-content:space-between;align-items:baseline;gap:8px;min-width:0;display:flex}.gt-card-sub>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gt-card-user{color:#cbd5e1;text-align:right;flex:0 auto;max-width:45%;font-weight:600}.gt-card-events{flex-wrap:wrap;place-content:flex-start;gap:3px;width:100%;min-height:0;max-height:64px;display:flex;overflow:auto}.gt-card-events-empty{color:var(--muted);opacity:.75;font-size:11px}.gt-card-event-chip{color:#111;letter-spacing:.01em;border-radius:4px;justify-content:center;align-items:center;min-width:18px;height:16px;padding:0 4px;font-size:9px;font-weight:800;line-height:1;display:inline-flex}.gt-card-empty{grid-column:1/-1}.deleted-at{color:#fca5a5;margin-top:2px;font-size:12px;line-height:1.35;display:block}.similar-note{color:#b45309;white-space:pre-line;margin-top:4px;font-size:12px;line-height:1.35;display:block}.similarity-check,.action-group .action-btn.similarity-check{color:#94a3b8;cursor:pointer;background:#94a3b81f;border:1px solid #94a3b88c;border-radius:8px;place-items:center;width:34px;height:34px;padding:0;display:inline-grid}.similarity-check svg,.action-group .action-btn.similarity-check svg{width:15px;height:15px}.similarity-check:hover:not(:disabled),.action-group .action-btn.similarity-check:hover:not(:disabled){color:#cbd5e1;background:#94a3b838;border-color:#cbd5e1b3}.similarity-check:disabled,.action-group .action-btn.similarity-check:disabled{opacity:.5;cursor:default}.similarity-compare,.action-group .action-btn.similarity-compare{color:#e0b56a;cursor:pointer;background:#f59e0b1a;border:1px solid #d9a4418c;border-radius:8px;place-items:center;width:28px;height:28px;margin-top:6px;padding:0;display:inline-grid}.action-group .action-btn.similarity-compare{width:34px;height:34px;margin-top:0}.similarity-compare svg{width:15px;height:15px}.similarity-compare:hover:not(:disabled),.action-group .action-btn.similarity-compare:hover:not(:disabled){color:#f0cb86;background:#f59e0b2e;border-color:#e0b56abf}.similarity-compare:disabled{opacity:.5;cursor:default}.compare-modal{flex-direction:column;width:min(1100px,100%);max-height:min(92vh,900px);display:flex}.compare-modal.is-fullscreen{border-radius:0;width:100%;height:100%;max-height:none}.compare-modal.is-fullscreen .compare-stage{flex-direction:column;flex:1;min-height:0;display:flex}.compare-modal.is-fullscreen .compare-videos{flex:1;min-height:0}.compare-modal.is-fullscreen .compare-video{object-fit:contain;height:100%;max-height:none}.compare-head-actions{align-items:center;gap:8px;display:flex}.compare-reject,.compare-pass{cursor:pointer;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700}.compare-reject{color:#fca5a5;background:#ef444424;border:1px solid #f871718c}.compare-reject:hover{color:#fecaca;background:#ef44443d;border-color:#fca5a5bf}.compare-pass{color:#6ee7b7;background:#34d39929;border:1px solid #34d3998c}.compare-pass:hover{background:#34d39947}.compare-modal .modal-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.compare-grid{grid-template-columns:1fr 1fr;gap:14px;padding:0 16px 16px;display:grid}.compare-pane h3{margin:0 0 8px;font-size:13px;font-weight:650}.compare-pane video{background:#000;border-radius:8px;width:100%;max-height:52vh}.compare-headings{grid-template-columns:1fr 1fr;gap:14px;padding:0 16px;display:grid}.compare-headings h3{margin:0 0 8px;font-size:13px;font-weight:650}.compare-stage{padding:0 16px 16px}.compare-videos,.compare-bars{grid-template-columns:1fr 1fr;gap:14px;display:grid}.compare-video-wrap{background:#000;border-radius:8px;min-height:120px;position:relative;overflow:hidden}.compare-video{background:#000;border-radius:8px;width:100%;max-height:42vh;display:block}.compare-bars{margin-top:8px}.compare-seek-wrap{position:relative}.compare-seek{cursor:pointer;touch-action:none;background:#ffffff24;border-radius:999px;height:16px;position:relative;overflow:hidden}.compare-timelines{grid-template-columns:1fr 1fr;gap:14px;margin-top:10px;display:grid}.compare-timelines .timeline{padding:10px 12px 8px}.compare-legend{border-top:1px solid var(--border);flex-wrap:wrap;gap:12px 16px;margin-top:10px;padding-top:10px;display:flex}.compare-seek-head{background:#fff;width:2px;margin-left:-1px;position:absolute;top:-1px;bottom:-1px}.compare-seek-played{background:#ffffff47;position:absolute;top:0;bottom:0;left:0}.compare-seek-hit{background:#e0b56ad9;position:absolute;top:0;bottom:0}.compare-seek-loop{background:#60a5fa59;position:absolute;top:0;bottom:0}.compare-seek-played,.compare-seek-hit,.compare-seek-loop,.compare-seek-head{pointer-events:none}.compare-time{color:var(--muted);font-size:11px;font-family:var(--mono);margin-top:4px;display:block}.compare-controls{align-items:center;gap:8px;margin-top:10px;display:flex}.compare-play-similar{color:#e0b56a;cursor:pointer;background:#e0b56a24;border:1px solid #e0b56a8c;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.compare-play-similar:disabled{opacity:.45;cursor:default}@media (width<=800px){.compare-videos,.compare-bars,.compare-timelines,.compare-headings{grid-template-columns:1fr}}.compare-matches{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.compare-matches button{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:3px 8px;font-size:11px}.compare-matches button.on{color:#fbbf24;background:#f59e0b1f;border-color:#f59e0b}@media (width<=800px){.compare-grid{grid-template-columns:1fr}}.file-cell{align-items:center;gap:10px;min-width:220px;max-width:320px;display:flex}.file-cell-text{flex:1;min-width:0;max-width:220px}.file-cell .table-events{max-width:220px;max-height:35px;margin-top:4px;overflow:hidden}.file-cell .similarity-compare{margin-left:14px}.table-thumb{border:1px solid var(--border);cursor:pointer;background:#111;border-radius:6px;flex:none;width:84px;height:48px;padding:0;overflow:hidden}.table-thumb img{object-fit:cover;width:100%;height:100%;display:block}.file-name-line,.gt-card-title,.viewport-chrome-meta h2{align-items:center;gap:8px;min-width:0;display:flex}.gt-card-title strong{min-width:0}.similarity-badge{color:#34d399;letter-spacing:.02em;background:#34d39929;border-radius:999px;flex:none;align-items:center;padding:2px 7px;font-size:11px;font-weight:700;line-height:1.4;display:inline-flex}.length-badge{font:inherit;letter-spacing:.02em;cursor:pointer;border:0;border-radius:999px;flex:none;align-items:center;margin-left:6px;padding:2px 7px;font-size:11px;font-weight:700;line-height:1.4;display:inline-flex}.length-badge-short{color:#fbbf24;background:#fbbf242e}.length-badge-long{color:#60a5fa;background:#60a5fa2e}.length-badge:hover{filter:brightness(1.08)}.confirm-message{white-space:pre-line}.feedback-band.tone-fixed{background:#22c55e24;border-color:#4ade80b3}.feedback-band.tone-changed{background:#f59e0b29;border-color:#fbbf24b3}.feedback-tag.tone-fixed{background:#16a34a}.feedback-tag.tone-changed{background:#d97706}.feedback-tag.tone-fixed:hover,.feedback-tag.tone-fixed.is-active{background:#22c55e}.feedback-tag.tone-changed:hover,.feedback-tag.tone-changed.is-active{background:#f59e0b}.player-seek-feedback.tone-fixed{background:#22c55ed9}.player-seek-feedback.tone-changed{background:#f59e0be6}.prev-feedback,.prev-feedback-fab{z-index:7;position:absolute;top:58px;right:12px}.prev-feedback{border:1px solid var(--border);background:#11141af0;border-left:4px solid #ef4444;border-radius:10px;flex-direction:column;width:min(360px,42%);max-height:46%;font-size:12px;display:flex;overflow:hidden;box-shadow:0 10px 28px #00000080}.prev-feedback.tone-fixed{border-left-color:#22c55e}.prev-feedback.tone-changed{border-left-color:#f59e0b}.prev-feedback.tone-neutral{border-left-color:#94a3b8}.prev-feedback-head{align-items:center;gap:8px;padding:8px 8px 6px 12px;display:flex}.prev-feedback-title{flex:1;font-size:13px;font-weight:800}.prev-feedback-min{border:1px solid var(--border);width:24px;height:24px;color:var(--text);cursor:pointer;background:#0000004d;border-radius:50%;padding:0;font-size:15px;line-height:1}.prev-feedback-body{flex-direction:column;gap:6px;min-height:0;padding:0 12px 10px;display:flex;overflow:auto}.prev-feedback-meta{color:var(--muted);line-height:1.4}.prev-feedback-reasons{color:#fecaca;font-weight:700}.prev-feedback-message{white-space:pre-wrap;margin:0;line-height:1.4}.prev-feedback-marks{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.prev-feedback-mark{background:#ffffff0d;border:1px solid #0000;border-radius:6px;flex-direction:column;gap:6px;padding:6px 8px;display:flex}.prev-feedback-mark.is-active{border-color:#93c5fd99}.prev-feedback-mark.is-approved{background:#22c55e1a}.prev-feedback-mark.is-not_fixed{background:#ef44441a}.prev-feedback-jump{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;gap:3px;padding:0;font-size:12px;display:flex}.prev-feedback-decide{gap:6px;display:flex}.prev-feedback-decide button{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:#00000040;border-radius:999px;padding:2px 10px;font-size:11px;font-weight:700}.prev-feedback-decide button:disabled{opacity:.55;cursor:wait}.prev-feedback-decide .is-approve:hover,.prev-feedback-decide .is-approve.on{color:#bbf7d0;border-color:#22c55e}.prev-feedback-decide .is-approve.on{color:#fff;background:#15803d}.prev-feedback-decide .is-reject:hover,.prev-feedback-decide .is-reject.on{color:#fecaca;border-color:#ef4444}.prev-feedback-decide .is-reject.on{color:#fff;background:#b91c1c}.prev-feedback-bulk{color:#bbf7d0;cursor:pointer;background:#22c55e2e;border:1px solid #22c55e;border-radius:6px;align-self:flex-start;padding:4px 10px;font-size:12px;font-weight:700}.prev-feedback-select{border:1px solid var(--border);background:var(--panel-2,#1f2937);color:var(--text);border-radius:6px;padding:4px 6px;font-size:12px}.prev-feedback-row{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.prev-feedback-tag{color:#fff;text-align:center;background:#dc2626;border-radius:4px;min-width:22px;height:18px;padding:0 4px;font-size:10px;font-weight:800;line-height:18px}.prev-feedback-tag.tone-fixed{background:#16a34a}.prev-feedback-tag.tone-changed{background:#d97706}.prev-feedback-time{font-family:var(--mono);color:#fde68a;font-weight:700}.prev-feedback-issue{color:#e5e7eb}.prev-feedback-status{text-transform:uppercase;color:#fecaca;background:#ef444440;border-radius:999px;margin-left:auto;padding:0 6px;font-size:10px;font-weight:800}.prev-feedback-status.tone-fixed{color:#bbf7d0;background:#22c55e40}.prev-feedback-status.tone-changed{color:#fde68a;background:#f59e0b40}.prev-feedback-note{white-space:pre-wrap;color:#e5e7eb}.prev-feedback-diff{color:var(--muted);font-size:11px;line-height:1.4}.prev-feedback-fab{color:#fff;cursor:pointer;background:#dc2626;border:2px solid #ffffffb3;border-radius:999px;min-width:34px;height:34px;padding:0 8px;font-size:12px;font-weight:800;box-shadow:0 4px 14px #00000080}.prev-feedback-fab.tone-fixed{background:#16a34a}.prev-feedback-fab.tone-changed{background:#d97706}.prev-feedback-fab.tone-neutral{background:#475569}.upload-feedback-chip{color:#fde68a;white-space:nowrap;vertical-align:middle;border:1px solid #fbbf248c;border-radius:999px;margin-left:6px;padding:0 6px;font-size:10px;font-weight:700;display:inline-block}.prev-feedback-decide .is-edit{border-style:dashed}.prev-feedback-reason-text{color:#fecaca;white-space:pre-wrap;background:#ef44441f;border-left:3px solid #ef4444;border-radius:4px;padding:4px 8px;font-size:12px}.prev-feedback-reason-edit{flex-direction:column;gap:6px;display:flex}.prev-feedback-reason-edit textarea{box-sizing:border-box;width:100%;color:var(--text);font:inherit;resize:vertical;background:#00000059;border:1px solid #ef4444;border-radius:6px;padding:6px 8px;font-size:12px}.prev-feedback-reason-actions{justify-content:flex-end;gap:6px;display:flex}.prev-feedback-reason-actions button{color:#fff;cursor:pointer;background:#374151;border:none;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:700}.prev-feedback-reason-actions .danger{background:#b91c1c}
