:root{--primary-50: #e3f2fd;--primary-100: #bbdefb;--primary-200: #90caf9;--primary-300: #64b5f6;--primary-400: #42a5f5;--primary-500: #1976d2;--primary-600: #1565c0;--primary-700: #0d47a1;--secondary-500: #9c27b0;--success-50: #e8f5e9;--success-500: #2e7d32;--success-600: #1b5e20;--warning-50: #fff8e1;--warning-500: #ed6c02;--warning-600: #bf360c;--error-50: #fbe9e7;--error-500: #d32f2f;--error-600: #c62828;--info-50: #e1f5fe;--info-500: #0288d1;--grey-50: #fafafa;--grey-100: #f5f5f5;--grey-200: #eeeeee;--grey-300: #e0e0e0;--grey-400: #bdbdbd;--grey-500: #9e9e9e;--grey-600: #757575;--grey-700: #616161;--grey-800: #424242;--grey-900: #212121;--background: #f5f7fa;--surface: #ffffff;--surface-variant: #f8f9fb;--on-surface: var(--grey-900);--on-surface-secondary: var(--grey-600);--border-color: var(--grey-300);--divider: var(--grey-200);--elevation-1: 0 2px 1px -1px rgba(0,0,0,.06), 0 1px 1px 0 rgba(0,0,0,.04), 0 1px 3px 0 rgba(0,0,0,.04);--elevation-2: 0 3px 3px -2px rgba(0,0,0,.06), 0 3px 4px 0 rgba(0,0,0,.04), 0 1px 8px 0 rgba(0,0,0,.04);--elevation-3: 0 3px 5px -1px rgba(0,0,0,.06), 0 6px 10px 0 rgba(0,0,0,.04), 0 1px 18px 0 rgba(0,0,0,.04);--elevation-4: 0 5px 5px -3px rgba(0,0,0,.06), 0 8px 10px 1px rgba(0,0,0,.04), 0 3px 14px 2px rgba(0,0,0,.04);--font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace;--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: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--sidebar-bg: #1d2125;--sidebar-width: 220px;--sidebar-collapsed-width: 68px;--status-bar-height: 40px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;color-scheme:light}body{font-family:var(--font-family);background:var(--background);color:var(--on-surface);line-height:1.5;min-height:100vh}h1{font-size:2rem;font-weight:700;line-height:1.2;letter-spacing:-.5px}h2{font-size:1.5rem;font-weight:600;line-height:1.3}h3{font-size:1.25rem;font-weight:600;line-height:1.4}h4{font-size:1rem;font-weight:600;line-height:1.4}.subtitle1{font-size:1rem;font-weight:500;color:var(--on-surface-secondary)}.subtitle2{font-size:.875rem;font-weight:500;color:var(--on-surface-secondary)}.body2{font-size:.875rem}.caption{font-size:.75rem;color:var(--on-surface-secondary)}.overline{font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--on-surface-secondary)}.mono{font-family:var(--font-mono);font-size:.8125rem}a{color:var(--primary-500);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-700);text-decoration:underline}.material-icons{font-size:20px;line-height:1;vertical-align:middle;-webkit-user-select:none;user-select:none}.app-shell{display:flex;min-height:100vh}.page-content{padding:var(--space-6);flex:1;padding-bottom:calc(var(--status-bar-height) + var(--space-6))}.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-6);gap:var(--space-4);flex-wrap:wrap}.page-header-text h1{margin-bottom:var(--space-1)}.page-header-actions{display:flex;align-items:center;gap:var(--space-2)}.card{background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-lg);box-shadow:var(--elevation-1);overflow:hidden}.card-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--divider);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.card-body{padding:var(--space-5)}.card-footer{padding:var(--space-3) var(--space-5);border-top:1px solid var(--divider);background:var(--surface-variant);display:flex;justify-content:space-between;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-family:var(--font-family);font-size:.875rem;font-weight:600;line-height:1.5;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;text-decoration:none;-webkit-user-select:none;user-select:none}.btn i{font-size:18px}.btn-primary{background:var(--primary-500);color:#fff}.btn-primary:hover{background:var(--primary-600)}.btn-secondary{background:transparent;color:var(--primary-500);border:1px solid var(--primary-500)}.btn-secondary:hover{background:var(--primary-50)}.btn-ghost{background:transparent;color:var(--on-surface-secondary)}.btn-ghost:hover{background:var(--grey-100);color:var(--on-surface)}.btn-danger{background:var(--error-500);color:#fff}.btn-danger:hover{background:var(--error-600)}.btn-success{background:var(--success-500);color:#fff}.btn-success:hover{background:var(--success-600)}.btn-sm{padding:var(--space-1) var(--space-3);font-size:.8125rem}.btn-icon{width:36px;height:36px;padding:0}.btn-block{display:flex;width:100%}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px 10px;font-size:.75rem;font-weight:600;border-radius:var(--radius-full);white-space:nowrap}.chip-dot{width:6px;height:6px;border-radius:50%}.chip-running{background:var(--info-50);color:var(--info-500)}.chip-running .chip-dot{background:var(--info-500)}.chip-success{background:var(--success-50);color:var(--success-500)}.chip-success .chip-dot{background:var(--success-500)}.chip-failed{background:var(--error-50);color:var(--error-500)}.chip-failed .chip-dot{background:var(--error-500)}.chip-pending{background:var(--warning-50);color:var(--warning-500)}.chip-pending .chip-dot{background:var(--warning-500)}.chip-neutral{background:var(--grey-200);color:var(--grey-700)}.chip-neutral .chip-dot{background:var(--grey-500)}.form-group{margin-bottom:var(--space-5)}.form-label{display:block;font-size:.875rem;font-weight:600;margin-bottom:var(--space-1);color:var(--on-surface)}.form-hint{font-size:.75rem;color:var(--on-surface-secondary);margin-top:var(--space-1)}.input,.select,.textarea{width:100%;padding:var(--space-2) var(--space-3);font-family:var(--font-family);font-size:.875rem;color:var(--on-surface);background:var(--surface);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #1976d21f}.textarea{min-height:80px;resize:vertical}.config-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}.config-row .form-group{margin-bottom:0}.toggle-row{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.toggle-row input[type=checkbox]{accent-color:var(--primary-500);width:16px;height:16px;cursor:pointer;flex-shrink:0}.toggle-row label{font-size:.875rem;cursor:pointer;color:var(--on-surface)}.checkbox-group{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;font-size:.875rem}.checkbox-group input{accent-color:var(--primary-500);width:16px;height:16px;cursor:pointer}.table-container{overflow-x:auto;border:1px solid var(--divider);border-radius:var(--radius-lg);background:var(--surface)}table,.table{width:100%;border-collapse:collapse;font-size:.875rem}thead{background:var(--surface-variant)}th{text-align:left;padding:var(--space-3) var(--space-4);font-weight:600;color:var(--on-surface-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--divider);white-space:nowrap}td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--divider);vertical-align:middle}tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--grey-50)}.alert{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:.875rem;border:1px solid}.alert i{font-size:20px;margin-top:1px;flex-shrink:0}.alert-info{background:var(--info-50);border-color:#b3e5fc;color:#01579b}.alert-info i{color:var(--info-500)}.alert-success{background:var(--success-50);border-color:#c8e6c9;color:var(--success-600)}.alert-warning{background:var(--warning-50);border-color:#ffe0b2;color:var(--warning-600)}.alert-error{background:var(--error-50);border-color:#ffcdd2;color:var(--error-600)}.avatar{width:32px;height:32px;border-radius:50%;background:var(--primary-100);color:var(--primary-700);display:flex;align-items:center;justify-content:center;font-size:.8125rem;font-weight:700}.avatar-sm{width:24px;height:24px;font-size:.625rem}.avatar-lg{width:40px;height:40px;font-size:1rem}.progress-bar{height:6px;background:var(--grey-200);border-radius:var(--radius-full);overflow:hidden}.progress-bar-fill{height:100%;border-radius:var(--radius-full);transition:width var(--transition-normal);background:var(--primary-500)}.empty-state{text-align:center;padding:var(--space-12) var(--space-6)}.empty-state i{font-size:48px;color:var(--grey-400);margin-bottom:var(--space-4);display:block}.empty-state h3{margin-bottom:var(--space-2)}.empty-state p{color:var(--on-surface-secondary);margin-bottom:var(--space-5)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-4)}.stat-card{background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-lg);box-shadow:var(--elevation-1);padding:var(--space-4) var(--space-5)}.stat-label{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--on-surface-secondary);margin-bottom:var(--space-1)}.stat-value{font-family:var(--font-mono);font-size:1.75rem;font-weight:700;line-height:1.2;color:var(--on-surface)}.tb{font-family:var(--font-mono);font-size:.75rem;line-height:1.5;background:var(--grey-900);color:#e8eaed;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);overflow-x:auto;white-space:pre;max-height:320px;overflow-y:auto}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:999;padding:var(--space-4)}.modal{background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--elevation-4);width:100%;max-width:520px;max-height:85vh;overflow-y:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5);border-bottom:1px solid var(--divider)}.modal-body{padding:var(--space-5)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--divider)}.spinner{width:16px;height:16px;flex-shrink:0;border:2px solid var(--grey-300);border-top-color:var(--primary-500);border-radius:50%;animation:spin .7s linear infinite}.btn-primary .spinner,.btn-danger .spinner,.btn-success .spinner{border-color:#fff6;border-top-color:#fff}.center-spin{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-10);color:var(--on-surface-secondary);font-size:.875rem}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-4px);padding:4px 8px;background:var(--grey-900);color:#fff;font-size:.75rem;border-radius:var(--radius-sm);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--transition-fast);z-index:10}[data-tooltip]:hover:after{opacity:1}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-5{margin-bottom:var(--space-5)}.mb-6{margin-bottom:var(--space-6)}.w-full{width:100%}.text-center{text-align:center}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.pulse{animation:pulse 2s ease-in-out infinite}@media (max-width: 720px){.config-row,.grid-2{grid-template-columns:1fr}}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--background);padding:var(--space-4)}.auth-card{width:100%;max-width:420px;background:var(--sidebar-bg);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-xl);box-shadow:var(--elevation-3);padding:var(--space-8)}.auth-card h2{color:#ffffffe6}.auth-card .subtitle2{color:#ffffff8c}.auth-card .form-label{color:#fffc}.auth-logo{display:flex;justify-content:center;margin-bottom:var(--space-6)}.auth-logo img{height:40px}.sidebar{width:var(--sidebar-width);background:var(--sidebar-bg);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;overflow:visible;transition:width var(--transition-normal)}.sidebar.collapsed{width:var(--sidebar-collapsed-width)}.sidebar-header{height:72px;display:flex;align-items:center;justify-content:center;padding:var(--space-3);border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0;overflow:hidden}.sidebar-logo{height:44px;max-width:100%;transition:height var(--transition-normal)}.sidebar.collapsed .sidebar-logo{height:36px}.sidebar-toggle{position:absolute;top:56px;right:-12px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--surface);color:var(--on-surface-secondary);border:1px solid var(--divider);border-radius:50%;cursor:pointer;box-shadow:var(--elevation-2);z-index:110;padding:0;transition:color var(--transition-fast),background var(--transition-fast)}.sidebar-toggle:hover{color:var(--primary-500);background:var(--grey-50)}.sidebar-toggle i{font-size:16px;line-height:1}.sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--space-2);display:flex;flex-direction:column}.nav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:#ffffff8c;font-size:.875rem;font-weight:500;cursor:pointer;text-decoration:none;margin-bottom:2px;white-space:nowrap;background:none;border:none;width:100%;text-align:left;font-family:var(--font-family);overflow:hidden}.nav-item:hover{background:#ffffff0f;color:#ffffffe6;text-decoration:none}.nav-item.active{background:#ffffff14;color:#4d9bf0;font-weight:600}.nav-item i{font-size:20px;width:20px;text-align:center;flex-shrink:0}.nav-label{flex:1;overflow:hidden;text-overflow:ellipsis;transition:opacity var(--transition-fast)}.sidebar.collapsed .nav-item{justify-content:center;padding:var(--space-2);position:relative}.sidebar.collapsed .nav-label{display:none}.nav-badge{margin-left:auto;background:var(--error-500);color:#fff;font-size:.625rem;font-weight:700;padding:1px 6px;border-radius:var(--radius-full);min-width:18px;text-align:center}.sidebar.collapsed .nav-badge{margin-left:0;position:absolute;top:2px;right:4px;padding:0 4px;min-width:16px;font-size:.5625rem}.sidebar-footer{border-top:1px solid rgba(255,255,255,.08);padding:var(--space-3);position:relative}.sidebar-user{display:flex;align-items:center;gap:var(--space-3);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-md);overflow:hidden}.sidebar-user:hover{background:#ffffff0f}.sidebar-user .avatar{background:#ffffff1f;color:#ffffffb3;flex-shrink:0}.sidebar-user-info{min-width:0;overflow:hidden}.sidebar-user-name{font-size:.8125rem;font-weight:600;color:#ffffffd9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-role{font-size:.6875rem;color:#fff6}.sidebar.collapsed .sidebar-user{justify-content:center}.sidebar.collapsed .sidebar-user-info{display:none}.user-dropdown{position:absolute;bottom:100%;left:var(--space-2);right:var(--space-2);margin-bottom:var(--space-2);background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-md);box-shadow:var(--elevation-4);padding:var(--space-1) 0;z-index:200;min-width:200px}.sidebar.collapsed .user-dropdown{left:var(--space-2);right:auto;width:220px}.user-dropdown-header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--divider)}.user-dropdown-name{font-size:.875rem;font-weight:600;color:var(--on-surface)}.user-dropdown-role{font-size:.75rem;color:var(--on-surface-secondary)}.user-dropdown-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);font-size:.875rem;color:var(--on-surface);cursor:pointer;text-decoration:none}.user-dropdown-item:hover{background:var(--grey-100);text-decoration:none}.user-dropdown-item.danger{color:var(--error-500)}.user-dropdown-divider{height:1px;background:var(--divider);margin:var(--space-1) 0}.main-content{flex:1;margin-left:var(--sidebar-width);display:flex;flex-direction:column;min-height:100vh;transition:margin-left var(--transition-normal)}body.sidebar-collapsed .main-content{margin-left:var(--sidebar-collapsed-width)}.status-bar{height:var(--status-bar-height);background:var(--surface);border-top:1px solid var(--divider);display:flex;align-items:center;padding:0 var(--space-5);gap:var(--space-4);position:fixed;bottom:0;left:var(--sidebar-width);right:0;z-index:50;transition:left var(--transition-normal)}body.sidebar-collapsed .status-bar{left:var(--sidebar-collapsed-width)}.status-item{display:flex;align-items:center;gap:var(--space-2);font-size:.75rem;color:var(--on-surface-secondary);white-space:nowrap}.status-spacer{flex:1}.dispatcher-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dispatcher-dot.online{background:var(--success-500)}.dispatcher-dot.offline{background:var(--warning-500);animation:pulse 2s ease-in-out infinite}.provider-switch{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-3)}.provider-btn{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;font-family:var(--font-family);font-size:.875rem;font-weight:600;color:var(--on-surface);text-align:left;transition:all var(--transition-fast)}.provider-btn:hover{border-color:var(--primary-300);background:var(--grey-50)}.provider-btn i{color:var(--grey-500);flex-shrink:0}.provider-btn.active{border-color:var(--primary-500);background:var(--primary-50);color:var(--primary-700)}.provider-btn.active i{color:var(--primary-500)}.provider-btn .caption{font-weight:400}.provider-badge{display:inline-flex;align-items:center;gap:3px;padding:1px 7px;font-size:.625rem;font-weight:700;letter-spacing:.3px;border-radius:var(--radius-sm);border:1px solid;white-space:nowrap}.provider-badge i{font-size:12px}.provider-rd{background:var(--primary-50);color:var(--primary-700);border-color:var(--primary-100)}.provider-oss{background:var(--surface-variant);color:var(--grey-700);border-color:var(--divider)}.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-10) var(--space-6);border:2px dashed var(--border-color);border-radius:var(--radius-lg);background:var(--surface-variant);cursor:pointer;text-align:center;transition:border-color var(--transition-fast),background var(--transition-fast)}.dropzone:hover{border-color:var(--primary-300);background:var(--primary-50)}.dropzone.dragover{border-color:var(--primary-500);background:var(--primary-50);box-shadow:0 0 0 3px #1976d21f}.dropzone i{font-size:44px;color:var(--primary-500)}.dropzone h3{font-weight:600}.file-pill{display:inline-flex;align-items:center;gap:var(--space-1);margin:0 var(--space-2) var(--space-2) 0;padding:4px 10px;background:var(--surface-variant);border:1px solid var(--divider);border-radius:var(--radius-full);font-size:.8125rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-pill i{font-size:16px;cursor:pointer;color:var(--grey-500)}.file-pill i:hover{color:var(--error-500)}.upload-actions{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap}.batch-card{margin-bottom:var(--space-4)}.batch-meta{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;font-size:.875rem;color:var(--on-surface-secondary);min-width:0}.batch-meta strong{color:var(--on-surface)}.day-group{margin-bottom:var(--space-8)}.day-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}.day-header h3{font-size:1rem;white-space:nowrap}.day-line{flex:1;height:1px;background:var(--divider)}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}.gallery-item{display:flex;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--divider);border-radius:var(--radius-lg);background:var(--surface-variant);min-width:0}.gallery-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.fname{font-size:.8125rem;font-weight:600;color:var(--on-surface)}.gallery-thumb{position:relative;width:88px;height:88px;flex-shrink:0;border-radius:var(--radius-md);overflow:hidden;background:var(--grey-100);border:1px solid var(--divider);display:flex;align-items:center;justify-content:center}.gallery-thumb img,.gallery-thumb video{width:100%;height:100%;object-fit:cover;display:block}.gallery-thumb.clickable{cursor:zoom-in}.media-icon{font-size:32px;color:var(--grey-400)}.media-flag{position:absolute;left:4px;bottom:4px;display:inline-flex;align-items:center;gap:2px;padding:1px 5px;background:#000000a6;color:#fff;font-size:.5625rem;font-weight:700;border-radius:var(--radius-sm)}.media-flag i{font-size:11px}.zoom-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000059;color:#fff;opacity:0;transition:opacity var(--transition-fast)}.gallery-thumb.clickable:hover .zoom-hint{opacity:1}.zoom-hint i{font-size:24px}.result-line{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.conf{font-family:var(--font-mono);font-size:.75rem;color:var(--on-surface-secondary)}.reused-note{display:flex;align-items:center;gap:4px;font-size:.6875rem;color:var(--on-surface-secondary);font-style:italic}.reused-note i{font-size:13px}.verdict-real{background:var(--success-50);color:var(--success-500);border:1px solid #c8e6c9}.verdict-real .chip-dot{background:var(--success-500)}.verdict-fake{background:var(--error-50);color:var(--error-500);border:1px solid #ffcdd2}.verdict-fake .chip-dot{background:var(--error-500)}.detectors{margin-top:var(--space-1);padding-left:var(--space-2);border-left:2px solid var(--divider);display:flex;flex-direction:column;gap:2px}.detector-row{display:flex;align-items:center;gap:var(--space-2);font-size:.6875rem}.detector-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--on-surface-secondary);font-family:var(--font-mono)}.detector-conf{font-family:var(--font-mono);color:var(--on-surface-secondary);flex-shrink:0}.detector-flag{flex-shrink:0;padding:0 5px;border-radius:var(--radius-sm);font-weight:700;letter-spacing:.3px}.detector-flag.real{background:var(--success-50);color:var(--success-500)}.detector-flag.fake{background:var(--error-50);color:var(--error-500)}.detector-flag.err{background:var(--grey-200);color:var(--grey-600);cursor:help}.lightbox-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000000d9;display:flex;align-items:center;justify-content:center;padding:var(--space-6)}.lightbox-close{position:absolute;top:var(--space-4);right:var(--space-4);width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#ffffff1f;color:#fff;border:none;border-radius:50%;cursor:pointer;transition:background var(--transition-fast)}.lightbox-close:hover{background:#ffffff40}.lightbox-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);max-width:100%;max-height:100%}.lightbox-media{max-width:100%;max-height:calc(100vh - 140px);object-fit:contain;border-radius:var(--radius-md);box-shadow:var(--elevation-4);background:#000}.lightbox-caption{display:flex;align-items:center;gap:var(--space-4);color:#ffffffd9;font-size:.8125rem;flex-wrap:wrap;justify-content:center}.lightbox-download{display:inline-flex;align-items:center;gap:4px;color:#4d9bf0}.lightbox-download i{font-size:16px}@media (max-width: 720px){.gallery,.provider-switch{grid-template-columns:1fr}}
