@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size: 12px;--rc-drag-handle-mobile-size: 24px;--rc-drag-handle-bg-colour: rgba(0, 0, 0, .2);--rc-drag-bar-size: 6px;--rc-border-color: rgba(255, 255, 255, .7);--rc-focus-color: #0088ff}.ReactCrop{position:relative;display:inline-block;cursor:crosshair;max-width:100%}.ReactCrop *,.ReactCrop *:before,.ReactCrop *:after{box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{overflow:hidden;max-height:inherit}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{display:block;max-width:100%;max-height:inherit}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video{touch-action:none}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{touch-action:none}.ReactCrop__crop-mask{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;width:calc(100% + .5px);height:calc(100% + .5px)}.ReactCrop__crop-selection{position:absolute;top:0;left:0;transform:translateZ(0);cursor:move}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{pointer-events:none;content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border:1px solid var(--rc-border-color);opacity:.3}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed white}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){animation:marching-ants 1s;background-image:linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%);background-size:10px 1px,10px 1px,1px 10px,1px 10px;background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;color:#fff;animation-play-state:running;animation-timing-function:linear;animation-iteration-count:infinite}.ReactCrop__crop-selection:focus{outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{content:"";display:block;position:absolute;background-color:#fff6}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after{width:1px;height:100%}.ReactCrop__rule-of-thirds-vt:before{left:33.3333333333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6666666667%}.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{width:100%;height:1px}.ReactCrop__rule-of-thirds-hz:before{top:33.3333333333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6666666667%}.ReactCrop__drag-handle{position:absolute;width:var(--rc-drag-handle-size);height:var(--rc-drag-handle-size);background-color:var(--rc-drag-handle-bg-colour);border:1px solid var(--rc-border-color)}.ReactCrop__drag-handle:focus{background:var(--rc-focus-color)}.ReactCrop .ord-nw{top:0;left:0;transform:translate(-50%,-50%);cursor:nw-resize}.ReactCrop .ord-n{top:0;left:50%;transform:translate(-50%,-50%);cursor:n-resize}.ReactCrop .ord-ne{top:0;right:0;transform:translate(50%,-50%);cursor:ne-resize}.ReactCrop .ord-e{top:50%;right:0;transform:translate(50%,-50%);cursor:e-resize}.ReactCrop .ord-se{bottom:0;right:0;transform:translate(50%,50%);cursor:se-resize}.ReactCrop .ord-s{bottom:0;left:50%;transform:translate(-50%,50%);cursor:s-resize}.ReactCrop .ord-sw{bottom:0;left:0;transform:translate(-50%,50%);cursor:sw-resize}.ReactCrop .ord-w{top:50%;left:0;transform:translate(-50%,-50%);cursor:w-resize}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{top:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(-50%)}.ReactCrop__drag-bar.ord-e{right:0;top:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(50%)}.ReactCrop__drag-bar.ord-s{bottom:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(50%)}.ReactCrop__drag-bar.ord-w{top:0;left:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(-50%)}.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle,.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w{display:none}@media(pointer:coarse){.ReactCrop .ord-n,.ReactCrop .ord-e,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{width:var(--rc-drag-handle-mobile-size);height:var(--rc-drag-handle-mobile-size)}}:root{--bg: #030303;--bg-alt: #050505;--surface: #0d0d0d;--surface-hover: #141414;--surface-2: #1a1a1a;--surface-3: #252525;--border: #2a2a2a;--border-subtle: #1f1f1f;--text-primary: #fafafa;--text-secondary: #d4d4d4;--text-muted: #a3a3a3;--text-disabled: #525252;--accent: #006aff;--success: #00a03b;--warning: #f59e0b;--danger: #ef4444;--info: #3b82f6;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -1px rgba(0, 0, 0, .3);--shadow-md: 0 10px 15px -3px rgba(0, 0, 0, .5), 0 4px 6px -2px rgba(0, 0, 0, .3);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--radius-sm: 6px;--radius: 10px;--radius-md: 12px;--radius-lg: 16px;--radius-full: 9999px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: "Fira Code", "Cascadia Code", "JetBrains Mono", monospace;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .35s ease;--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .5), 0 10px 10px -5px rgba(0, 0, 0, .3)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background-color:#000}body{font-family:var(--font-sans);background-color:#000;color:var(--text-primary);min-height:100vh;margin:0;padding:0;line-height:1.6;font-size:15px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dashboard-container{display:flex;flex-direction:column;height:100vh;overflow:hidden}.dashboard-body{display:flex;flex:1;overflow:hidden}.sidebar{width:280px;background:var(--surface);display:flex;flex-direction:column;flex-shrink:0;transition:width var(--transition-slow),transform var(--transition-slow);overflow:hidden;padding:var(--space-2) 0;border-right:1px solid var(--border)}.sidebar-nav{flex:1;padding:0 0 var(--space-6) 0;overflow-x:hidden;overflow-y:auto}.nav-divider{border:none;border-top:1px solid var(--border);margin:var(--space-2) 0}.nav-item{display:flex;align-items:center;gap:var(--space-3);padding:10px var(--space-4);color:var(--text-muted);transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);border-left:3px solid transparent;font-weight:500;font-size:15px;text-decoration:none}.nav-item:hover{background:var(--surface-hover);color:var(--text-primary);border-left-color:var(--accent)}.nav-item.active{background:var(--surface-2);color:var(--text-primary);border-left-color:var(--accent)}.nav-item:before,.nav-item:after{content:none!important}.nav-icon{font-size:22px;flex-shrink:0}.nav-label{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;opacity:1;transition:opacity .15s .2s}.nav-badge{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;line-height:20px;text-align:center;flex-shrink:0;opacity:1;transition:opacity .15s .2s}.nav-count{margin-left:auto;font-size:12px;font-weight:800;color:#ffffff80;flex-shrink:0;opacity:1;transition:opacity .15s .2s}.sidebar-footer{display:flex;align-items:center;justify-content:center;position:relative;padding:var(--space-2);min-height:50px;box-sizing:border-box;border-top:1px solid var(--border);border-right:1px solid var(--border)}.version-badge{font-size:13px;color:var(--text-muted);text-align:center;font-weight:600;font-family:var(--font-mono);white-space:nowrap;opacity:1;transition:opacity .15s .25s}.sidebar-footer .sidebar-toggle-btn{position:absolute;right:var(--space-2);transition:right var(--transition-slow)}.sidebar-toggle-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:none;border:2px solid var(--border);border-radius:4px;color:var(--text-muted);cursor:pointer;font-size:16px;transition:all .15s;flex-shrink:0}.sidebar-toggle-btn:hover{background:var(--surface-3);color:var(--text-primary);border-color:var(--text-muted)}.sidebar.collapsed{width:60px}.sidebar.collapsed .nav-label,.sidebar.collapsed .nav-badge,.sidebar.collapsed .nav-count{opacity:0;transition:opacity .05s}.sidebar.collapsed .nav-icon{font-size:22px}.sidebar.collapsed .sidebar-footer .version-badge{opacity:0;transition:opacity .1s}.sidebar.collapsed .sidebar-footer .sidebar-toggle-btn{right:calc(50% - 14px)}@media(max-width:768px){.sidebar{position:fixed;left:0;top:0;height:100vh;z-index:1000;transform:translate(-100%);box-shadow:var(--shadow-xl)}.sidebar.mobile-open{transform:translate(0)}}.page-content{flex:1;overflow-y:auto;padding:var(--space-6) var(--space-8);background:var(--bg-alt)}.topbar{height:60px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-5);flex-shrink:0;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);gap:var(--space-4)}.topbar-left{display:flex;align-items:center;gap:var(--space-1);flex-shrink:0}.topbar-brand{display:flex;align-items:center;gap:var(--space-1);text-decoration:none;color:inherit}.topbar-logo{height:36px;object-fit:contain}.topbar-title{font-size:20px;font-weight:800;margin:0;color:var(--accent);letter-spacing:-.02em;white-space:nowrap}.topbar-stats{display:flex;align-items:center;gap:var(--space-6);flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;padding-left:var(--space-6)}.topbar-stats::-webkit-scrollbar{display:none}.topbar-stats .status-bar-item{display:flex;align-items:center;gap:4px;white-space:nowrap;flex-shrink:0}.topbar-stats .status-bar-label{font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.topbar-stats .status-bar-value{font-size:13px;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums;min-width:32px;text-align:right}.topbar-stats .status-bar-value.error{color:var(--danger)}.topbar-right{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.menu-toggle{display:none;flex-direction:column;gap:5px;background:transparent;border:none;cursor:pointer;padding:var(--space-2);border-radius:var(--radius)}.menu-toggle span{width:24px;height:2px;background:var(--text-primary);border-radius:2px;transition:all var(--transition-base)}.menu-toggle:hover span{background:var(--accent)}@media(max-width:768px){.menu-toggle{display:flex}.topbar-stats{display:none}}.page-content::-webkit-scrollbar{width:10px}.page-content::-webkit-scrollbar-track{background:var(--bg-alt)}.page-content::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:var(--radius-full)}.page-content::-webkit-scrollbar-thumb:hover{background:var(--border)}.page-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6)}.page-header h2{font-size:clamp(28px,3.5vw,36px);font-weight:800;color:var(--text-primary);margin:0;letter-spacing:-.02em}.page-header p{font-size:14px;color:var(--text-muted);margin:var(--space-1) 0 0}.page-header-left{display:flex;align-items:center;gap:var(--space-3)}.page-header-badges{display:flex;align-items:center;gap:var(--space-2)}.page-header-right{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6);margin-bottom:var(--space-8)}.stat-card{background:var(--surface-2);border:2px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6);display:flex;align-items:center;gap:var(--space-5);box-shadow:var(--shadow-sm)}.stat-card-loading{opacity:.5}.stat-icon{width:64px;height:64px;background:var(--surface-3);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;flex-shrink:0;border:2px solid var(--border)}.stat-icon ion-icon{font-size:32px}.stat-content{flex:1}.stat-value{font-size:32px;font-weight:800;color:var(--text-primary);line-height:1.2;letter-spacing:-.02em}.stat-label{font-size:14px;color:var(--text-muted);font-weight:600;margin-top:var(--space-1);text-transform:uppercase;letter-spacing:.05em}@media(max-width:1400px){.stats-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:1024px){.stats-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr}.page-header{flex-direction:column}}.welcome-section{max-width:100%}.welcome-header{margin-bottom:var(--space-4)}.welcome-header+.tabs{margin-top:calc(var(--space-3) * -1)}.welcome-header h2{display:inline-block;color:var(--accent);font-size:clamp(28px,3.5vw,36px);margin-bottom:var(--space-2);line-height:normal;font-weight:800}.welcome-header p{color:var(--text-muted);font-size:16px}.entity-toolbar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}.entity-toolbar-left{display:flex;gap:var(--space-2)}.entity-toolbar-right{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center}.empty-cell{color:var(--text-disabled)}.external-link{color:var(--accent);text-decoration:none}.external-link:hover{text-decoration:underline}.entity-toolbar-after-tabs{margin-top:var(--space-4)}.data-td-center{text-align:center}.data-td-right{text-align:right}.data-td-bold{font-weight:600}.data-td-truncate{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-td-truncate-lg{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-td-truncate-xl{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-capitalize{text-transform:capitalize}.text-tabular{font-variant-numeric:tabular-nums}.text-secondary-sm{color:var(--text-secondary);font-size:.9rem}.text-sm{font-size:.85rem}.btn-compact{padding:2px 8px;font-size:.75rem}.action-buttons{display:flex;gap:var(--space-1);justify-content:center}.alert-success{color:var(--success, #4ade80);margin-top:var(--space-3);font-size:.9rem}.alert-error-mt{margin-top:var(--space-3)}.user-avatar-dark{background:#000}.edit-input-sm{width:120px}.pagination-simple{display:flex;justify-content:center;align-items:center;gap:var(--space-3);margin-top:var(--space-4)}.pagination-simple-text{font-size:.9rem}.broadcast-form{padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border-primary);max-width:600px}.broadcast-actions{margin-top:var(--space-4);display:flex;gap:var(--space-2)}.broadcast-preview-scroll{max-height:100px;overflow:auto}.audit-row{cursor:pointer}.audit-admin-cell{display:flex;align-items:center;gap:var(--space-2)}.audit-admin-avatar{width:22px;height:22px;border-radius:50%;object-fit:cover}.audit-admin-icon{font-size:22px;color:var(--text-tertiary)}.audit-action-text{color:var(--text-secondary)}.audit-action-text strong{color:var(--text-primary);font-weight:500}.game-replay-icon{font-size:18px;color:var(--text-primary)}.game-no-replay-icon{font-size:16px;color:var(--text-muted);opacity:.4}.requester-avatar{width:22px;height:22px;border-radius:50%;object-fit:cover}.requester-icon{font-size:22px;color:var(--text-tertiary)}.analytics-section-gap{margin-top:var(--space-10)}.settings-skeleton-header{cursor:default}.section-title{font-size:20px;font-weight:700;margin-bottom:var(--space-6);color:var(--text-primary);letter-spacing:-.01em}.features-section{margin-top:var(--space-10)}.quick-links-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4)}@media(max-width:1200px){.quick-links-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:1024px){.quick-links-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.quick-links-grid{grid-template-columns:1fr}}.quick-link-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5);background:var(--surface-2);border:2px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all var(--transition-fast)}.quick-link-card:hover{border-color:var(--accent);box-shadow:var(--shadow)}.quick-link-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--accent);border-radius:var(--radius)}.quick-link-icon ion-icon{font-size:24px;color:#fff}.quick-link-content{flex:1}.quick-link-title{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-1)}.quick-link-description{font-size:14px;color:var(--text-secondary);margin:0}.quick-link-arrow{flex-shrink:0;color:var(--text-muted);display:flex;align-items:center}.quick-link-arrow ion-icon{font-size:20px}.quick-link-card:hover .quick-link-arrow{color:var(--accent)}.app{min-height:100vh;background-color:#000;padding:var(--space-6)}.app-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-4);margin:0 0 var(--space-6)}.header-left{display:flex;align-items:center;gap:var(--space-2);justify-self:start}.header-center{display:flex;align-items:center;gap:var(--space-4)}.header-right{display:flex;align-items:center;gap:var(--space-3);justify-self:end}.header-email{font-size:13px;font-weight:600;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px;margin:0 var(--space-2)}.app-logo{height:40px;width:auto}.app-title{font-size:clamp(24px,3vw,36px);font-weight:800;color:var(--accent)}.header-status,.header-connection{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:4px 12px;border-radius:var(--radius-full);white-space:nowrap}.header-status.running{background:#3b82f626;color:var(--info);border:2px solid var(--info)}.header-status.idle{background:#a3a3a31a;color:var(--text-muted);border:2px solid var(--border)}.header-connection.connected{background:#00a03b26;color:var(--success);border:2px solid var(--success)}.header-connection.disconnected{background:#ef444426;color:var(--danger);border:2px solid var(--danger)}.app-container{width:100%}.tabs{display:flex;gap:var(--space-1);margin-bottom:var(--space-6);border-bottom:1px solid var(--border);padding-bottom:0}.tab{padding:var(--space-3) var(--space-5);background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-size:15px;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:color .2s,border-color .2s;margin-bottom:-1px}.tab:hover{color:var(--text-secondary)}.tab-active{color:var(--accent);border-bottom-color:var(--accent)}.tab-viewport{overflow:hidden}.tab-slider{display:flex;transition:transform .35s cubic-bezier(.4,0,.2,1);will-change:transform}.tab-panel{min-width:100%;flex-shrink:0}.scraper-controls{margin-bottom:var(--space-6)}.controls-header{margin-bottom:var(--space-4)}.controls-title{font-size:20px;font-weight:700;color:var(--text-primary)}.filter-bar{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center}.filter-chip{display:inline-flex;align-items:center;padding:6px 16px;font-size:13px;font-weight:600;font-family:var(--font-sans);border:2px solid var(--border);border-radius:var(--radius-full);background:var(--surface-2);color:var(--text-muted);cursor:pointer;transition:all .2s}.filter-chip:hover{background:var(--surface-3);color:var(--text-secondary);border-color:var(--text-muted)}.filter-chip-active{color:var(--accent);border-color:var(--accent)}.filter-dropdown{position:relative}.filter-select{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;font-size:13px;font-weight:600;font-family:var(--font-sans);color:var(--text-muted);background:var(--surface-2);border:2px solid var(--border);border-radius:var(--radius-full);cursor:pointer;transition:all .2s;white-space:nowrap}.filter-select:hover{background:var(--surface-3);color:var(--text-secondary);border-color:var(--text-muted)}.filter-select-open{border-color:var(--accent)}.filter-select-active{color:var(--accent);border-color:var(--accent)}.filter-select-label{overflow:hidden;text-overflow:ellipsis}.filter-select-icon{font-size:12px;flex-shrink:0;opacity:.6}.filter-select:disabled{opacity:.5;cursor:not-allowed}.filter-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;min-width:100%;max-width:320px;background:var(--surface-2);border:1.5px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 8px 24px #0006;z-index:100;overflow:hidden}.filter-dropdown-search{padding:6px;border-bottom:1px solid var(--border)}.filter-dropdown-search input{width:100%;padding:6px 10px;font-size:13px;color:var(--text-primary);background:var(--surface-1);border:2px solid var(--border);border-radius:var(--radius-sm);outline:none}.filter-dropdown-search input:focus{border-color:var(--accent)}.filter-dropdown-list{max-height:280px;overflow-y:auto;padding:4px 0}.filter-dropdown-item{display:block;width:100%;padding:7px 12px;font-size:12px;font-weight:600;color:var(--text-secondary);background:none;border:none;cursor:pointer;text-align:left;transition:all .1s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filter-dropdown-item:hover{background:var(--surface-3);color:var(--text-primary)}.filter-dropdown-item-active{color:var(--text-secondary);background:var(--accent)}.filter-dropdown-item-active:hover{color:var(--text-primary);background:var(--accent)}.filter-dropdown-empty{padding:12px;font-size:13px;color:var(--text-disabled);text-align:center}.filter-dropdown-item-content{display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px}.filter-dropdown-item-count{font-size:10px;font-weight:800;background:var(--danger);color:#fff;padding:0 5px;border-radius:10px;line-height:16px;flex-shrink:0}.filter-dropdown-count-muted{background:var(--surface-3);color:#fff}.filter-dropdown-count-new{background:var(--success);color:#fff}.filter-dropdown-count-changed{background:var(--warning);color:#fff}.filter-dropdown-full{width:100%}.filter-select-full{width:100%;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);min-height:38px;justify-content:space-between}.filter-dropdown-full .filter-dropdown-menu{max-width:none}.filter-select-tags{display:flex;flex-wrap:wrap;gap:4px;flex:1;min-width:0}.filter-select-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--surface-3);border-radius:12px;font-size:12px;color:var(--text-secondary);line-height:1.4}.filter-select-tag-remove{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;cursor:pointer;border-radius:50%;font-size:10px;color:var(--text-muted);transition:color .15s,background .15s}.filter-select-tag-remove:hover{color:var(--danger);background:#ef444426}.filter-dropdown-item-check{display:flex;align-items:center;gap:8px;cursor:pointer}.filter-dropdown-item-check input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px;cursor:pointer;flex-shrink:0}.filter-dropdown-item-checked{background:none}.filter-dropdown-item-checked:hover{background:var(--surface-3)}.filter-separator{width:1px;height:24px;background:var(--border);flex-shrink:0;margin:0 var(--space-2)}.controls-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--space-4)}.control-item{display:flex;flex-direction:column;gap:2px;padding:var(--space-3);background:var(--surface-2);border:2px solid var(--border);border-radius:var(--radius);transition:border-color .2s,opacity .2s}.control-item.is-running{border-color:var(--accent)}.control-item.is-queued{border-color:var(--warning)}.control-item.is-inactive{opacity:.3}.control-row{display:flex;justify-content:space-between;align-items:center;gap:6px}.control-name{font-weight:600;color:var(--text-primary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.control-status{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;text-transform:capitalize}.control-status.ready{color:var(--text-muted)}.control-status.initializing,.control-status.queued{color:var(--warning)}.control-status.running{color:var(--accent)}.control-workers{font-size:12px;color:var(--text-muted);text-align:right}.control-workers.active{color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;gap:var(--space-2);padding:10px 18px;font-size:14px;font-weight:600;border:none;border-radius:var(--radius);cursor:pointer;font-family:var(--font-sans);transition:all .2s}.btn-primary{background:var(--accent);color:#fff;font-weight:700}.btn-primary:hover:not(:disabled){filter:brightness(1.1)}.btn-secondary{background:var(--surface-2);color:var(--text-primary);border:2px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--surface-3);border-color:var(--text-muted)}.btn-square{padding:10px}.btn-danger{background:var(--danger);color:#fff;font-weight:700;border:2px solid var(--danger)}.btn-danger:hover:not(:disabled){filter:brightness(1.15)}.btn:disabled{opacity:.5;cursor:not-allowed}.worker-grid-section{margin-bottom:var(--space-8)}.workers-section-title{font-size:24px;font-weight:700;color:var(--text-primary);margin-bottom:var(--space-4)}.workers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--space-4)}.worker-item{display:flex;flex-direction:column;gap:2px;background:var(--surface-2);border:2px solid var(--border);border-radius:var(--radius);padding:var(--space-3);transition:border-color .2s,background .2s}.worker-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2)}.worker-proxy{font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.worker-status{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:3px 8px;border-radius:var(--radius-full);white-space:nowrap;flex-shrink:0}.worker-status.initializing{color:var(--accent);border:2px solid var(--accent)}.worker-status.idle{background:#a3a3a31a;color:var(--text-muted);border:2px solid var(--border)}.worker-status.ready{background:#22c55e1a;color:var(--success);border:2px solid var(--success)}.worker-status.fetching,.worker-status.scrolling,.worker-status.extracting{color:var(--accent);border:2px solid var(--accent);animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.worker-status.done{background:#22c55e1a;color:var(--success);border:2px solid var(--success)}.worker-status.error{background:#ef44441a;color:var(--danger);border:2px solid var(--danger)}.worker-status.offline{background:#5252521a;color:var(--text-disabled);border:2px solid var(--border-subtle)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.worker-scraper-label{font-size:12px;font-weight:600;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.worker-scraper-label.active{color:var(--accent)}.worker-stats{display:flex;justify-content:space-between;margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}.worker-stat{font-size:12px;color:var(--text-muted)}.worker-stat-value{font-weight:600;color:var(--text-primary)}.worker-stat.has-tasks{color:var(--accent);font-weight:700}.worker-stat.has-tasks .worker-stat-value{color:var(--accent)}.worker-stat.has-events{color:var(--success);font-weight:700}.worker-stat.has-events .worker-stat-value{color:var(--success)}.worker-stat.has-errors{color:var(--danger);font-weight:700}.worker-stat.has-errors .worker-stat-value{color:var(--danger)}.empty-state-hint{font-size:13px;margin-top:var(--space-2);color:var(--text-muted);opacity:.7}.empty-state{text-align:center;padding:var(--space-12);color:var(--text-muted)}.empty-state-icon{font-size:48px;opacity:.3}.empty-state-text{font-size:16px}.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:currentColor;border-radius:50%;animation:spin .6s linear infinite}.spinner-sm{width:10px;height:10px;border-width:1.5px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-6);animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:900px;max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--shadow-md);animation:slideUp .15s ease-out}@keyframes slideUp{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border);flex-shrink:0}.modal-title{display:flex;flex-direction:column;gap:2px;font-weight:700;font-size:16px;color:var(--text-primary)}.modal-title-with-icon{flex-direction:row;align-items:center;gap:var(--space-2)}.modal-subtitle{font-size:12px;font-weight:500;color:var(--text-muted)}.modal-actions{display:flex;gap:var(--space-2);align-items:center;flex-shrink:0}.modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:2px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-size:20px;transition:all .15s;flex-shrink:0;text-decoration:none}.modal-close:hover:not(:disabled){background:var(--surface-2);color:var(--text-primary);border-color:var(--text-muted)}.modal-close:disabled{opacity:.3;cursor:default}.modal-delete-btn:hover:not(:disabled){background:var(--danger);color:#fff;border-color:var(--danger)}.modal-confirm-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10;border-radius:var(--radius-lg)}.modal-confirm-dialog{background:var(--surface-2);border:2px solid var(--border);border-radius:var(--radius-md);padding:24px;max-width:360px;text-align:center}.modal-confirm-dialog p{margin:0 0 16px;color:var(--text-primary);font-size:14px;line-height:1.5}.modal-confirm-actions{display:flex;gap:8px;justify-content:center}.modal-confirm-actions .btn{min-width:80px}.modal-tabs{display:flex;gap:var(--space-1);padding:0 var(--space-6);border-bottom:1px solid var(--border);flex-shrink:0}.modal-tab{display:inline-flex;align-items:center;gap:6px;padding:var(--space-3) var(--space-4);background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-size:13px;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:color .2s,border-color .2s;margin-bottom:-1px}.modal-tab ion-icon{font-size:16px}.modal-tab:hover{color:var(--text-secondary)}.modal-tab-active{color:var(--accent);border-bottom-color:var(--accent)}.events-list{display:flex;flex-direction:column}.event-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);transition:background .15s}.event-image{width:80px;height:45px;object-fit:cover;border-radius:4px;flex-shrink:0;transition:filter .3s ease,transform .3s ease}.event-image-loading{filter:blur(8px);transform:scale(1)}.event-image-placeholder{background:var(--surface-2)}.event-info{min-width:0;flex:1}.event-item:last-child{border-bottom:none}.event-item:hover{background:var(--surface-2)}.event-title{font-weight:600;font-size:14px;color:var(--text-primary);margin-bottom:4px}.event-title{display:flex;align-items:center;gap:6px}.tour-events-list{display:flex;flex-direction:column}.tour-events-loading{padding:var(--space-6);text-align:center;color:var(--text-muted);font-size:14px}.event-meta{display:flex;align-items:center;gap:var(--space-2);font-size:12px;color:var(--text-muted);margin-top:2px}.event-meta span:not(:last-child):after{content:"·";margin-left:var(--space-2)}.event-title-link{color:inherit;text-decoration:none;transition:color .15s}.event-title-link:hover{color:var(--accent)}.event-badge{font-size:10px;font-weight:700;padding:1px 6px;border-radius:4px}.event-badge.rodage{background:#2563eb;color:#fff}.event-badge.sold-out{background:#e03e3e;color:#fff}.event-badge.tour{background:#16a34a;color:#fff}.event-badge.import-new{background:var(--success);color:#fff}.event-badge.import-changed{background:var(--warning);color:#fff}.event-badge.import-existing{background:var(--surface-3);color:var(--text-muted)}.data-tr.import-status-existing{opacity:.5}.data-tr.import-status-existing:hover{opacity:.8}.data-tr.import-status-new{box-shadow:inset 3px 0 0 var(--success)}.data-tr.import-status-changed{box-shadow:inset 3px 0 0 var(--warning)}.event-details{display:flex;gap:var(--space-1);font-size:12px;color:var(--text-muted)}.event-date{margin-right:var(--space-2)}.event-date,.event-city,.event-venue{display:inline-flex;align-items:center;gap:4px}.event-date ion-icon,.event-city ion-icon,.event-venue ion-icon{font-size:14px}.time-confirmed{font-size:13px!important}.modal-body{flex:1;overflow-y:auto;padding:var(--space-4);min-height:200px}.modal-loading{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-12);color:var(--text-muted);font-size:14px}.modal-empty{text-align:center;padding:var(--space-12);color:var(--text-muted)}.log-content{font-family:JetBrains Mono,Fira Code,Cascadia Code,Consolas,monospace;font-size:12px;line-height:1.6;color:var(--text-secondary);white-space:pre-wrap;word-wrap:break-word;margin:0;padding:var(--space-3);background:var(--bg);border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.history-list{display:flex;flex-direction:column}.history-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);transition:background .15s;gap:var(--space-3)}.history-item:last-child{border-bottom:none}.history-item:hover{background:var(--surface-2)}.history-info{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.history-timestamp{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:13px;color:var(--text-primary)}.history-timestamp ion-icon{font-size:14px;color:var(--text-muted)}.history-stats{display:flex;align-items:center;gap:var(--space-3);font-size:12px;color:var(--text-muted)}.history-stat{display:inline-flex;align-items:center;gap:4px}.history-stat strong{font-weight:600;color:var(--text-primary)}.history-stat.has-events strong{color:var(--success)}.history-stat.has-errors strong{color:var(--danger)}.history-badge{font-size:10px;font-weight:700;text-transform:uppercase;padding:1px 6px;border-radius:4px}.history-badge-success{background:var(--success);color:#fff}.history-badge-failed{background:var(--danger);color:#fff}.history-log-view{display:flex;flex-direction:column;gap:var(--space-3)}.history-log-header{display:flex;align-items:center;gap:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-subtle);top:calc(-1 * var(--space-4));background:var(--surface);margin:calc(-1 * var(--space-4));margin-bottom:0;padding:var(--space-4);z-index:1}.history-log-timestamp{font-size:13px;font-weight:600;color:var(--text-muted)}.control-item.clickable{cursor:pointer;transition:border-color .2s,background .2s}.control-item.clickable:hover{border-color:var(--accent);background:var(--surface-2)}.control-item.clickable.is-queued:hover{border-color:var(--warning)}.control-stats{display:flex;flex-direction:column;gap:2px;margin-top:2px}.control-timestamp-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2)}.control-last-scrape{font-size:11px;color:var(--text-muted)}.control-stats-row{display:flex;justify-content:space-between;margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}.stat-duration{font-size:11px;color:var(--text-muted)}.text-center{text-align:center}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mt-4{margin-top:var(--space-4)}.summary-modal{max-width:700px}.summary-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-4);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border);background:var(--bg-alt);flex-shrink:0}.summary-stat-item{display:flex;flex-direction:column;align-items:center;gap:2px}.summary-stat-value{font-size:24px;font-weight:800;color:var(--text-primary)}.summary-stat-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.summary-stat-success{color:var(--success)}.summary-stat-failed{color:var(--danger)}.summary-stat-changed{color:var(--warning)}.summary-section{margin-bottom:var(--space-4)}.summary-section:last-child{margin-bottom:0}.summary-section-title{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:700;color:var(--text-secondary);padding:var(--space-2) var(--space-4);margin-bottom:var(--space-1);text-transform:uppercase;letter-spacing:.03em}.summary-section-title ion-icon{font-size:16px}.summary-diff{font-size:12px;font-weight:700;padding:1px 6px;border-radius:4px}.summary-diff.positive{background:#22c55e26;color:var(--success)}.summary-diff.negative{background:#ef444426;color:var(--danger)}@media(max-width:600px){.summary-stats{grid-template-columns:repeat(3,1fr)}}.toast-container{position:fixed;bottom:var(--space-6);right:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3);z-index:10000;pointer-events:none}.toast{pointer-events:auto;min-width:280px;max-width:420px;padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--info);color:#fff;font-size:13px;font-weight:600;line-height:1.4;box-shadow:var(--shadow-md);cursor:pointer;animation:toast-in .3s ease forwards;transition:opacity .3s,transform .3s,filter .15s}.toast:hover{filter:brightness(1.15)}.toast-error{background:var(--danger)}.toast-success{background:var(--success)}.toast-info{background:var(--info)}.toast-exit{animation:toast-out .3s ease forwards}@keyframes toast-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toast-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.analysis-progress-overlay{display:flex;align-items:center;justify-content:center;flex:1;min-height:300px}.analysis-progress-center{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);width:100%;max-width:480px}.analysis-progress-bar-lg{width:100%;height:12px;background:var(--surface-3);border-radius:var(--radius-full);overflow:hidden}.analysis-progress-fill-lg{height:100%;background:var(--accent);border-radius:var(--radius-full);transition:width .3s ease}.analysis-progress-label-lg{font-size:18px;font-weight:600;color:var(--text-primary)}.analysis-progress-step{font-size:13px;color:var(--text-muted)}.analysis-error{font-size:13px;font-weight:600;color:var(--danger)}.data-table-container.analysis .data-table{table-layout:auto}.data-table-container.analysis .data-td{color:var(--text-muted);font-weight:700;white-space:normal;overflow:visible}.data-table-container.analysis .analysis-td-title,.data-table-container.analysis .analysis-td-date{color:var(--text-primary)}.data-table-container.analysis .venue-matched,.data-table-container.analysis .city-matched{color:var(--success)}.analysis-th-thumb,.analysis-td-thumb{width:50px;padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3)}.analysis-thumb{width:44px;height:26px;object-fit:cover;border-radius:3px;flex-shrink:0;display:block;transition:filter .3s ease,transform .3s ease}.analysis-thumb.event-image-placeholder{background:var(--surface-2)}.analysis-td-title{font-weight:600;font-size:14px;color:var(--text-primary);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analysis-td-date{white-space:nowrap}.analysis-td-date .event-date{margin-right:0}.analysis-td-comedians{max-width:220px}.comedian-chips{display:flex;flex-wrap:wrap;gap:4px}.comedian-chip{display:inline-flex;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;font-family:var(--font-sans);color:var(--text-muted);background:var(--surface-2);border:2px solid var(--border);border-radius:var(--radius-full);cursor:pointer;transition:all .15s;white-space:nowrap;line-height:1.4}.comedian-chip:hover{background:var(--surface-3);color:var(--text-secondary);border-color:var(--text-muted)}.analysis-td-venue .event-venue{display:inline-flex;align-items:center;gap:4px}.analysis-td-source{color:var(--text-muted)}.analysis-flags{display:inline-flex;gap:var(--space-1);white-space:nowrap}.event-detail-modal{max-width:700px}.event-detail-tabs{display:flex;gap:var(--space-1);padding:var(--space-2) var(--space-6) 0;border-bottom:1px solid var(--border);flex-shrink:0}.event-detail-tab{display:inline-flex;align-items:center;gap:6px;padding:var(--space-2) var(--space-3);font-size:13px;font-weight:600;color:var(--text-muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .15s,border-color .15s;margin-bottom:-1px}.event-detail-tab:hover{color:var(--text-primary)}.event-detail-tab.active{color:var(--text-primary);border-bottom-color:var(--text-primary)}.event-detail-tab ion-icon{font-size:15px}.event-detail-json{margin:0;padding:var(--space-3);font-size:12px;line-height:1.5;font-family:SF Mono,Fira Code,Cascadia Code,monospace;color:var(--text-secondary);background:var(--surface-raised);border-radius:var(--radius-sm);overflow-x:auto;white-space:pre-wrap;word-break:break-word}.event-detail-raw-json{display:flex;flex-direction:column;gap:var(--space-2)}.raw-json-header{display:flex;align-items:center;gap:var(--space-2)}.raw-json-source-name{font-weight:600;font-size:13px;color:var(--text-primary)}.event-detail-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;padding:2px 8px;font-size:12px;font-weight:700;border-radius:10px;background:var(--surface-3);color:var(--text-primary)}.event-changes-table{width:100%;border-collapse:collapse;font-size:13px}.event-changes-table th{font-size:11px;font-weight:600;color:var(--text-muted);text-align:left;padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--border)}.event-changes-table td{padding:var(--space-2);border-bottom:1px solid var(--border-subtle);vertical-align:middle}.event-changes-table tr:last-child td{border-bottom:none}td.event-change-field{font-weight:600;color:var(--text-muted);white-space:nowrap}td.event-change-old{color:var(--text-primary);word-break:break-word}td.event-change-old>.event-change-text{text-decoration:line-through;opacity:.6}td.event-change-arrow{width:20px;text-align:center;color:var(--text-muted);font-size:14px}td.event-change-new{font-weight:600;color:var(--success, #22c55e);word-break:break-word}td.event-change-source{font-size:12px;color:var(--text-muted);white-space:nowrap}.event-change-img{display:block;max-width:120px;max-height:80px;border-radius:var(--radius);margin-bottom:var(--space-1);object-fit:cover;transition:filter .3s ease,transform .3s ease}.event-detail-section,.event-detail-layout{display:flex;flex-direction:column;gap:var(--space-4)}.event-detail-image-wrap{display:flex;justify-content:center;padding-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle)}.event-detail-image-wrap img{max-width:400px;width:100%;aspect-ratio:16 / 9;border-radius:var(--radius-md);object-fit:cover}.event-detail-image{transition:filter .3s ease,transform .3s ease}.event-detail-info{flex:1;min-width:0;display:flex;flex-direction:column}.event-detail-grid{display:flex;flex-direction:column}.event-detail-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--border-subtle)}.event-detail-row:has(.merged-field-value){align-items:flex-start}.event-detail-row:last-child{border-bottom:none}.event-detail-label{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-muted);min-width:100px;flex-shrink:0}.event-detail-label ion-icon{font-size:14px}.event-detail-value{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap;font-size:14px;font-weight:600;color:var(--text-primary);min-width:0;flex:1}.event-detail-value:has(.merged-field-value){display:flex;flex-direction:column;align-items:flex-start;gap:2px}.event-detail-badges{display:flex;gap:var(--space-2);margin-top:var(--space-4)}.event-detail-description{padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}.event-detail-description .event-detail-label{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.event-detail-description-text{margin:0;color:var(--text-secondary);font-size:.85rem;line-height:1.5;white-space:pre-line}.event-detail-link{color:var(--text-secondary);text-decoration:none;word-break:break-all;transition:color .15s}.event-detail-link:hover{color:var(--text-primary);text-decoration:underline}.field-alternative .event-detail-link{color:var(--text-disabled)}.field-alternative .event-detail-link:hover{color:var(--text-muted)}.source-multiple{color:var(--accent);font-weight:600}.merged-field-value{display:flex;flex-direction:column;gap:2px}.merged-field-primary{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.field-source{font-size:11px;font-weight:400;color:var(--text-muted)}.field-alternative{font-size:12px;font-weight:400;color:var(--text-disabled)}.field-alternative .field-source{font-size:10px;color:var(--text-disabled)}.field-empty{color:var(--text-disabled);font-style:italic}.event-sources-section{border-top:1px solid var(--border);padding-top:var(--space-4)}.event-sources-title{font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:var(--space-2)}.event-sources-list{display:flex;flex-direction:column;gap:var(--space-2)}.event-source-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--surface-2)}.event-source-name{font-size:13px;font-weight:600;color:var(--text-primary)}.source-category-badge{font-size:10px;font-weight:700;padding:1px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.source-category-badge.comedians{background:#ffffff26;color:var(--accent)}.source-category-badge.venues{background:#f59e0b26;color:var(--warning)}.source-category-badge.websites{background:#a3a3a326;color:var(--text-muted)}.event-source-link{margin-left:auto;color:var(--text-muted);font-size:14px;display:inline-flex;transition:color .15s}.event-source-link:hover{color:var(--accent)}.analysis-td-city.city-matched{color:var(--success)}.analysis-td-city.city-unmatched{color:var(--danger)}.city-cell{display:inline-flex;align-items:center;gap:6px}.city-ignore-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;background:none;border:2px solid var(--border);border-radius:4px;color:var(--text-muted);cursor:pointer;font-size:14px;transition:all .15s;flex-shrink:0}.city-ignore-btn:hover{background:var(--surface-3);color:var(--text-primary);border-color:var(--text-muted)}.analysis-th-actions{width:40px}.analysis-td-actions{text-align:center}.action-ignore-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:none;border:2px solid var(--border);border-radius:4px;color:var(--text-muted);cursor:pointer;font-size:16px;transition:all .15s}.action-ignore-btn:hover{background:var(--surface-3);color:var(--danger);border-color:var(--danger)}.filter-chips{display:flex;align-items:center;gap:var(--space-2)}.filter-separator{width:1px;height:20px;background:var(--border);align-self:center;margin:0 4px}.filter-chip-comedian{background:#ffffff26;color:var(--accent);border-color:var(--accent);gap:4px}.filter-chip-comedian:hover{background:#ffffff40}.filter-chip-remove{font-size:14px;font-weight:700;line-height:1;margin-left:2px;opacity:.7;transition:opacity .15s}.filter-chip-comedian:hover .filter-chip-remove{opacity:1}.analysis-td-venue.venue-matched{color:var(--success)}.analysis-td-venue.venue-unmatched{color:var(--danger)}.venue-cell{display:inline-flex;align-items:center;gap:6px}.venue-actions{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.venue-ignore-btn,.venue-match-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;background:none;border:2px solid var(--border);border-radius:4px;color:var(--text-muted);cursor:pointer;font-size:14px;transition:all .15s;flex-shrink:0}.venue-ignore-btn:hover{background:var(--surface-3);color:var(--text-primary);border-color:var(--text-muted)}.venue-match-btn:hover{background:#ffffff1a;color:var(--accent);border-color:var(--accent)}.venue-match-modal{max-width:520px}.venue-match-search{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-6);border-bottom:1px solid var(--border)}.venue-match-search ion-icon{font-size:18px;color:var(--text-muted);flex-shrink:0}.venue-match-search input{flex:1;background:none;border:none;outline:none;color:var(--text-primary);font-size:14px;font-family:var(--font-sans);padding:var(--space-2) 0}.venue-match-search input::placeholder{color:var(--text-muted)}.venue-match-label{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-2) var(--space-2);margin-bottom:var(--space-1)}.venue-match-list{display:flex;flex-direction:column}.venue-match-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-2);background:none;border:none;border-bottom:1px solid var(--border-subtle, var(--border));color:var(--text-primary);cursor:pointer;font-family:var(--font-sans);text-align:left;transition:background .15s;width:100%}.venue-match-item:last-child{border-bottom:none}.venue-match-item:hover{background:var(--surface-2)}.venue-match-item-name{font-weight:600;font-size:14px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.venue-match-item-city{font-size:12px;font-weight:500;color:var(--text-muted);flex-shrink:0}.venue-match-item ion-icon{font-size:14px;color:var(--text-muted);flex-shrink:0}.venue-create-trigger{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:var(--space-3);margin-top:var(--space-4);background:var(--surface-2);border:2px solid var(--border);border-radius:8px;color:var(--text-secondary);cursor:pointer;font-family:var(--font-sans);font-size:14px;font-weight:600;transition:all .15s}.venue-create-trigger:hover{background:var(--surface-3);color:var(--text-primary);border-color:var(--text-muted)}.venue-create-trigger ion-icon{font-size:18px}.venue-create-form{display:flex;flex-direction:column;gap:var(--space-5)}.venue-form-label{display:flex;flex-direction:column;gap:var(--space-2);font-size:13px;font-weight:600;color:var(--text-secondary)}.venue-form-label input{padding:var(--space-3);background:var(--surface-2);border:2px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:14px;font-family:var(--font-sans);outline:none;transition:border-color .15s}.venue-form-label input:focus{border-color:var(--accent)}.venue-form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.venue-form-helpers{display:flex;gap:var(--space-3);flex-wrap:wrap}.venue-form-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border)}.btn-accent{background:var(--accent);color:#fff;font-weight:700}.btn-accent:hover:not(:disabled){filter:brightness(1.1)}.btn-accent:disabled{opacity:.5;cursor:not-allowed}.potential-event-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.btn-ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.btn-ghost:hover{background:var(--surface-2);color:var(--text-secondary)}.import-summary-modal{max-width:640px}.import-modal-body{padding:var(--space-5) var(--space-6);overflow-y:auto}.import-section{margin-bottom:var(--space-6)}.import-section:last-child{margin-bottom:0}.import-section-header{display:flex;align-items:center;gap:var(--space-3);font-size:14px;font-weight:700;color:var(--text-primary);margin-bottom:var(--space-3)}.import-section-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 var(--space-2);border-radius:var(--radius-full);font-size:12px;font-weight:700}.import-badge-new{background:var(--success);color:#fff}.import-badge-changed{background:var(--warning);color:#fff}.import-event-list{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;max-height:250px;overflow-y:auto}.import-event-item{padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--border-subtle)}.import-event-item:last-child{border-bottom:none}.import-event-title{font-size:13px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-event-meta{display:flex;gap:var(--space-4);font-size:12px;color:var(--text-muted);margin-top:2px}.import-changed-fields{color:var(--warning)}.import-summary-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--border);flex-shrink:0}.import-progress-section{display:flex;flex-direction:column;gap:var(--space-4)}.import-phase-label{font-size:13px;font-weight:700;color:var(--accent)}.import-progress-bar{height:8px;background:var(--surface-3);border-radius:var(--radius-full);overflow:hidden}.import-progress-fill{height:100%;background:var(--accent);border-radius:var(--radius-full);transition:width .3s ease}.import-status-text{font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-log{max-height:200px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-2);font-family:SF Mono,Fira Code,monospace;font-size:11px;color:var(--text-muted);background:var(--bg)}.import-log-complete{max-height:300px;margin-top:var(--space-4)}.import-log-entry{padding:1px var(--space-2);border-bottom:1px solid var(--border-subtle)}.import-log-entry:last-child{border-bottom:none}.import-results{display:flex;flex-direction:column;gap:var(--space-4)}.import-results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-3)}.import-result-item{display:flex;flex-direction:column;align-items:center;padding:var(--space-4);border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--border)}.import-result-value{font-size:28px;font-weight:800;line-height:1}.import-result-label{font-size:12px;color:var(--text-muted);margin-top:var(--space-1)}.import-result-created .import-result-value{color:var(--success)}.import-result-updated .import-result-value{color:var(--warning)}.import-result-images .import-result-value{color:var(--accent)}.import-result-errors .import-result-value{color:var(--danger)}.import-complete-message{font-size:13px;font-weight:600;color:var(--text-secondary);text-align:center;padding:var(--space-2) 0}.import-errors-list{border:1px solid var(--danger);border-radius:var(--radius);padding:var(--space-3)}.import-badge-error{background:var(--danger);color:#fff}.import-error-item{display:flex;align-items:baseline;gap:var(--space-2);font-size:12px;color:var(--text-muted);padding:var(--space-2) 0;border-bottom:1px solid var(--border-subtle)}.import-error-item:last-child{border-bottom:none}.import-error-type{font-weight:700;color:var(--danger);text-transform:uppercase;font-size:10px;flex-shrink:0;background:#ef44441a;padding:1px 6px;border-radius:var(--radius-sm)}.import-error-title{font-weight:600;color:var(--text-primary);flex-shrink:0}.import-error-message{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:#000;padding:var(--space-6)}.login-card{width:100%;max-width:400px;background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-10);text-align:center}.login-logo{height:160px;margin-bottom:var(--space-8)}.login-title{font-size:24px;font-weight:800;color:var(--accent);margin-bottom:var(--space-8)}.alert-error{background:#ef44441a;border:2px solid var(--danger);color:var(--danger);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:13px;margin-bottom:var(--space-5);text-align:left}.login-form{display:flex;flex-direction:column;gap:var(--space-4)}.login-field{text-align:left}.login-field label{display:block;font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:var(--space-1)}.login-field input{width:100%;padding:var(--space-3) var(--space-4);background:var(--surface-2);border:2px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:14px;font-family:var(--font-sans);outline:none;transition:border-color .2s}.login-field input:focus{border-color:var(--accent)}.login-field input::placeholder{color:var(--text-disabled)}.login-btn{width:100%;padding:var(--space-3) var(--space-4);border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:opacity .2s;display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-btn-primary{background:var(--accent);color:#fff}.login-btn-google{background:var(--surface-2);border:2px solid var(--border);color:var(--text-primary)}.login-btn-google:hover:not(:disabled){background:var(--surface-3)}.login-divider{display:flex;align-items:center;gap:var(--space-4);margin:var(--space-5) 0;color:var(--text-muted);font-size:13px}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--border)}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-6)}.loading-spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.header-refresh{background:var(--surface-2);border:2px solid var(--border);color:var(--text-muted);padding:6px 16px;border-radius:var(--radius-full);font-size:13px;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:color .2s,border-color .2s,background .2s;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.header-refresh:hover{background:var(--surface-3);color:var(--text-secondary);border-color:var(--text-muted)}.header-refresh:disabled{opacity:.6;cursor:not-allowed}.header-signout{background:var(--surface-2);border:2px solid var(--border);color:var(--text-muted);padding:6px 16px;border-radius:var(--radius-full);font-size:13px;font-weight:600;letter-spacing:.05em;font-family:var(--font-sans);cursor:pointer;transition:color .2s,border-color .2s,background .2s;white-space:nowrap}.header-signout:hover{background:var(--surface-3);color:var(--text-secondary);border-color:var(--text-muted)}.header-action-btn{background:#3b82f626;border:2px solid var(--accent);color:var(--accent);padding:4px 12px;border-radius:var(--radius-full);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-family:var(--font-sans);cursor:pointer;transition:background .2s,color .2s;white-space:nowrap}.header-action-btn:hover:not(:disabled){background:var(--accent);color:#fff}.header-action-btn:disabled{opacity:.5;cursor:not-allowed}.data-table-container{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.data-table-wrapper{overflow-x:auto;border-radius:var(--radius) var(--radius) 0 0}.data-table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}.data-th{padding:var(--space-3) var(--space-4);text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none;top:0;z-index:1;height:46px}.data-th.sortable{cursor:pointer;transition:color .15s}.data-th.sortable:hover,.data-th.sorted{color:var(--text-primary)}.sort-indicator{font-size:12px}.data-tr{height:60px;cursor:pointer;transition:background .15s}.data-tr:hover{background:var(--surface-2)}.data-td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);color:var(--text-primary);font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.order-cell{display:inline-flex;align-items:center;gap:var(--space-1)}.order-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:var(--radius-sm, 4px);background:transparent;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s}.order-btn:hover:not(:disabled){background:var(--surface-3);color:var(--text-primary)}.order-btn:disabled{opacity:.2;cursor:default}.order-btn ion-icon{font-size:14px}.i18n-cell{display:flex;flex-direction:column;gap:1px;line-height:1.3}.i18n-fr{color:var(--text-primary);font-weight:600}.i18n-en{color:var(--text-muted);font-weight:400;font-size:12px}.participant-section-title{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 var(--space-2) 0;padding-top:var(--space-2);border-top:1px solid var(--border)}.participant-chips{display:flex;flex-wrap:wrap;gap:6px}.participant-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-full, 20px);background:var(--surface-3);color:var(--text-primary);font-size:13px;line-height:1.3}.participant-chip-view{cursor:default}.participant-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer;transition:color .15s,background .15s}.participant-chip-remove:hover{color:var(--danger);background:var(--surface-2)}.participant-chip-remove ion-icon{font-size:12px}.autocomplete-select{position:relative;width:100%}.autocomplete-input-wrapper{display:flex;align-items:center;gap:var(--space-2)}.autocomplete-input-wrapper ion-icon{color:var(--text-muted);font-size:16px;flex-shrink:0}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;z-index:100;max-height:200px;overflow-y:auto;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);margin-top:4px;box-shadow:0 4px 16px #0000004d}.autocomplete-option{display:block;width:100%;padding:8px 12px;border:none;background:none;color:var(--text-primary);font-size:13px;text-align:left;cursor:pointer;transition:background .1s}.autocomplete-option:hover{background:var(--surface-3)}.external-partner-add{display:flex;gap:var(--space-2);align-items:center}.external-partner-add .edit-input{flex:1;min-width:0}.external-partner-add .btn{flex-shrink:0;padding:6px 10px}.edit-field>.participant-chips{margin-bottom:var(--space-2)}.edit-field .filter-select-active{color:var(--text-muted);border-color:var(--border)}@keyframes skeleton-pulse{0%,to{opacity:.15}50%{opacity:.3}}.skeleton{background:var(--text-muted);border-radius:var(--radius-sm, 4px);animation:skeleton-pulse 1.5s ease-in-out infinite;display:inline-block;vertical-align:middle}.skeleton-text{height:13px}.skeleton-avatar{width:32px;height:32px;min-width:32px;border-radius:50%}.pagination-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border);background:var(--surface);border-radius:0 0 var(--radius) var(--radius)}.pagination-info{font-size:12px;font-weight:600;color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.pagination-pages{display:flex;align-items:center;gap:2px}.pagination-page-btn{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 6px;font-size:13px;font-weight:600;color:var(--text-muted);background:none;border:2px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s;font-family:inherit}.pagination-page-btn:hover:not(:disabled):not(.active){background:var(--surface-2);color:var(--text-secondary)}.pagination-page-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.pagination-page-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;font-size:13px;color:var(--text-muted);-webkit-user-select:none;user-select:none}.pagination-per-page{display:flex;align-items:center;gap:var(--space-2)}.pagination-per-page label{font-size:12px;font-weight:600;color:var(--text-muted);white-space:nowrap}.pagination-per-page select{padding:4px 8px;font-size:12px;font-weight:600;font-family:inherit;color:var(--text-primary);background:var(--surface-2);border:2px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;outline:none;transition:border-color .15s}.pagination-per-page select:hover{border-color:var(--text-muted)}.pagination-per-page select:focus{border-color:var(--accent)}.users-filter-bar{margin-bottom:var(--space-4)}.user-cell-name{display:flex;align-items:center;gap:var(--space-3)}.user-avatar-wrapper{width:32px;height:32px;border-radius:var(--radius-full);overflow:hidden;flex-shrink:0}.user-avatar-wrapper .user-avatar-placeholder{width:100%;height:100%}.user-avatar{width:100%;height:100%;border-radius:var(--radius-full);object-fit:cover;flex-shrink:0;background:var(--surface-3);transition:filter .3s ease,transform .3s ease}.user-avatar-placeholder{width:32px;height:32px;border-radius:var(--radius-full);background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff;flex-shrink:0}.user-avatar-logo{width:60%;height:60%;object-fit:contain;border-radius:0}.user-avatar-lg{width:80px;height:80px;font-size:28px}.user-avatar-border-owner{border:2px solid #ef4444}.user-avatar-border-pro{border:2px solid #8b5cf6}.user-avatar-border-comedian{border:2px solid #10B981}.user-avatar-border-venue{border:2px solid #3B82F6}.user-name{font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.user-badges{display:flex;gap:4px;flex-wrap:wrap}.user-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;font-size:10px;font-weight:700;border-radius:var(--radius-full);white-space:nowrap;text-transform:uppercase;letter-spacing:.03em}.user-badge ion-icon{font-size:12px}.user-badge-owner{background:#ef4444;color:#fff}.user-badge-founding{background:#fbbf24;color:#fff}.user-badge-supporter{background:#f59e0b;color:#fff}.user-badge-pro{background:#8b5cf6;color:#fff}.user-badge-comedian{background:#10b981;color:#fff}.user-badge-venue{background:#3b82f6;color:#fff}.user-verified-yes{color:var(--success);font-size:18px}.user-verified-no{color:var(--text-disabled);font-size:18px}.user-detail-modal{max-width:700px}.user-detail-modal .event-detail-label{min-width:140px;width:140px}.user-detail-avatar-section{display:flex;flex-direction:column;align-items:center;gap:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle)}.user-detail-badges{display:flex;gap:var(--space-2);flex-wrap:wrap;justify-content:center}.tour-thumbnail-wrapper{width:48px;height:27px;flex-shrink:0;overflow:hidden}.tour-thumbnail{width:48px;height:27px;aspect-ratio:16 / 9;object-fit:cover;border-radius:0;background:var(--surface-3);flex-shrink:0;transition:filter .3s ease,transform .3s ease}.tour-thumbnail-placeholder{width:48px;height:27px;aspect-ratio:16 / 9;display:flex;align-items:center;justify-content:center;background:var(--surface-3);color:var(--text-disabled);font-size:14px;flex-shrink:0}.potential-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;padding:2px 8px;font-size:12px;font-weight:700;border-radius:10px;background:var(--surface-3);color:var(--text-primary)}.tour-detail-image{width:100%;max-height:200px;object-fit:cover;border-radius:0;background:var(--surface-3)}.coordinates-text{font-family:var(--font-mono, monospace);font-size:12px;color:var(--text-secondary)}.bio-text{font-size:13px;color:var(--text-secondary);line-height:1.5;max-height:100px;overflow-y:auto}.social-links{display:flex;gap:var(--space-2);flex-wrap:wrap}.social-link{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:12px;font-weight:600;border-radius:var(--radius-full);background:var(--surface-3);color:var(--accent);text-decoration:none;transition:background var(--transition-fast)}.social-link:hover{background:var(--surface-hover)}.edit-form{display:flex;flex-direction:column;gap:var(--space-4)}.edit-form-error{background:#ef44441a;border:2px solid var(--danger);color:var(--danger);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:13px}.edit-field{flex:1;min-width:0}.edit-form .event-detail-label{min-width:130px;width:130px}.edit-input,.edit-textarea,.edit-select{width:100%;padding:var(--space-2) var(--space-3);background:var(--surface-2);border:2px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:14px;font-family:var(--font-sans);outline:none;transition:border-color .2s}.edit-input:focus,.edit-textarea:focus,.edit-select:focus{border-color:var(--accent)}.edit-input::placeholder,.edit-textarea::placeholder{color:var(--text-disabled)}.edit-textarea{resize:vertical;min-height:80px;line-height:1.5}.edit-select{cursor:pointer}.edit-toggle{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:13px;font-weight:600;color:var(--text-muted)}.edit-toggle-track{width:40px;height:22px;background:var(--surface-3);border:2px solid var(--border);border-radius:11px;position:relative;transition:background .2s,border-color .2s;flex-shrink:0}.edit-toggle-track.active{background:var(--accent);border-color:var(--accent)}.edit-toggle-thumb{width:14px;height:14px;background:var(--text-primary);border-radius:50%;position:absolute;top:2px;left:2px;transition:transform .2s}.edit-toggle-track.active .edit-toggle-thumb{transform:translate(18px)}.edit-form-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--border)}.edit-social-links{display:flex;flex-direction:column;gap:var(--space-2)}.edit-social-link-row{display:flex;gap:var(--space-2);align-items:center}.edit-social-link-row .edit-input{flex:1}.edit-social-link-row .edit-input:first-child{flex:0 0 130px}.edit-social-link-add{align-self:flex-start;padding:var(--space-1) var(--space-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:13px;transition:background .15s,color .15s}.edit-social-link-add:hover{background:var(--surface-3);color:var(--text-primary)}.image-crop-uploader{width:100%}.image-crop-preview-area{display:flex}.image-crop-preview-wrapper{position:relative;display:inline-flex;flex-direction:column;gap:var(--space-2)}.image-crop-preview{display:block;border-radius:var(--radius-sm);border:2px solid var(--border);object-fit:cover;background:var(--surface-2)}.image-crop-preview.square{width:120px;height:120px;border-radius:50%}.image-crop-preview.wide{width:240px;height:135px}.image-crop-preview-actions{display:flex;gap:var(--space-2)}.image-crop-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);background:var(--surface-2);border:2px dashed var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:border-color .2s,color .2s;font-size:13px;font-family:var(--font-sans)}.image-crop-placeholder:hover{border-color:var(--accent);color:var(--text-secondary)}.image-crop-placeholder ion-icon{font-size:28px}.image-crop-placeholder.square{width:120px;height:120px;border-radius:50%}.image-crop-placeholder.wide{width:240px;height:135px}.image-crop-placeholder-size{font-size:11px;color:var(--text-disabled)}.image-crop-editor{display:flex;flex-direction:column;gap:var(--space-3)}.image-crop-react-crop{max-width:100%;border-radius:var(--radius-sm);overflow:hidden;border:2px solid var(--border);background:var(--surface-2)}.image-crop-editor-actions{display:flex;gap:var(--space-2)}.duplicate-table{table-layout:auto}.duplicate-table .data-td{white-space:normal}.duplicate-controls{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-3);margin-bottom:var(--space-4)}.duplicate-radius-label{display:flex;align-items:center;gap:var(--space-2);color:var(--text-muted);font-size:13px;font-weight:600;white-space:nowrap}.duplicate-radius-input{width:60px;padding:4px var(--space-2);background:var(--surface-2);border:2px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;text-align:center;outline:none;transition:border-color .2s}.duplicate-radius-input:focus{border-color:var(--accent)}.empty-text{text-align:center;padding:var(--space-8) var(--space-4);color:var(--text-muted);font-size:13px;font-weight:600}.duplicate-note{color:var(--text-disabled);font-size:13px}.duplicate-names{display:flex;flex-direction:column;gap:2px}.duplicate-name-entry{font-size:13px;font-weight:600;color:var(--text-primary);line-height:1.4}.duplicate-badge{display:inline-flex;align-items:center;padding:2px 10px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;border-radius:var(--radius-full);border:2px solid var(--warning);color:var(--warning);white-space:nowrap}.duplicate-group-row:hover{background:var(--surface-hover)}.duplicate-modal{max-width:95vw;width:auto;min-width:600px}.duplicate-modal .modal-body{padding:var(--space-4) var(--space-6) var(--space-6);overflow-y:auto}.duplicate-modal-info{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border)}.duplicate-modal-count{font-size:13px;font-weight:600;color:var(--text-muted)}.duplicate-not-duplicates-btn{display:inline-flex;align-items:center;gap:var(--space-1);padding:6px 14px;font-size:13px;font-weight:600;color:var(--text-muted);background:none;border:2px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s}.duplicate-not-duplicates-btn:hover:not(:disabled){background:var(--surface-2);color:var(--text-primary);border-color:var(--text-muted)}.duplicate-not-duplicates-btn:disabled{opacity:.5;cursor:default}.duplicate-cards{display:flex;gap:var(--space-4);overflow-x:auto;padding-bottom:var(--space-2)}.duplicate-card{display:flex;flex-direction:column;min-width:360px;max-width:420px;flex-shrink:0;border:2px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2);overflow:hidden}.duplicate-card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border)}.duplicate-card-title{font-weight:700;font-size:14px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.duplicate-card-id{font-size:11px;font-weight:600;font-family:var(--font-mono);color:var(--text-disabled);background:var(--surface);padding:2px 6px;border-radius:var(--radius-sm);flex-shrink:0}.duplicate-card-image{aspect-ratio:16 / 9;overflow:hidden;background:var(--surface)}.duplicate-card-image img{width:100%;height:100%;object-fit:cover}.duplicate-card-avatar{display:flex;justify-content:center;padding:var(--space-4) var(--space-4) 0}.duplicate-card-body{flex:1;padding:var(--space-3) var(--space-4)}.duplicate-card-body .event-detail-grid{gap:var(--space-1)}.duplicate-card-body .event-detail-row{padding:var(--space-1) 0}.duplicate-card-body .event-detail-description{margin-top:var(--space-2)}.duplicate-card-body .event-detail-description-text{font-size:12px;max-height:60px;overflow:hidden;text-overflow:ellipsis}.duplicate-card-footer{padding:var(--space-3) var(--space-4);border-top:1px solid var(--border)}.duplicate-card-footer .btn{width:100%;justify-content:center}.duplicate-diff,.duplicate-diff a,.duplicate-diff .coordinates-text{color:var(--warning)!important}.duplicate-selectable{cursor:pointer;border-radius:var(--radius-sm);padding-left:var(--space-2)!important;padding-right:var(--space-2)!important;margin-left:calc(-1 * var(--space-2));margin-right:calc(-1 * var(--space-2));border:2px solid transparent;transition:all .15s}.duplicate-selectable:hover{background:#ffffff0d;border-color:var(--border)}.duplicate-selectable.duplicate-selected{background:#ffffff1a;border-color:var(--accent)}.duplicate-selectable.duplicate-selected .event-detail-value,.duplicate-selectable.duplicate-selected .event-detail-value a,.duplicate-selectable.duplicate-selected .event-detail-value .coordinates-text{color:var(--accent)!important}.duplicate-selectable:not(.duplicate-selected) .event-detail-value{opacity:.6}.event-detail-description.duplicate-selectable{padding:var(--space-2)!important;margin-top:var(--space-2)}.duplicate-check{font-size:16px;margin-left:var(--space-1);color:var(--accent)!important;vertical-align:middle}.settings-sections{display:flex;flex-direction:column;gap:var(--space-4)}.settings-card{background:var(--surface-2);border:2px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:all var(--transition-fast)}.settings-card.open{border-color:var(--accent);box-shadow:var(--shadow)}.settings-card-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5);cursor:pointer;-webkit-user-select:none;user-select:none;transition:all var(--transition-fast)}.settings-card:not(.open):hover{border-color:var(--accent);box-shadow:var(--shadow)}.settings-card-header-left{display:flex;align-items:center;gap:var(--space-4)}.settings-card-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--accent);border-radius:var(--radius)}.settings-card-icon ion-icon{font-size:24px;color:#fff}.settings-card-title{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-1)}.settings-card-description{font-size:14px;color:var(--text-secondary);margin:0}.settings-card-chevron{font-size:16px;color:var(--text-muted)}.settings-card-body{padding:var(--space-4) var(--space-5) var(--space-5);border-top:1px solid var(--border);background-color:var(--surface)}.settings-card-body .edit-form-actions{margin-top:var(--space-4)}.settings-card-body .event-detail-row{align-items:flex-start}.settings-card-body .event-detail-label{min-width:150px;width:150px;line-height:38px}.settings-card-body .edit-toggle{height:38px}.settings-help-text{display:block;font-size:11px;color:var(--text-muted);margin-top:var(--space-1)}.settings-unit{font-size:12px;color:var(--text-muted);white-space:nowrap}.settings-list{display:flex;flex-direction:column;gap:var(--space-1);max-height:400px;overflow-y:auto}.settings-list-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);background:var(--surface-3);border-radius:var(--radius-sm);font-size:13px;color:var(--text-secondary);gap:var(--space-2)}.settings-list-remove{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px;display:flex;align-items:center;border-radius:4px;transition:color var(--transition-fast),background var(--transition-fast);flex-shrink:0}.settings-list-remove:hover{color:var(--danger);background:#ef44441a}.shortcut-key{display:inline-block;padding:2px 8px;background:var(--surface-2);border:1px solid var(--border);border-radius:4px;font-family:monospace;font-size:13px;color:var(--text-primary);min-width:28px;text-align:center;line-height:24px}.shortcut-key-conflict{border-color:var(--danger);color:var(--danger)}.shortcut-key-row{display:flex;align-items:center;gap:var(--space-2)}.shortcut-recorder{display:flex;align-items:center;gap:var(--space-2);padding:4px 12px;border:2px solid var(--accent);border-radius:var(--radius);background:var(--surface);animation:pulse-border 1.5s ease-in-out infinite}.shortcut-recorder-text{color:var(--text-muted);font-size:14px;font-style:italic}.shortcut-conflict-warning{color:var(--danger);font-weight:500}@keyframes pulse-border{0%,to{border-color:var(--accent)}50%{border-color:transparent}}.cheatsheet-modal{max-width:420px}.cheatsheet-section{margin-bottom:var(--space-4)}.cheatsheet-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:var(--space-2)}.cheatsheet-grid{display:flex;flex-direction:column;gap:var(--space-1)}.cheatsheet-row{display:flex;align-items:center;gap:var(--space-3);padding:4px 0}.cheatsheet-label{font-size:14px;color:var(--text-primary)}.analytics-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-subtle)}.analytics-section-header:first-of-type{margin-top:var(--space-4)}.analytics-section-header .analytics-section-title{margin:0;padding:0;border:none}.analytics-section-title{font-size:1.125rem;font-weight:600;color:var(--text-secondary);margin-top:var(--space-10);margin-bottom:var(--space-5);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-subtle)}.analytics-section-title:first-of-type{margin-top:var(--space-4)}.analytics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5);margin-bottom:var(--space-5)}.analytics-grid-2{grid-template-columns:1fr 1fr}@media(max-width:1200px){.analytics-grid{grid-template-columns:1fr 1fr}}@media(max-width:768px){.analytics-grid,.analytics-grid-2{grid-template-columns:1fr}}.analytics-chart-card{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5)}.analytics-chart-card.full-width{grid-column:1 / -1}.analytics-chart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.analytics-chart-header .analytics-chart-title{margin-bottom:0}.analytics-chart-title{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-3)}.analytics-chart-skeleton{height:260px;border-radius:var(--radius-md);background:var(--surface-2);overflow:hidden;position:relative}.analytics-skeleton-pulse{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,var(--surface-3) 50%,transparent 100%);animation:skeletonPulse 1.5s ease-in-out infinite}@keyframes skeletonPulse{0%{transform:translate(-100%)}to{transform:translate(100%)}}.analytics-tooltip{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-md)}.analytics-tooltip-label{font-size:.75rem;color:var(--text-muted);margin-bottom:var(--space-1)}.analytics-tooltip-value{font-size:.875rem;font-weight:600}.game-detail-modal{max-width:1000px}.game-info-bar{display:flex;gap:var(--space-6);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);border-bottom:1px solid var(--border)}.game-info-item{display:flex;align-items:center;gap:var(--space-2);font-size:.875rem;color:var(--text-secondary)}.game-info-item ion-icon{font-size:16px;color:var(--text-muted)}.replay-container{display:flex;flex-direction:column;gap:var(--space-4)}.replay-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-12);color:var(--text-muted);font-size:.875rem}.replay-empty ion-icon{font-size:32px}.replay-timeline{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0}.replay-track{flex:1;height:8px;background:#ffffff1a;border-radius:var(--radius-full);position:relative;cursor:pointer}.replay-track-fill{height:100%;background:#ffffff1f;border-radius:var(--radius-full);pointer-events:none}.replay-marker{position:absolute;top:50%;transform:translate(-50%,-50%);width:10px;height:10px;border-radius:50%;z-index:1;cursor:pointer;transition:transform var(--transition-fast)}.replay-marker:hover{transform:translate(-50%,-50%) scale(1.4)}.replay-marker-correct{background:var(--success)}.replay-marker-wrong{background:var(--danger)}.replay-playhead{position:absolute;top:50%;transform:translate(-50%,-50%);width:14px;height:14px;border-radius:50%;background:#fff;z-index:2;pointer-events:none;box-shadow:0 0 6px #ffffff4d}.replay-time{font-family:monospace;font-size:12px;color:var(--text-muted);min-width:36px;text-align:center}.replay-controls{display:flex;align-items:center;justify-content:center;gap:var(--space-3)}.replay-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:2px solid var(--border);background:none;color:var(--text-muted);cursor:pointer;transition:all .15s;font-size:16px}.replay-btn:hover{background:var(--surface-2);color:var(--text-primary);border-color:var(--text-muted)}.replay-btn-play{width:44px;height:44px;border-radius:50%;font-size:20px;background:var(--accent);border:none;color:#fff}.replay-btn-play:hover{background:var(--accent);color:#fff;border:none;filter:brightness(1.1)}.replay-speed{display:flex;gap:var(--space-2);margin-left:var(--space-2)}.replay-speed-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:2px solid var(--border);background:none;color:var(--text-muted);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.replay-speed-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.replay-speed-btn:hover:not(.active){background:var(--surface-2);color:var(--text-primary);border-color:var(--text-muted)}.mm-replay{display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.mm-board{display:grid;grid-template-columns:repeat(3,72px);grid-template-rows:repeat(6,72px);gap:6px;justify-content:center}.mm-card{perspective:800px}.mm-card-inner{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .35s ease}.mm-card-inner.flipped{transform:rotateY(180deg)}.mm-card-back,.mm-card-face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;border-radius:var(--radius-sm);overflow:hidden;display:flex;align-items:center;justify-content:center}.mm-card-back{background:var(--accent);font-weight:700;font-size:22px;color:#fffc}.mm-card-face{transform:rotateY(180deg);background:var(--surface)}.mm-card-face img{width:100%;height:100%;object-fit:cover}.mm-card-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:#ffffff0d;color:var(--text-muted);font-size:24px}.mm-card-matched .mm-card-face{border-color:var(--success);box-shadow:0 0 8px #00a03b4d}.gc-replay{display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.gc-image-container{width:160px;height:160px;border-radius:50%;overflow:hidden;border:3px solid var(--border)}.gc-image-container img{width:100%;height:100%;object-fit:cover}.gc-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#ffffff0d;color:var(--text-muted);font-size:48px}.gc-options{display:flex;flex-direction:column;gap:var(--space-2);width:100%;max-width:400px}.gc-option{padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);text-align:center;font-weight:600;font-size:.875rem;color:var(--text-primary);transition:all var(--transition-fast)}.gc-option-correct{background:var(--success);border-color:var(--success);color:#fff}.gc-option-wrong{background:var(--danger);border-color:var(--danger);color:#fff}.gc-option-dim{opacity:.4}.gc-result{font-size:.875rem;font-weight:600;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm)}.gc-result-correct{color:var(--success)}.gc-result-wrong{color:var(--danger)}.gc-result-speed{font-weight:400;color:var(--text-muted)}.gg-replay{display:flex;flex-direction:column;gap:var(--space-3)}.gg-venue-card{display:flex;align-items:center;gap:var(--space-3)}.gg-venue-image{width:50px;height:50px;border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0}.gg-venue-image-placeholder{width:50px;height:50px;border-radius:var(--radius-sm);background:#ffffff0d;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:20px;flex-shrink:0}.gg-venue-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.gg-venue-name{font-weight:600;font-size:.875rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gg-venue-city{font-size:.75rem;color:var(--text-muted)}.gg-venue-hint{font-size:.75rem;color:var(--text-muted);font-style:italic;flex-shrink:0}.gg-map-container{border-radius:var(--radius);overflow:hidden;border:1px solid var(--border)}.gg-map-loading{height:350px;display:flex;align-items:center;justify-content:center;background:var(--surface);color:var(--text-muted);font-size:.875rem}.mn-replay{display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.mn-hearts{display:flex;justify-content:center;gap:var(--space-2);font-size:20px}.mn-heart-filled{color:var(--danger)}.mn-heart-empty{color:#ffffff26}.mn-comedian-image{width:80px;height:80px;border-radius:50%;overflow:hidden;border:2px solid var(--border)}.mn-comedian-image img{width:100%;height:100%;object-fit:cover}.mn-word{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;margin:var(--space-2) 0}.mn-letter{width:28px;height:36px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;font-family:monospace;border-bottom:2px solid var(--text-muted)}.mn-letter-revealed{color:var(--text-primary)}.mn-letter-won{color:var(--success);border-bottom-color:var(--success)}.mn-letter-failed{color:var(--danger);border-bottom-color:var(--danger);animation:mn-reveal-failed .3s ease-out}.mn-letter-hidden{color:var(--text-muted)}.mn-letter-space{border-bottom:none;width:14px}.mn-word-reveal{animation:mn-word-pop .4s ease-out}.mn-comedian-image-failed{border-color:var(--danger);opacity:.7}@keyframes mn-reveal-failed{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes mn-word-pop{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.mn-solve-mode{display:flex;align-items:center;gap:var(--space-1);font-size:.75rem;font-weight:600;color:var(--warning);padding:var(--space-1) var(--space-3);background:#f59e0b1a;border-radius:var(--radius-full)}.mn-keyboard{display:flex;flex-direction:column;align-items:center;gap:4px}.mn-keyboard-row{display:flex;gap:4px}.mn-key{width:30px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);font-size:13px;font-weight:600;background:#ffffff14;color:var(--text-primary);border:1px solid var(--border)}.mn-key-correct{background:var(--success);border-color:var(--success);color:#fff}.mn-key-wrong{background:var(--danger);border-color:var(--danger);color:#fff}.mn-key-unused{opacity:.6}.audit-changes-table{font-size:.85rem}.audit-changes-key{font-weight:600;color:var(--text-secondary);white-space:nowrap;width:160px}.audit-changes-old{color:var(--danger);word-break:break-word;white-space:pre-wrap}.audit-changes-new{color:var(--success, #4ade80);word-break:break-word;white-space:pre-wrap}.audit-changes-arrow{color:var(--text-tertiary);width:30px;text-align:center}.message-unread{font-weight:600}.message-detail-modal{max-width:700px;height:80vh;display:flex;flex-direction:column}.message-detail-body{display:flex;flex-direction:column;flex:1;min-height:0;padding:0!important}.thread-container{flex:1;overflow-y:auto;padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.thread-loading,.thread-empty{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-8, 40px);color:var(--text-muted);font-size:.9rem}.thread-bubble{max-width:80%;display:flex;flex-direction:column;gap:var(--space-1)}.thread-bubble-user{align-self:flex-start}.thread-bubble-admin{align-self:flex-end}.thread-bubble-meta{display:flex;align-items:center;gap:var(--space-2);font-size:.75rem;color:var(--text-muted)}.thread-bubble-admin .thread-bubble-meta{justify-content:flex-end}.thread-bubble-avatar{width:20px;height:20px;border-radius:50%;object-fit:cover}.thread-bubble-name{font-weight:600;color:var(--text-secondary)}.thread-bubble-time{font-size:.7rem}.thread-bubble-content{padding:var(--space-3) var(--space-4);border-radius:12px;font-size:.9rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}.thread-bubble-user .thread-bubble-content{background:var(--surface-2);color:var(--text-primary);border-bottom-left-radius:4px}.thread-bubble-admin .thread-bubble-content{background:var(--accent);color:#fff;border-bottom-right-radius:4px}.thread-reply-area{border-top:1px solid var(--border);padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);flex-shrink:0}.thread-reply-area .edit-textarea{resize:none}.thread-reply-actions{display:flex;align-items:center;justify-content:space-between}.thread-reply-hint{font-size:.75rem;color:var(--text-muted)}.send-message-recipient{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--surface-2);border-radius:8px;font-size:.9rem}.send-message-recipient-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover}
