*{margin:0;padding:0;box-sizing:border-box}:root{--primary-blue: #1e3c72;--primary-blue-light: #2a5298;--accent-gold: #fbbf24;--accent-gold-dark: #f59e0b;--success-green: #10b981;--error-red: #ef4444;--warning-orange: #f59e0b;--gray-50: #f8fafc;--gray-100: #f1f5f9;--gray-200: #e2e8f0;--gray-300: #cbd5e1;--gray-400: #94a3b8;--gray-500: #64748b;--gray-600: #475569;--gray-700: #334155;--gray-800: #1e293b;--gray-900: #0f172a}:root,[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--bg-hover: #f8fafc;--bg-accent: #e2e8f0;--text-primary: #1e293b;--text-secondary: #475569;--text-muted: #64748b;--text-inverse: #ffffff;--border-light: #e2e8f0;--border-medium: #cbd5e1;--border-strong: #94a3b8;--accent-primary: #1e3c72;--accent-primary-rgb: 30, 60, 114;--accent-secondary: #fbbf24;--accent-light: #f0f4ff;--primary-gradient: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);--accent-gradient: linear-gradient(45deg, #fbbf24, #f59e0b);--success-gradient: linear-gradient(135deg, #10b981, #059669);--content-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--background-gradient: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);--shadow-sm: 0 2px 4px rgba(0,0,0,.05);--shadow: 0 4px 20px rgba(0,0,0,.08);--shadow-lg: 0 10px 30px rgba(0,0,0,.1);--shadow-xl: 0 20px 40px rgba(0,0,0,.2)}[data-theme=dark]{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--bg-hover: #475569;--bg-accent: #334155;--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--text-inverse: #0f172a;--border-light: #334155;--border-medium: #475569;--border-strong: #64748b;--accent-primary: #2a5298;--accent-primary-rgb: 42, 82, 152;--accent-secondary: #fbbf24;--accent-light: #1e3a5f;--primary-gradient: linear-gradient(135deg, #2a5298 0%, #1e3c72 100%);--accent-gradient: linear-gradient(45deg, #fbbf24, #f59e0b);--success-gradient: linear-gradient(135deg, #10b981, #059669);--content-gradient: linear-gradient(135deg, #475569 0%, #334155 100%);--background-gradient: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);--shadow-sm: 0 2px 4px rgba(0,0,0,.3);--shadow: 0 4px 20px rgba(0,0,0,.4);--shadow-lg: 0 10px 30px rgba(0,0,0,.5);--shadow-xl: 0 20px 40px rgba(0,0,0,.6)}--font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; --border-radius: 12px; --border-radius-lg: 16px; --border-radius-xl: 20px; --shadow-sm: 0 2px 4px rgba(0,0,0,.05); --shadow: 0 4px 20px rgba(0,0,0,.08); --shadow-lg: 0 10px 30px rgba(0,0,0,.1); --shadow-xl: 0 20px 40px rgba(0,0,0,.2); } body {font-family:var(--font-family);background:var(--background-gradient);color:var(--gray-800);margin:0;min-height:100vh;overflow-x:hidden;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:700;color:var(--gray-800);line-height:1.2}button{font-family:inherit;font-size:inherit;border:none;cursor:pointer;transition:all .3s ease}input,select,textarea{font-family:inherit;font-size:inherit}a{text-decoration:none;color:inherit;transition:all .3s ease}.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border-radius:var(--border-radius);font-weight:600;font-size:14px;border:none;cursor:pointer;transition:all .3s ease}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 5px 15px #00000026}.btn-secondary{display:inline-flex!important;align-items:center!important;gap:8px!important;padding:10px 20px!important;background:#f1f5f9!important;background-color:#f1f5f9!important;color:#64748b!important;border:1px solid #e2e8f0!important;border-radius:12px!important;font-weight:600!important;font-size:14px!important;cursor:pointer!important;transition:all .3s ease!important;text-decoration:none!important;outline:none!important;box-shadow:none!important}.btn-secondary:hover{transform:translateY(-2px)!important;box-shadow:0 5px 15px #00000026!important;background:#f1f5f9!important;background-color:#f1f5f9!important}.card{background:#fff;border-radius:var(--border-radius-lg);padding:30px;box-shadow:var(--shadow);border:1px solid var(--gray-200);transition:all .3s ease}.card:hover{box-shadow:var(--shadow-lg)}@keyframes slideIn{0%{transform:translateY(-30px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.loading{animation:pulse 2s infinite}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--background-gradient)}.loading-spinner{text-align:center}.spinner{width:50px;height:50px;border:4px solid var(--gray-200);border-top:4px solid var(--primary-blue);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}.access-denied{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;text-align:center;padding:20px;background:var(--background-gradient)}.access-denied h2{color:var(--error-red);margin-bottom:20px}.status-badge{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase}.status-active{background:#dcfce7;color:#15803d}.status-processing{background:#fef3c7;color:#d97706}.status-completed{background:#dbeafe;color:#2563eb}.status-error{background:#fee2e2;color:#dc2626}.progress-bar{width:100%;height:8px;background:var(--gray-200);border-radius:4px;overflow:hidden;margin:10px 0}.progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#10b981);transition:width .3s ease}.notification-container{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:10px;pointer-events:none}.notification{background:var(--success-gradient);color:#fff;padding:15px 20px;border-radius:var(--border-radius);box-shadow:var(--shadow-lg);font-weight:600;animation:slideIn .3s ease;cursor:pointer;pointer-events:auto;display:flex;align-items:center;justify-content:space-between;min-width:300px;max-width:500px}.notification.error{background:linear-gradient(135deg,#ef4444,#dc2626)}.notification.warning{background:linear-gradient(135deg,#f59e0b,#d97706)}.notification.info{background:linear-gradient(135deg,#3b82f6,#2563eb)}.notification-content{display:flex;align-items:center;gap:8px}.notification-icon{font-size:18px;font-weight:700}.notification-message{flex:1}.notification-close{background:none;border:none;color:#fff;font-size:18px;font-weight:700;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;opacity:.8}.notification-close:hover{opacity:1}@media (max-width: 1024px){.card{padding:20px}}@media (max-width: 768px){.btn-primary,.btn-secondary{padding:8px 16px;font-size:12px}.card{padding:15px}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.badge{display:inline-flex;align-items:center;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.025em;line-height:1}.badge.small{padding:.125rem .375rem;font-size:.625rem}.badge.large{padding:.375rem .75rem;font-size:.875rem}.badge.default,.badge.gray{background-color:var(--gray-100);color:var(--gray-800)}.badge.success,.badge.green{background-color:#dcfce7;color:#166534}.badge.warning,.badge.orange{background-color:#fef3c7;color:#92400e}.badge.danger,.badge.red{background-color:#fee2e2;color:#dc2626}.badge.info,.badge.blue{background-color:#dbeafe;color:#1d4ed8}.bg-green-100{background-color:#dcfce7}.text-green-800{color:#166534}.bg-yellow-100{background-color:#fef3c7}.text-yellow-800{color:#92400e}.bg-red-100{background-color:#fee2e2}.text-red-800{color:#dc2626}.bg-purple-100{background-color:#f3e8ff}.text-purple-800{color:#6b21a8}.bg-gray-100{background-color:var(--gray-100)}.text-gray-800{color:var(--gray-800)}.modal-page{background:linear-gradient(135deg,#1e3c72,#2a5298);min-height:100vh;padding:20px}.dialog-container{max-width:1400px;margin:0 auto;background:#fff;border-radius:var(--border-radius-xl);box-shadow:0 20px 40px #0003;overflow:hidden;animation:slideIn .3s ease}.dialog-header{background:linear-gradient(90deg,#1e40af,#dc2626);color:#fff;padding:40px 30px;text-align:center;border-radius:0;margin-bottom:0}.dialog-header h1{font-size:28px;font-weight:700;margin-bottom:10px;color:#fff;text-align:center;display:flex;justify-content:center;align-items:center;gap:12px}.dialog-header h1 i{font-size:24px}.dialog-header p{font-size:16px;color:#fff;opacity:.9;margin:0;text-align:center}*{box-sizing:border-box}nav{margin:0;padding:0;border:0}div{margin:0;border:0}.dashboard-container{height:100vh;display:flex;flex-direction:column;background:#f8fafc;margin:0;padding:0;gap:0;line-height:1}.main-content{display:flex;flex:1;overflow:hidden;margin:0;padding:0;gap:0;border-top:0}.content-area{flex:1;padding:30px 40px;overflow-y:auto;background:#f8fafc;box-sizing:border-box;min-height:calc(100vh - 70px);display:block!important;visibility:visible!important}.top-toolbar{background:linear-gradient(90deg,#1e3c72,#2a5298);color:#fff;padding:0 20px;height:80px;display:flex;align-items:center;justify-content:space-between;box-shadow:none;position:relative;z-index:1000;margin:0;border:0;flex-shrink:0}.logo-section{display:flex;align-items:center;gap:12px}.logo-section i{font-size:32px;color:#fbbf24}.logo-section h1{font-size:28px;font-weight:700;background:linear-gradient(45deg,#fbbf24,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nav-toggle-btn{background:#ffffff1a!important;border:1px solid rgba(255,255,255,.2)!important;color:#fff!important;width:40px!important;height:40px!important;border-radius:8px!important;display:flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;transition:all .3s ease!important;margin-right:8px!important;position:relative!important;z-index:1000!important}.nav-toggle-btn:hover{background:#fff3;border-color:#ffffff4d;transform:translateY(-1px)}.nav-toggle-btn i{font-size:16px;transition:transform .3s ease}.nav-toggle-btn.collapsed i{transform:rotate(90deg)}.toolbar-center{display:flex;gap:15px}.toolbar-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);border-radius:12px;color:#fff;cursor:pointer;transition:all .3s ease;font-size:14px;font-weight:600}.toolbar-btn:hover{background:#fff3;border-color:#fff6;transform:translateY(-2px);box-shadow:0 5px 15px #0003}.analytics-section{display:flex;gap:20px;padding-right:20px;border-right:1px solid rgba(255,255,255,.2)}.analytics-item{display:flex;align-items:center;gap:8px}.analytics-item.analytics-horizontal{display:flex;align-items:center;gap:8px;flex-direction:row}.analytics-item i{font-size:20px;color:#fbbf24}.analytics-content{display:flex;flex-direction:column;align-items:flex-start}.analytics-value{font-size:18px;font-weight:700;color:#fff;line-height:1}.analytics-count{font-size:18px;font-weight:700;color:#fff;line-height:1;min-width:20px;text-align:center}.analytics-label{font-size:12px;color:#fffc;text-transform:uppercase;letter-spacing:.5px}.user-section{display:flex;align-items:center;gap:15px}.user-profile{display:flex;align-items:center;gap:12px}.user-avatar i{font-size:36px;color:#fbbf24}.user-info{display:flex;flex-direction:column;align-items:flex-start}.toolbar-user-name{font-size:16px;font-weight:600;color:#fff;line-height:1;text-shadow:none;position:relative;display:block}.user-role{font-size:12px;color:#fffc;text-transform:uppercase;letter-spacing:.5px}.user-actions{display:flex;gap:8px}.user-actions .toolbar-btn{padding:8px 12px;font-size:16px;min-width:auto}.sidebar-container{position:relative;display:flex;transition:all .3s ease}.sidebar-container.collapsed{width:60px}.left-navigation{width:280px;background:linear-gradient(180deg,#2d3748,#1a202c);color:#fff;overflow-y:auto;box-shadow:2px 0 10px #0000001a;margin:0;padding:0;border:0;flex-shrink:0;transition:all .3s ease}.left-navigation.collapsed{width:60px;overflow:hidden}.nav-header{padding:25px 20px;border-bottom:1px solid rgba(255,255,255,.1);background:linear-gradient(135deg,#4a5568,#2d3748);transition:all .3s ease}.left-navigation.collapsed .nav-header{padding:25px 10px;text-align:center}.nav-collapsed-icon{font-size:18px;color:#fbbf24;background:none;border:none;cursor:pointer;padding:8px;border-radius:4px;transition:all .3s ease;display:flex;align-items:center;justify-content:center;width:40px;height:40px}.nav-collapsed-icon:hover{background:#fbbf241a;transform:scale(1.1)}.nav-collapsed-icon i{font-size:18px;color:#fbbf24}.nav-header-expanded{display:flex;justify-content:space-between;align-items:center;width:100%}.nav-collapse-btn{background:none;border:none;color:#fbbf24;cursor:pointer;padding:6px;border-radius:4px;transition:all .3s ease;display:flex;align-items:center;justify-content:center;width:32px;height:32px;font-size:14px}.nav-collapse-btn:hover{background:#fbbf241a;transform:scale(1.1)}.nav-collapse-btn i{font-size:14px;color:#fbbf24}.nav-header h3{font-size:18px;font-weight:700;color:#fbbf24;margin:0;text-transform:uppercase;letter-spacing:1px}.nav-section{margin-bottom:10px}.nav-section h4{padding:20px 20px 10px;font-size:14px;color:#a0aec0;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin:0}.left-navigation.collapsed .nav-section h4{display:none}.nav-menu{list-style:none;padding:0;margin:0}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 20px;cursor:pointer;transition:all .3s ease;border-left:4px solid transparent;color:#ffffffe6;white-space:nowrap}.left-navigation.collapsed .nav-item{padding:12px 10px;justify-content:center;gap:0}.left-navigation.collapsed .nav-item span{display:none}.nav-item:hover{background:#ffffff1a;border-left-color:#fbbf24;color:#fff}.nav-item.active{background:linear-gradient(90deg,#fbbf2433,#fbbf240d);border-left-color:#fbbf24;color:#fbbf24}.nav-item i{width:20px;text-align:center;font-size:16px}.nav-item span{font-size:14px;font-weight:500}.sidebar-toggle{position:absolute;top:50%;right:-15px;transform:translateY(-50%);width:30px;height:30px;background:#2d3748;border:2px solid #4a5568;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1001;transition:all .3s ease;box-shadow:0 2px 8px #0003}.sidebar-toggle:hover{background:#4a5568;border-color:#fbbf24;color:#fbbf24;transform:translateY(-50%) scale(1.1)}.sidebar-toggle i{font-size:12px}.content-area.sidebar-collapsed{margin-left:0;width:calc(100% - 60px)}@media (max-width: 1024px){.toolbar-center{display:none}.analytics-section{gap:15px}.analytics-label{display:none}.analytics-item.analytics-horizontal{gap:6px}}@media (max-width: 768px){.left-navigation{width:260px}.top-toolbar{padding:0 15px}.logo-section h1{font-size:24px}.analytics-section,.user-info{display:none}}.help-modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .3s ease-out;padding:20px}.help-modal{background:#fff;border-radius:16px;box-shadow:0 20px 40px #0000004d;width:100%;max-width:800px;max-height:90vh;overflow:hidden;animation:slideIn .3s ease-out;display:flex;flex-direction:column}.help-modal__header{display:flex;align-items:center;gap:15px;padding:25px;border-bottom:2px solid #f1f5f9;background:linear-gradient(135deg,#eff6ff,#f0f9ff)}.help-modal__icon{background:#3b82f6;color:#fff;width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:0 4px 12px #3b82f64d}.help-modal__title{margin:0;color:#1e40af;font-size:1.5rem;font-weight:600;flex:1}.help-modal__close{background:none;border:none;color:#6b7280;font-size:1.5rem;cursor:pointer;padding:8px;border-radius:8px;transition:all .2s ease}.help-modal__close:hover{background:#f3f4f6;color:#374151}.help-modal__content{flex:1;overflow-y:auto;padding:25px}.help-section{margin-bottom:25px;padding:20px;border-radius:12px;border-left:4px solid #e5e7eb;background:#f9fafb;text-align:left}.help-section--warning{border-left-color:#f59e0b;background:#fffbeb}.help-section--success{border-left-color:#10b981;background:#ecfdf5}.help-section--info{border-left-color:#3b82f6;background:#eff6ff}.help-section--tip{border-left-color:#8b5cf6;background:#f5f3ff}.help-section__title{margin:0 0 15px;color:#374151;font-size:1.1rem;font-weight:600;display:flex;align-items:center;gap:10px;text-align:left}.help-section--warning .help-section__title{color:#92400e}.help-section--success .help-section__title{color:#065f46}.help-section--info .help-section__title{color:#1e40af}.help-section--tip .help-section__title{color:#6b21a8}.help-section__content{margin:0!important;color:#4b5563!important;line-height:1.6!important;font-size:1rem!important;text-align:left!important;visibility:visible!important;display:block!important;opacity:1!important;height:auto!important;width:auto!important;overflow:visible!important;white-space:normal!important;word-wrap:break-word!important}.help-section__list{margin:0;padding-left:20px;color:#4b5563;line-height:1.6;text-align:left}.help-section__list-item{margin-bottom:8px;position:relative;text-align:left}.help-section__list-item--warning{color:#92400e}.help-section__list-item--success{color:#065f46}.help-section__list-item::marker{color:#9ca3af}.help-section--warning .help-section__list-item::marker{color:#f59e0b}.help-section--success .help-section__list-item::marker{color:#10b981}.help-section--info .help-section__list-item::marker{color:#3b82f6}.help-section--tip .help-section__list-item::marker{color:#8b5cf6}.help-modal__footer{display:flex;gap:15px;justify-content:flex-end;padding:25px;border-top:2px solid #f1f5f9;background:#f9fafb}.help-modal__button{padding:12px 24px;border-radius:8px;font-weight:600;font-size:1rem;border:none;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px}.help-modal__button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.help-modal__button--secondary{background:#6b7280;color:#fff}.help-modal__button--secondary:hover{background:#4b5563}.help-modal__button--primary{background:#3b82f6;color:#fff}.help-modal__button--primary:hover{background:#2563eb}@media (max-width: 768px){.help-modal-overlay{padding:10px}.help-modal{border-radius:12px;max-height:95vh}.help-modal__header,.help-modal__content,.help-modal__footer{padding:20px}.help-modal__title{font-size:1.3rem}.help-section{padding:15px;margin-bottom:20px}.help-modal__footer{flex-direction:column}.help-modal__button{width:100%;justify-content:center}}@media (max-width: 480px){.help-modal__header,.help-modal__content,.help-modal__footer{padding:15px}.help-modal__icon{width:40px;height:40px;font-size:20px}.help-modal__title{font-size:1.2rem}.help-section{padding:12px}.help-section__title{font-size:1rem}}.help-modal__content::-webkit-scrollbar{width:8px}.help-modal__content::-webkit-scrollbar-track{background:#f1f5f9}.help-modal__content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.help-modal__content::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media (prefers-contrast: high){.help-modal{border:2px solid #000}.help-section{border:1px solid #000}}@media (prefers-reduced-motion: reduce){.help-modal-overlay,.help-modal{animation:none}.help-modal__button:hover{transform:none}}.help-button{display:inline-flex;align-items:center;gap:6px;background:#3b82f6;color:#fff;border:none;border-radius:20px;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:inherit;white-space:nowrap}.help-button:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.help-button:active{transform:translateY(0);box-shadow:0 2px 8px #3b82f64d}.help-button--small{padding:4px 8px;font-size:.75rem}.help-button--small .help-button__text{display:none}.help-button--medium{padding:6px 12px;font-size:.875rem}.help-button--large{padding:8px 16px;font-size:1rem}.help-button--inline{position:relative}.help-button--fixed{position:fixed;bottom:20px;right:20px;z-index:1000;border-radius:50%;width:50px;height:50px;padding:0;justify-content:center;box-shadow:0 4px 12px #00000026}.help-button--fixed .help-button__text{display:none}.help-button--fixed:hover{transform:scale(1.1)}.help-button i{font-size:1em}@media (max-width: 768px){.help-button--medium{padding:6px 10px;font-size:.8rem}.help-button--large{padding:8px 12px;font-size:.9rem}.help-button--fixed{width:45px;height:45px;bottom:15px;right:15px}}@media (prefers-contrast: high){.help-button{border:2px solid currentColor}}@media (prefers-reduced-motion: reduce){.help-button{transition:none}.help-button:hover{transform:none}}.welcome-section{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:40px;border-radius:20px;margin-bottom:30px;box-shadow:0 10px 30px #0000001a}.welcome-header{display:flex;justify-content:space-between;align-items:center}.welcome-text{text-align:left;flex:1}.welcome-section h2{font-size:36px;font-weight:700;margin-bottom:10px}.welcome-section p{font-size:18px;opacity:.9}@media (max-width: 768px){.welcome-header{flex-direction:column;align-items:flex-start;gap:20px}.welcome-text{text-align:center;width:100%}}.section-header h3{font-size:24px;font-weight:700;color:#1e293b}.project-actions{display:flex;gap:12px}.btn-primary,.btn-secondary{display:flex;align-items:center;gap:8px;padding:10px 20px;border-radius:10px;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;font-size:14px}.btn-primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff}.btn-primary:hover,.btn-secondary:hover{transform:translateY(-2px);box-shadow:0 5px 15px #00000026}.active-project{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:2px solid #0ea5e9;border-radius:12px;padding:20px}.project-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.project-status{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;background:#dcfce7;color:#15803d}.project-details{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:15px}.project-detail{display:flex;align-items:center;gap:8px;font-size:14px;color:#475569}.project-detail i{color:#0ea5e9;width:16px}.model-status-summary{display:flex;align-items:center;gap:15px;font-size:14px}.models-total{color:#64748b;font-weight:600}.loading-indicator{color:#3b82f6;font-style:italic}.models-error{display:flex;align-items:center;gap:10px;padding:15px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:20px}.models-error i{color:#dc2626;font-size:18px}.models-error p{color:#991b1b;margin:0;font-size:14px}.model-status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}.model-status-card{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:16px;padding:20px;position:relative;overflow:hidden;transition:all .3s ease}.model-status-card:nth-child(3n){margin-bottom:10px}.model-status-card.inactive{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:1px solid #cbd5e1;opacity:.7}.model-status-card.inactive .metric-value{color:#64748b}.model-status-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#3b82f6,#8b5cf6,#06b6d4,#10b981)}.model-status-card h4{font-size:16px;font-weight:700;margin-bottom:12px;color:#1e293b;display:flex;flex-direction:column;gap:8px}.model-title-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px}.model-badges{display:flex;align-items:center;gap:6px;flex-shrink:0}.model-name{font-size:18px;font-weight:700;color:#1e293b;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-type-badge{border-radius:10px;font-size:10px;font-weight:600;text-transform:uppercase;white-space:nowrap;flex-shrink:0;width:66px;height:20px;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;line-height:1!important}.status-indicator{border-radius:10px;font-size:10px;font-weight:600;text-transform:uppercase;white-space:nowrap;flex-shrink:0;width:66px;height:20px;display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important}.active-indicator{background:#16a34a;color:#fff;font-weight:700}.inactive-indicator{background:#dc2626;color:#fff;font-weight:700}.dual-badge{background:#c084fc;color:#000!important}.model-metrics{display:flex;justify-content:space-between;margin:10px 0;font-size:12px}.metric{display:flex;flex-direction:column;align-items:center}.model-status-card .metric-value,.metric-value{font-weight:700!important;font-size:16px!important;color:#1e293b!important}.metric-label{color:#64748b;margin-top:2px}.model-status-card p{font-size:12px;color:#64748b;margin-top:8px}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-top:20px}.quick-action-card{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:16px;padding:25px;cursor:pointer;transition:all .3s ease;text-align:center;position:relative;overflow:hidden;font:inherit;color:inherit;width:100%}.quick-action-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#3b82f6,#8b5cf6,#06b6d4,#10b981)}.quick-action-card:hover{transform:translateY(-5px);box-shadow:0 12px 30px #00000026}.quick-action-card i{font-size:40px;margin-bottom:15px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.quick-action-card h4{font-size:18px;font-weight:700;margin-bottom:8px;color:#1e293b}.quick-action-card p{color:#64748b;font-size:14px}.analysis-type-indicator{display:inline-block;margin-top:8px;padding:4px 8px;background:#f3f4f6;border-radius:6px;font-size:10px;font-weight:600;color:#374151}.activity-status{display:flex;align-items:center;gap:10px;font-size:12px}.error-indicator{color:#dc2626;font-style:italic}.demo-indicator{color:#64748b;font-style:italic}.activity-empty{text-align:center;padding:40px 20px;color:#64748b}.activity-empty i{font-size:48px;margin-bottom:15px;opacity:.5}.activity-empty p{font-size:16px;margin:0}.activity-item{display:flex;align-items:center;gap:15px;padding:15px;background:#f8fafc;border-radius:10px;margin-bottom:10px;transition:all .2s ease}.activity-item:hover{background:#f1f5f9;transform:translate(5px)}.activity-item i{font-size:18px!important;width:24px;min-width:24px;text-align:center;display:inline-block!important;font-family:"Font Awesome 6 Free"!important;font-weight:900!important}.activity-item i.success{color:#10b981}.activity-item i.info{color:#3b82f6}.activity-item i.warning{color:#f59e0b}.activity-item i.thermal{color:#dc2626}.activity-item i.rgb{color:#2563eb}.activity-content{display:flex;flex-direction:column;gap:4px}.activity-title{font-weight:600;color:#1e293b}.activity-time{font-size:12px;color:#64748b}.progress-bar{width:100%;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;margin:10px 0}.progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#10b981);width:35%;transition:width .3s ease}.progress-text{font-size:12px;color:#64748b;font-weight:600}@media (max-width: 1200px){.model-status-grid{grid-template-columns:repeat(3,1fr);gap:14px}}@media (max-width: 1024px){.model-status-grid{grid-template-columns:repeat(3,1fr);gap:12px}.quick-actions-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.model-status-card{padding:16px}.model-status-summary{flex-direction:column;align-items:flex-start;gap:8px}}@media (max-width: 768px){.project-details{grid-template-columns:1fr}.model-status-grid{grid-template-columns:1fr;gap:10px}.model-status-card:nth-child(3n){margin-bottom:0}.model-status-card{padding:14px}.model-status-card h4{font-size:14px}.model-title-row{flex-direction:column;align-items:flex-start;gap:8px}.model-name{font-size:13px;white-space:normal}.model-type-badge,.status-indicator{font-size:9px;border-radius:8px;width:62px;height:18px;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;line-height:1!important}}.auth-container{min-height:100vh;background:linear-gradient(135deg,#1e3c72,#2a5298);display:flex;align-items:center;justify-content:center;padding:20px}.auth-background{width:100%;max-width:1200px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.auth-card{background:#fff;border-radius:var(--border-radius-xl);box-shadow:var(--shadow-xl);overflow:hidden;animation:slideIn .3s ease}.auth-header{background:var(--primary-gradient);color:#fff;padding:40px 30px 30px;text-align:center}.logo-section{display:flex;align-items:center;justify-content:center;gap:15px;margin-bottom:15px}.logo-icon{font-size:36px;color:var(--accent-gold)}.auth-header h1{font-size:32px;font-weight:700;color:#fff;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.auth-subtitle{font-size:16px;opacity:.9;margin:0}.auth-body{padding:40px 30px}.auth-form{margin-bottom:30px}.form-group{margin-bottom:25px}.form-group label{display:block;font-weight:600;color:var(--gray-700);margin-bottom:8px;font-size:14px}.required{color:var(--error-red)}.input-wrapper{position:relative}.input-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--gray-400);font-size:16px;z-index:1}.form-group input,.form-group select,.form-group textarea{width:100%;padding:14px 16px 14px 45px;border:2px solid var(--gray-200);border-radius:var(--border-radius);font-size:16px;transition:all .2s ease;background:var(--gray-50)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-blue);background:#fff;box-shadow:0 0 0 3px #1e3c721a}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:var(--error-red);background:#fef2f2}.error-message{color:var(--error-red);font-size:12px;margin-top:5px;display:block}.auth-submit{width:100%;padding:16px 20px;font-size:16px;font-weight:600;border-radius:var(--border-radius);margin-top:10px;background:linear-gradient(135deg,#1e3c72,#2a5298)!important;color:#fff!important;border:none!important;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-family:inherit}.auth-submit:hover{background:linear-gradient(135deg,#1e3c72,#2a5298)!important;transform:translateY(-2px);box-shadow:0 5px 15px #1e3c724d}.auth-submit i{color:#fff!important;font-size:16px!important}.auth-submit:disabled{opacity:.7;cursor:not-allowed;transform:none!important}.auth-submit.loading{opacity:.8;pointer-events:none}.spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.demo-credentials{background:var(--gray-50);padding:20px;border-radius:var(--border-radius);border:2px solid var(--gray-200);margin-bottom:25px}.demo-credentials h4{color:var(--gray-700);margin-bottom:10px;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.demo-accounts{display:flex;flex-direction:column;gap:8px}.demo-account{font-size:13px;color:var(--gray-600);font-family:Courier New,monospace;background:#fff;padding:8px 12px;border-radius:6px;border:1px solid var(--gray-200)}.demo-account strong{color:var(--primary-blue)}.auth-footer{text-align:center;border-top:1px solid var(--gray-200);padding-top:25px}.auth-link{color:var(--primary-blue);font-weight:600;text-decoration:none;transition:color .2s ease}.auth-link:hover{color:var(--primary-blue-light);text-decoration:underline}.feature-highlights{color:#fff}.feature-highlights h3{font-size:28px;font-weight:700;margin-bottom:30px;color:#fff;text-align:center}.features-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.feature-item{text-align:center;padding:20px;background:#ffffff1a;border-radius:var(--border-radius);border:1px solid rgba(255,255,255,.2);transition:all .3s ease}.feature-item:hover{background:#ffffff26;transform:translateY(-2px)}.feature-icon{font-size:32px;color:var(--accent-gold);margin-bottom:15px;display:block}.feature-item h4{font-size:16px;font-weight:600;margin-bottom:8px;color:#fff}.feature-item p{font-size:14px;opacity:.9;margin:0;line-height:1.4}.form-grid .form-group{margin-bottom:20px}.role-selection{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-top:10px}.role-option{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--gray-50);border:2px solid var(--gray-200);border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease}.role-option:hover{border-color:var(--primary-blue);background:#1e3c720d}.role-option.selected{border-color:var(--primary-blue);background:#1e3c721a}.role-option input[type=radio]{width:auto;padding:0;margin:0}.role-option label{margin:0;font-weight:500;cursor:pointer}@media (max-width: 1024px){.auth-background{grid-template-columns:1fr;max-width:600px}.feature-highlights{order:-1;text-align:center;margin-bottom:20px}.features-grid{grid-template-columns:repeat(4,1fr);gap:15px}.feature-item{padding:15px 10px}.feature-icon{font-size:24px;margin-bottom:10px}.feature-item h4{font-size:14px}.feature-item p{font-size:12px}}@media (max-width: 768px){.auth-container{padding:10px}.auth-header,.auth-body{padding:30px 20px}.form-grid{grid-template-columns:1fr}.features-grid{grid-template-columns:1fr 1fr}.role-selection{grid-template-columns:1fr}}.form-section{margin-bottom:2rem;padding:1.5rem;background:#ffffff0d;border-radius:12px;border:1px solid rgba(255,255,255,.1)}.form-section h3{color:var(--accent-gold);font-size:1.1rem;font-weight:600;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.form-section h3 i{font-size:1rem}.section-description{color:#ffffffb3;font-size:.9rem;margin-bottom:1rem;font-style:italic}.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.status-item{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#ffffff0d;border-radius:8px;border:1px solid rgba(255,255,255,.1)}.status-icon{font-size:1.5rem;color:var(--accent-gold)}.status-label{font-size:.85rem;color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px}.status-value{font-size:1rem;color:#fff;font-weight:600}.auth-container .form-section .input-group{margin-bottom:1rem}.auth-container .form-section .input-wrapper{position:relative;display:flex;align-items:center}.auth-container .form-section .input-wrapper i{position:absolute;left:15px;color:var(--accent-gold);z-index:1}.auth-container .form-section input{width:100%;padding:14px 16px 14px 45px;border:2px solid rgba(255,255,255,.2);border-radius:8px;background:#ffffff1a;color:#fff;font-size:16px;transition:all .3s ease}.auth-container .form-section input::placeholder{color:#fff9}.auth-container .form-section input:focus{outline:none;border-color:var(--accent-gold);background:#ffffff26;box-shadow:0 0 0 3px #fbbf2433}.auth-container .form-section input.error{border-color:#ef4444;background:#ef44441a}.auth-container .form-section .error-message{color:#fca5a5;font-size:.85rem;margin-top:.5rem;display:block}.auth-container .auth-header .header-icon{font-size:48px;color:var(--accent-gold);margin-bottom:1rem}.auth-container .auth-header .header-icon i{font-size:inherit}.form-actions{margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.2);text-align:center}.form-actions .btn{min-width:180px;padding:14px 24px;font-size:16px;font-weight:600;border-radius:8px;border:none;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px}.form-actions .btn:disabled{opacity:.7;cursor:not-allowed;transform:none!important}.form-actions .btn i.fa-spinner{animation:spin 1s linear infinite}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999}.modal-dialog{background:#fff;border-radius:8px;max-width:600px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 10px 25px #0003}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e5e7eb}.modal-header h3{margin:0;color:#1f2937;display:flex;align-items:center;gap:.5rem}.modal-close{background:none;border:none;font-size:1.25rem;color:#6b7280;cursor:pointer;padding:.5rem}.modal-close:hover{color:#374151}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid #e5e7eb}.export-section{margin-bottom:2rem}.export-section:last-child{margin-bottom:0}.export-section h4{color:#374151;font-weight:600;margin-bottom:1rem}.format-options,.content-options{display:flex;flex-direction:column;gap:.75rem}.checkbox-option{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;transition:all .2s ease}.checkbox-option:hover{border-color:#3b82f6;background:#f8fafc}.checkbox-option input[type=checkbox]{margin:0;flex-shrink:0}.checkbox-content{flex:1}.format-name{font-weight:600;color:#1f2937;margin-bottom:.25rem}.format-description{font-size:.875rem;color:#6b7280}.archive-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9rem;color:#374151;margin-left:1rem}.archive-toggle input[type=checkbox]{margin:0}.action-btn.archive-btn{background:#f59e0b;color:#fff}.action-btn.archive-btn:hover{background:#d97706}.action-btn.restore-btn{background:#10b981;color:#fff}.action-btn.restore-btn:hover{background:#059669}.section-divider{border-top:2px solid #e5e7eb;padding-top:2rem;margin-top:2rem}.project-edit-form{width:100%;max-width:none;transform:none;scale:1}.project-edit-form *{transform:none;scale:1}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;width:100%}.form-group{width:100%}.form-group.full-width{grid-column:1 / -1}.section-divider h4{color:#374151;font-weight:600;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.inspection-types-display,.inspection-methods-display,.materials-display{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1rem;min-height:60px}.inspection-type-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#fff;border:1px solid #e5e7eb;border-radius:6px;margin-bottom:.5rem}.inspection-type-item:last-child{margin-bottom:0}.inspection-type-item i{color:#3b82f6;width:16px}.status-badge{display:inline-flex!important;align-items:center;justify-content:center;background:#10b981!important;color:#fff!important;padding:.25rem .5rem!important;border-radius:15px!important;font-size:.75rem!important;font-weight:500!important;margin-left:0!important;width:120px!important;min-width:120px!important;max-width:120px!important;text-transform:uppercase!important}.method-badge{display:inline-block;background:#3b82f6;color:#fff;padding:.3rem .6rem;border-radius:6px;font-size:.85rem;margin-right:.5rem;margin-bottom:.5rem}.material-group{margin-bottom:1rem}.material-group:last-child{margin-bottom:0}.material-group-title{font-weight:600;color:#374151;margin-bottom:.5rem}.material-list{display:flex;flex-wrap:wrap;gap:.5rem}.material-tag{background:#fbbf24;color:#92400e;padding:.2rem .5rem;border-radius:4px;font-size:.8rem}.no-inspections,.no-methods,.no-materials{color:#9ca3af;font-style:italic;text-align:center;padding:1rem}.page-header,.projects-page .page-header,div.page-header{background:#1e3c72!important;background:linear-gradient(135deg,#1e3c72,#2a5298)!important;border-bottom:1px solid rgba(255,255,255,.1);padding:2rem 0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.page-header *,.projects-page .page-header *,div.page-header *{color:#fff!important}.page-header .header-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:center!important;align-items:center;text-align:center!important}.title-section h1,.page-header h1,.page-header .title-section h1,.projects-page .page-header h1,.header-content h1{color:#fff!important;font-size:2.5rem;margin:0;font-weight:600;display:flex;align-items:center;gap:1rem}.title-section h1 i{color:#fbbf24}.title-section p,.page-header p,.page-header .title-section p,.projects-page .page-header p,.header-content p{color:#fffc!important;font-size:1.1rem;margin:.5rem 0 0}.header-actions .btn{background:linear-gradient(45deg,#fbbf24,#f59e0b);color:#fff;padding:.75rem 1.5rem;border:none;border-radius:50px;font-weight:500;display:flex;align-items:center;gap:.5rem;transition:all .3s ease;text-decoration:none;box-shadow:0 4px 15px #fbbf244d}.header-actions .btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #fbbf2480;background:linear-gradient(45deg,#f59e0b,#d97706)}.dialog-header{background:linear-gradient(90deg,#1e40af,#dc2626)!important;color:#fff!important;padding:40px 30px!important;text-align:center!important}.dialog-header h1{font-size:28px;font-weight:700;margin-bottom:10px;color:#fff!important;text-align:center!important}.dialog-header p{font-size:16px;color:#fff!important;opacity:.9;margin:0;text-align:center!important}.dialog-actions{padding:20px 30px;text-align:center;border-bottom:1px solid #e2e8f0}.dialog-container .page-header{padding:40px 0!important;margin:0!important}.dialog-container>*:not(.page-header){padding:2rem}.projects-filters{background:#fffffff2;border-radius:15px;padding:1.5rem;margin-bottom:2rem;display:flex;gap:1.5rem;align-items:center;box-shadow:0 4px 20px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.search-box{position:relative;flex:1}.search-box i{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#6b7280}.search-box input{width:100%;padding:.75rem 1rem .75rem 3rem;border:2px solid #e5e7eb;border-radius:10px;font-size:1rem;transition:all .3s ease}.search-box input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.filter-controls{display:flex;gap:1rem}.filter-select{padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:10px;background:#fff;font-size:1rem;cursor:pointer;transition:all .3s ease}.filter-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.projects-loading{text-align:center;padding:4rem 2rem;color:#fff}.loading-spinner{font-size:3rem;margin-bottom:1rem}.loading-spinner i{color:#fbbf24}.projects-empty{text-align:center;padding:4rem 2rem;color:#fff}.projects-empty i{font-size:4rem;color:#fbbf24;margin-bottom:2rem}.projects-empty h3{font-size:2rem;margin-bottom:1rem}.projects-empty p{font-size:1.2rem;opacity:.8;margin-bottom:2rem;max-width:500px;margin-left:auto;margin-right:auto}.projects-error{text-align:center;padding:4rem 2rem;color:#fff}.projects-error i{font-size:4rem;color:#ef4444;margin-bottom:2rem}.projects-error h3{font-size:2rem;margin-bottom:1rem}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem}.project-card{background:#fffffff2;border-radius:15px;overflow:hidden;box-shadow:0 8px 30px #0000001a;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.project-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #00000026}.project-header{display:grid;grid-template-columns:1fr auto;align-items:center;padding:1.5rem 1.5rem 0;min-height:60px;width:100%;gap:1rem}.project-status{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;text-transform:capitalize;height:32px;flex-shrink:0;margin:0;padding:6px 12px;background:#22c55e1a;border-radius:16px;border:1px solid rgba(34,197,94,.2);justify-self:start}.project-actions{display:flex!important;flex-direction:row!important;gap:8px!important;align-items:center!important;justify-content:flex-end!important;margin:0!important;height:32px!important;width:auto!important;justify-self:end!important}.project-actions .action-btn,.project-actions .delete-btn{display:flex!important;width:40px!important;height:32px!important;min-width:40px!important;min-height:32px!important;max-width:40px!important;max-height:32px!important;font-size:16px!important;align-items:center!important;justify-content:center!important;border:none!important;border-radius:6px!important;background:#f3f4f6!important;color:#3b82f6!important;cursor:pointer!important;transition:all .3s ease!important;text-decoration:none!important;margin:0!important;padding:0!important;flex-shrink:0!important;flex-grow:0!important;box-sizing:border-box!important;vertical-align:top!important;position:relative!important;top:0!important;z-index:100!important;pointer-events:auto!important}.action-btn i{font-size:16px;line-height:1}.project-actions .delete-btn{color:#ef4444!important;transform:translateY(2px)!important}.project-actions .action-btn:not(.delete-btn):hover{background:#3b82f6!important;color:#fff!important;transform:translateY(-1px)!important}.project-actions .delete-btn:hover{background:#ef4444!important;color:#fff!important;transform:translateY(1px)!important}.project-body{padding:1.5rem}.project-name{margin:0 0 .75rem;font-size:1.25rem;font-weight:600}.project-name a{color:#1f2937;text-decoration:none;transition:color .3s ease}.project-name a:hover{color:#667eea}.project-description{color:#6b7280;font-size:.95rem;line-height:1.5;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.project-meta{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.meta-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#6b7280}.meta-item i{width:16px;color:#667eea}.project-badges{margin:1rem 0;padding:1rem 0;border-top:1px solid #f3f4f6}.badge-section{margin-bottom:.75rem}.badge-section:last-child{margin-bottom:0}.badge-section small{display:block;color:#6b7280;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.badge-list{display:flex;flex-wrap:wrap;gap:.5rem}.project-badge{display:inline-flex;align-items:center;background:linear-gradient(45deg,#667eea,#764ba2);color:#fff;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500;text-transform:capitalize}.project-badge.more{background:#6b7280}.project-stats{display:flex;gap:2rem;padding:1rem 0;border-top:1px solid #e5e7eb}.stat{text-align:center;flex:1}.stat-value{font-size:1.5rem;font-weight:700;color:#667eea}.stat-label{font-size:.8rem;color:#6b7280;text-transform:uppercase;font-weight:500}.project-footer{padding:1rem 1.5rem;background:#f9fafb;border-top:1px solid #e5e7eb}.project-dates small{color:#6b7280;font-size:.8rem}.project-form-container{max-width:800px;margin:0 auto}.project-form{background:#fffffff2;border-radius:15px;padding:2rem;box-shadow:0 8px 30px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.form-section{margin-bottom:2.5rem}.form-section h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem;padding-bottom:.75rem;border-bottom:2px solid #e5e7eb}.form-section h2 i{color:#667eea}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.form-group label{display:block;font-weight:500;color:#374151;margin-bottom:.5rem;font-size:.95rem}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:10px;font-size:1rem;transition:all .3s ease;background:#fff}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input.error,.form-group textarea.error,.form-group select.error{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.form-group textarea{resize:vertical;min-height:60px}.error-message{display:block;color:#ef4444;font-size:.85rem;margin-top:.25rem;font-weight:500}.form-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:2rem;border-top:1px solid #e5e7eb}.btn{padding:.75rem 1.5rem;border:none;border-radius:10px;font-size:1rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .3s ease;text-decoration:none;text-align:center}.btn-primary{background:linear-gradient(45deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 15px #667eea4d}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #667eea66}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{background:#6b7280;color:#fff;box-shadow:0 4px 15px #6b72804d}.btn-secondary:hover:not(:disabled){background:#4b5563;transform:translateY(-2px);box-shadow:0 8px 25px #4b556366}.btn-danger{background:#ef4444;color:#fff;box-shadow:0 4px 15px #ef44444d}.btn-danger:hover:not(:disabled){background:#dc2626;transform:translateY(-2px);box-shadow:0 8px 25px #dc262666}.project-details-container{background:#fffffff2;border-radius:15px;overflow:hidden;box-shadow:0 8px 30px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.project-tabs{display:flex;background:#f9fafb;border-bottom:1px solid #e5e7eb}.tab-btn{flex:1;padding:1rem 2rem;border:none;background:transparent;color:#6b7280;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.tab-btn:hover{background:#667eea1a;color:#667eea}.tab-btn.active{background:#667eea;color:#fff}.tab-content{padding:2rem}.project-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem;border-radius:15px;display:flex;align-items:center;gap:1rem;box-shadow:0 4px 20px #667eea4d}.stat-icon{font-size:2rem;opacity:.8}.stat-value{font-size:2rem;font-weight:700;margin-bottom:.25rem}.stat-label{font-size:.9rem;opacity:.9}.project-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.info-section{background:#f9fafb;border-radius:10px;padding:1.5rem;border:1px solid #e5e7eb}.info-section h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem;padding-bottom:.5rem;border-bottom:1px solid #e5e7eb}.info-section h3 i{color:#667eea}.info-item{margin-bottom:1rem}.info-item:last-child{margin-bottom:0}.info-item label{display:block;font-weight:500;color:#374151;font-size:.9rem;margin-bottom:.25rem}.info-item p{color:#6b7280;margin:0;line-height:1.5}.status-badge{display:inline-flex;align-items:center;gap:.5rem;font-weight:500;text-transform:capitalize}.tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.tab-header h3{color:#1f2937;font-size:1.5rem;font-weight:600;margin:0}.loading-container,.empty-state,.coming-soon{text-align:center;padding:3rem 2rem;color:#6b7280}.empty-state i,.coming-soon i{font-size:3rem;color:#667eea;margin-bottom:1rem}.empty-state h4,.coming-soon h4{font-size:1.5rem;color:#1f2937;margin-bottom:.5rem}.empty-state p,.coming-soon p{font-size:1.1rem;margin-bottom:2rem;max-width:400px;margin-left:auto;margin-right:auto}.inspections-list{display:grid;gap:1rem}.inspection-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:1.5rem;transition:all .3s ease}.inspection-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.inspection-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:1rem}.inspection-info h4{color:#1f2937;font-size:1.1rem;font-weight:600;margin:0 0 .25rem}.inspection-type{color:#6b7280;font-size:.9rem;text-transform:capitalize;margin:0}.inspection-status .status-badge{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500;text-transform:capitalize}.status-pending{background:#fef3c7;color:#92400e}.status-processing{background:#dbeafe;color:#1e40af}.status-analyzed,.status-completed{background:#d1fae5;color:#065f46}.inspection-stats{display:flex;gap:1.5rem;font-size:.9rem;color:#6b7280;margin-bottom:1rem}.inspection-stats span{display:flex;align-items:center;gap:.375rem}.inspection-stats i{font-size:.8rem;width:14px;text-align:center}.inspection-description{color:#6b7280;font-size:.85rem;margin:.25rem 0 0;font-style:italic}.inspection-actions{display:flex;gap:.75rem;justify-content:flex-end;align-items:center}.inspection-card.clickable{cursor:pointer;transition:all .3s ease}.inspection-card.clickable:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-3px);border-color:#3b82f6}.btn-sm{padding:.375rem .75rem;font-size:.8rem;border-radius:6px;font-weight:500}.btn-outline{background:transparent;border:1px solid #d1d5db;color:#6b7280}.btn-outline:hover{background:#f9fafb;border-color:#9ca3af;color:#374151}.inspection-detail-container{max-width:1200px;margin:0 auto;padding:2rem}.inspection-overview{background:#fff;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 1px 3px #0000001a}.inspection-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.inspection-description-section{border-top:1px solid #e5e7eb;padding-top:1.5rem}.inspection-description-section h3{color:#1f2937;font-size:1.2rem;font-weight:600;margin-bottom:.75rem}.inspection-upload-section{background:#fff;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 1px 3px #0000001a}.inspection-upload-section h3{color:#1f2937;font-size:1.3rem;font-weight:600;margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem}.upload-zone{border:2px dashed #d1d5db;border-radius:12px;padding:3rem 2rem;text-align:center;cursor:pointer;transition:all .3s ease;background:#f9fafb}.upload-zone:hover,.upload-zone.drag-over{border-color:#3b82f6;background:#eff6ff}.upload-icon{font-size:3rem;color:#9ca3af;margin-bottom:1rem}.upload-zone:hover .upload-icon,.upload-zone.drag-over .upload-icon{color:#3b82f6}.upload-text h4{color:#1f2937;font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.upload-text p{color:#6b7280;margin-bottom:.25rem}.upload-limits{font-size:.8rem;color:#9ca3af}.uploading-files{margin-top:1rem;padding:1rem;background:#f3f4f6;border-radius:8px}.uploading-files h4{color:#1f2937;font-size:.9rem;font-weight:600;margin-bottom:.75rem}.uploading-file{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#6b7280;margin-bottom:.25rem}.inspection-images-section{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 1px 3px #0000001a}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header h3{color:#1f2937;font-size:1.3rem;font-weight:600;display:flex;align-items:center;gap:.5rem;margin:0}.images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}.image-card{border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;transition:all .3s ease}.image-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.image-preview{position:relative;aspect-ratio:4/3;overflow:hidden}.image-preview img{width:100%;height:100%;object-fit:cover}.image-overlay{position:absolute;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.image-card:hover .image-overlay{opacity:1}.image-actions{display:flex;gap:.5rem}.image-info{padding:1rem}.image-name{font-weight:600;color:#1f2937;font-size:.9rem;margin-bottom:.5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.image-details{display:flex;justify-content:space-between;align-items:center;font-size:.8rem}.image-type{background:#f3f4f6;color:#6b7280;padding:.25rem .5rem;border-radius:4px;text-transform:uppercase;font-weight:500}.analysis-status{padding:.25rem .5rem;border-radius:4px;font-weight:500;text-transform:capitalize;font-size:.75rem}.analysis-status.status-pending{background:#fef3c7;color:#92400e}.analysis-status.status-processing{background:#dbeafe;color:#1e40af}.analysis-status.status-completed{background:#d1fae5;color:#065f46}.settings-section{text-align:center;padding:2rem}.settings-section h3{color:#1f2937;font-size:1.5rem;font-weight:600;margin-bottom:1rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.settings-section h3 i{color:#667eea}.tag-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.info-tag{display:inline-flex;align-items:center;justify-content:center;background:#3b82f6!important;color:#fff!important;padding:.25rem .5rem!important;border-radius:15px;font-size:.75rem!important;font-weight:500!important;text-transform:uppercase!important;box-shadow:0 1px 3px #0003;width:120px!important;min-width:120px!important;max-width:120px!important}@media (max-width: 768px){.header-content{flex-direction:column;gap:1.5rem;text-align:center}.projects-filters{flex-direction:column;gap:1rem}.projects-grid{grid-template-columns:1fr}.title-section h1{font-size:2rem}.form-row{grid-template-columns:1fr;gap:0}.project-form{padding:1.5rem}.form-actions{flex-direction:column}.btn{justify-content:center}}@media (max-width: 480px){.projects-content,.projects-filters{padding:1rem}.project-card{margin-bottom:1rem}.project-form{padding:1rem}}.inspection-models{margin:10px 0;padding:8px 12px;background:#3b82f61a;border-radius:8px;border:1px solid rgba(59,130,246,.2)}.model-info{display:flex;align-items:center;gap:8px;font-size:.85rem}.model-info i{color:#3b82f6;font-size:14px}.model-label{font-weight:500;color:var(--gray-600)}.model-name{font-weight:600;color:#3b82f6;text-transform:capitalize}.page-header,.projects-page .page-header,div.page-header,[class*=page-header]{background:linear-gradient(90deg,#1e40af,#dc2626)!important;text-align:center!important;padding:40px 0!important;margin:0!important;border-radius:20px 20px 0 0!important}.page-header *,.projects-page .page-header *,div.page-header *,[class*=page-header] *{color:#fff!important}.address-input-container{margin-bottom:20px}.address-input-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.address-label{font-weight:600;color:#374151;font-size:14px}.address-label .required{color:#ef4444;margin-left:4px}.address-mode-controls{display:flex;align-items:center;gap:12px}.mode-toggle{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#374151;cursor:pointer;transition:all .2s ease}.mode-toggle:hover{background:#f9fafb;border-color:#9ca3af}.mode-toggle.manual{background:#fef3c7;border-color:#f59e0b;color:#92400e}.mode-toggle.auto{background:#dcfce7;border-color:#16a34a;color:#166534}.connection-status{display:flex;align-items:center;gap:4px;font-size:11px;color:#6b7280}.connection-status .online{color:#16a34a}.connection-status .offline{color:#ef4444}.offline-notice{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#fef3c7;border:1px solid #f59e0b;border-radius:6px;font-size:13px;color:#92400e;margin-bottom:12px}.address-search-container,.search-input-wrapper{position:relative}.address-search-input{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;transition:border-color .2s ease}.address-search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.address-search-input.error{border-color:#ef4444}.search-loading{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#6b7280}.address-suggestions{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e5e7eb;border-top:none;border-radius:0 0 8px 8px;box-shadow:0 4px 6px -1px #0000001a;z-index:1000;max-height:200px;overflow-y:auto}.suggestion-item{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;cursor:pointer;transition:background-color .15s ease;border-bottom:1px solid #f3f4f6}.suggestion-item:hover{background:#f9fafb}.suggestion-item i{color:#6b7280;margin-top:2px;font-size:12px}.suggestion-content{flex:1}.suggestion-main{font-weight:500;color:#111827;font-size:14px;margin-bottom:2px}.suggestion-secondary{color:#6b7280;font-size:12px}.manual-address-form{border:2px solid #e5e7eb;border-radius:8px;padding:16px;background:#fafafa}.manual-address-form .form-group{margin-bottom:16px}.manual-address-form .form-group:last-child{margin-bottom:0}.address-form-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}.manual-address-form label{display:block;font-weight:500;color:#374151;font-size:13px;margin-bottom:6px}.manual-address-form input{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:border-color .2s ease}.manual-address-form input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.manual-address-form input.error{border-color:#ef4444}.address-preview{display:flex;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;background:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;font-size:13px;color:#0c4a6e}.address-preview i{color:#0284c7}.error-message{color:#ef4444;font-size:12px;margin-top:6px;display:flex;align-items:center;gap:4px}.error-message:before{content:"⚠️";font-size:11px}@media (max-width: 768px){.address-input-header{flex-direction:column;align-items:flex-start;gap:8px}.address-mode-controls{align-self:flex-end}.address-form-grid{grid-template-columns:1fr;gap:12px}.mode-toggle{font-size:11px;padding:4px 8px}}.address-search-input:disabled{background:#f9fafb;color:#6b7280;cursor:not-allowed}.suggestion-item:active{background:#e5e7eb}.address-suggestions{animation:slideDown .15s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.suggestion-item:focus{outline:2px solid #3b82f6;outline-offset:-2px;background:#f0f9ff}.mode-toggle:focus{outline:2px solid #3b82f6;outline-offset:2px}.dialog-body{padding:0;max-height:75vh;overflow-y:auto}.section{padding:30px;border-bottom:2px solid #f1f5f9}.section:last-child{border-bottom:none}.section-header{display:flex;align-items:center;gap:10px;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid #e2e8f0}.section-header h2{font-size:20px;font-weight:600;color:#1e293b}.section-header i{font-size:24px;color:#3b82f6}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:20px}.form-group{margin-bottom:20px}.required{color:#ef4444}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:10px;font-size:14px;transition:all .2s ease;background:#f9fafb;box-sizing:border-box}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;background:#fff;box-shadow:0 0 0 3px #3b82f61a}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.error-message{display:block;color:#ef4444;font-size:12px;margin-top:4px;font-weight:500}.workflow-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin:20px 0;padding:20px;background:#f8fafc;border-radius:12px}.workflow-step{display:flex;align-items:center;gap:10px;padding:10px;background:#fff;border-radius:8px;border-left:4px solid #3b82f6;font-size:12px}.step-number{width:24px;height:24px;background:#3b82f6;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:11px}.inspection-types{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:15px;margin:20px 0}.inspection-card{border:2px solid #e2e8f0;border-radius:12px;padding:20px;cursor:pointer;transition:all .3s ease;background:#f8fafc;position:relative}.inspection-card:hover{border-color:#3b82f6;background:#f0f9ff;transform:translateY(-2px);box-shadow:0 8px 20px #3b82f626}.inspection-card.selected{border-color:#3b82f6;background:linear-gradient(135deg,#dbeafe,#bfdbfe);box-shadow:0 4px 12px #3b82f633}.inspection-card input[type=checkbox]{position:absolute;top:15px;right:15px;width:20px;height:20px;cursor:pointer}.inspection-icon{font-size:32px;margin-bottom:10px;display:block}.inspection-title{font-size:16px;font-weight:600;color:#1e293b;margin-bottom:8px}.inspection-description{font-size:12px;color:#64748b;line-height:1.4;margin-bottom:10px}.analysis-config-section{margin-top:30px;padding:20px 0}.analysis-config-item{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;padding:20px;margin-bottom:20px;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.analysis-config-header{display:flex;align-items:center;gap:10px;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid #d1d5db}.analysis-config-header h4{font-size:16px;font-weight:600;color:#1e293b}.analysis-modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px;margin:15px 0}.analysis-mode-card{border:2px solid #e2e8f0;border-radius:10px;padding:20px;cursor:pointer;transition:all .3s ease;background:#fff;position:relative}.analysis-mode-card:hover{border-color:#8b5cf6;background:#faf5ff;transform:translateY(-2px)}.analysis-mode-card.selected{border-color:#8b5cf6;background:linear-gradient(135deg,#f3e8ff,#e9d5ff);box-shadow:0 4px 12px #8b5cf633}.analysis-mode-card input[type=radio]{position:absolute;top:15px;right:15px;width:16px;height:16px}.mode-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.mode-icon{font-size:24px}.mode-title{font-size:14px;font-weight:600;color:#1e293b}.mode-badges{display:flex;gap:5px;margin-bottom:8px}.mode-badge{padding:2px 6px;border-radius:12px;font-size:10px;font-weight:600;text-transform:uppercase}.mode-description{font-size:11px;color:#64748b;line-height:1.3}.thermal-settings{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:12px;padding:20px;margin:20px 0}.thermal-settings h4{color:#92400e;font-size:16px;margin-bottom:15px;display:flex;align-items:center;gap:8px}.thermal-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.thermal-control-group{background:#fff;padding:15px;border-radius:8px;border-left:4px solid #f59e0b}.thermal-control-group label{font-size:12px;font-weight:600;color:#92400e;margin-bottom:5px}.thermal-control-group input,.thermal-control-group select{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;box-sizing:border-box}.project-name-preview{background:#f1f5f9;border:1px solid #cbd5e1;border-radius:8px;padding:15px;margin-top:15px;font-family:Courier New,monospace}.project-name-preview .label{font-size:12px;color:#64748b;margin-bottom:5px}.project-name-preview .name{font-size:16px;font-weight:600;color:#1e293b;background:#e2e8f0;padding:8px;border-radius:6px}.selection-summary{background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;padding:15px;margin:20px 0}.selection-summary h5{color:#92400e;font-size:14px;margin-bottom:8px;display:flex;align-items:center;gap:8px}.selection-count{background:#f59e0b;color:#fff;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:600}.progress-steps{display:flex;justify-content:center;gap:20px;margin-bottom:20px;flex-wrap:wrap}.step{display:flex;align-items:center;gap:8px;font-size:12px;color:#64748b}.step.active{color:#3b82f6;font-weight:600}.step.completed{color:#10b981}.step-number-indicator{width:24px;height:24px;border-radius:50%;background:#e2e8f0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600}.step.active .step-number-indicator{background:#3b82f6;color:#fff}.step.completed .step-number-indicator{background:#10b981;color:#fff}.dialog-footer{padding:30px;background:#f8fafc;display:flex;flex-direction:column;gap:20px}.btn{display:flex;align-items:center;gap:8px;padding:12px 24px;border:none;border-radius:10px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:14px}.btn-cancel{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}.btn-cancel:hover:not(:disabled){background:#e2e8f0;transform:translateY(-1px)}.btn-create{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.btn-create:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #10b9814d}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (max-width: 768px){.project-create-advanced{padding:10px}.dialog-container{margin:10px 0}.form-grid,.inspection-types,.analysis-modes{grid-template-columns:1fr}.workflow-steps{grid-template-columns:repeat(2,1fr)}.progress-steps{gap:10px}.dialog-footer>div{flex-direction:column}.dialog-header h1{font-size:24px}.dialog-header p{font-size:14px}}@media (max-width: 480px){.section{padding:20px}.workflow-steps,.thermal-controls{grid-template-columns:1fr}}.material-selection{margin-top:12px;padding:12px;background:#6c757d0d;border-radius:6px;border-top:1px solid rgba(108,117,125,.2)}.material-label{display:flex;align-items:center;gap:6px;font-size:.85rem;font-weight:500;color:#495057;margin-bottom:6px}.material-icon{font-size:1rem}.material-label small{color:#6c757d;font-weight:400}.material-dropdown{width:100%;padding:8px 12px;border:1px solid #ced4da;border-radius:4px;font-size:.85rem;background:#fff;color:#495057;cursor:pointer;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.material-dropdown:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 .2rem #007bff40}.inspection-card{position:relative}.inspection-card-header{cursor:pointer}.inspection-card.selected{padding-bottom:0}.inspection-card.selected .inspection-card-header{padding-bottom:12px}.todo-list-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem}.todo-list-dialog{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000004d;max-width:1400px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.todo-list-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#10b981,#059669);color:#fff}.todo-list-header h3{margin:0;font-size:1.3rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.todo-list-content{flex:1;overflow-y:auto;padding:1.5rem}.todo-list-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid #e5e7eb;background:#f9fafb}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:#6b7280;text-align:center}.loading-state i,.empty-state i{font-size:2.5rem;margin-bottom:1rem}.loading-state i{color:#10b981}.empty-state i{color:#d1d5db}.empty-state h4{margin:0 0 .5rem;color:#374151}.empty-state p{margin:0;font-size:.9rem}.image-todo-grid{display:flex;flex-direction:column;gap:1.5rem}.image-todo-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .3s ease;position:relative}.todo-card-content{display:flex;gap:1.5rem;align-items:flex-start}.todo-image-thumbnail{flex-shrink:0;width:120px;height:90px;position:relative;border-radius:8px;overflow:hidden;background:#f3f4f6;display:flex;align-items:center;justify-content:center}.thumbnail-image{width:100%;height:100%;object-fit:cover;border-radius:8px}.image-type-badge{position:absolute;top:4px;right:4px;background:#10b981e6;color:#fff;font-size:.7rem;font-weight:600;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.05em}.todo-card-info{flex:1;min-width:0}.image-todo-card:hover{border-color:#10b981;transform:translateY(-2px);box-shadow:0 8px 25px #10b98126}.todo-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #f3f4f6}.image-info h4{margin:0 0 .25rem;font-size:1.1rem;font-weight:600;color:#374151;line-height:1.2;word-break:break-word}.image-type{font-size:.8rem;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;background:#f3f4f6;padding:.25rem .5rem;border-radius:4px}.completion-status{text-align:right;flex-shrink:0}.completion-count{display:block;font-size:1.25rem;font-weight:700;color:#10b981;line-height:1;margin-bottom:.25rem}.next-task{font-size:.8rem;color:#6b7280;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.task-checklist{margin-bottom:1rem}.task-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 0;border-bottom:1px solid #f9fafb;transition:all .2s ease}.task-item:last-child{border-bottom:none}.task-item.completed{color:#059669}.task-item.pending{color:#6b7280}.task-item i{font-size:1rem;width:16px;text-align:center;flex-shrink:0}.task-item.completed i{color:#10b981}.task-item.pending i{color:#d1d5db}.task-item span{font-weight:500;font-size:.9rem}.annotation-count{font-size:.8rem;color:#6b7280;font-weight:400;margin-left:.5rem}.todo-summary{padding-top:1rem;border-top:1px solid #f3f4f6}.summary-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#374151;font-weight:500}.summary-item i{color:#10b981;width:16px;text-align:center}.btn{padding:.75rem 1.5rem;border:none;border-radius:6px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:.5rem;text-decoration:none}.btn-secondary{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.btn-secondary:hover:not(:disabled){background:#e5e7eb;border-color:#9ca3af}.btn-refresh{background:#10b981;color:#fff}.btn-refresh:hover:not(:disabled){background:#059669}@media (max-width: 768px){.todo-list-dialog{margin:1rem;width:calc(100vw - 2rem);max-height:calc(100vh - 2rem)}.image-todo-grid{grid-template-columns:1fr}.todo-card-header{flex-direction:column;gap:1rem;align-items:flex-start}.completion-status{text-align:left}.todo-list-header,.todo-list-content,.todo-list-footer{padding:1rem}.todo-list-footer{flex-direction:column-reverse}.todo-list-footer .btn{width:100%;justify-content:center}}@media (max-width: 480px){.image-todo-grid{gap:1rem}.image-todo-card{padding:1rem}.image-info h4{font-size:1rem}.completion-count{font-size:1.1rem}.task-item{padding:.5rem 0}}.dialog-header .header-content{display:flex;justify-content:space-between;align-items:center;max-width:none}.dialog-header .header-text{flex:1;text-align:center}.upload-header,.image-upload .upload-header,div.upload-header,.upload-container .upload-header{background:#1e3c72!important;background:linear-gradient(135deg,#1e3c72,#2a5298)!important;color:#fff!important;padding:30px}.upload-header .header-content{display:flex;justify-content:center!important;align-items:center;flex-wrap:wrap;gap:20px;text-align:center!important;flex-direction:column!important}.upload-header .header-title{text-align:center!important;width:100%!important}.upload-header .inspection-info{margin-top:10px!important}.header-title h1,.upload-header h1,.upload-header .header-title h1,.image-upload .upload-header h1,.upload-container .upload-header h1{font-size:28px;font-weight:700;margin:0 0 8px;display:flex;align-items:center;justify-content:center!important;gap:12px;color:#fff!important;text-align:center!important}.header-title p,.upload-header p,.upload-header .header-title p,.image-upload .upload-header p,.upload-container .upload-header p{font-size:16px;opacity:.9;margin:0;color:#fff!important;text-align:center!important}.inspection-info{background:#ffffff1a;padding:12px 16px;border-radius:10px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.inspection-id{font-size:14px;font-weight:600}.upload-content{padding:40px}.drop-zone{border:3px dashed #e2e8f0;border-radius:16px;padding:60px 40px;text-align:center;background:#f8fafc;cursor:pointer;transition:all .3s ease;margin-bottom:40px}.drop-zone:hover,.drop-zone.active{border-color:#3b82f6;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);transform:translateY(-2px);box-shadow:0 8px 25px #3b82f626}.drop-zone-content{max-width:400px;margin:0 auto}.upload-icon{font-size:64px;color:#3b82f6;margin-bottom:20px}.drop-zone h3{font-size:24px;font-weight:600;color:#1e293b;margin-bottom:12px}.upload-instructions{font-size:16px;color:#64748b;line-height:1.6;margin-bottom:24px}.browse-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;padding:14px 28px;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:8px}.browse-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #3b82f64d}.image-preview-section{margin-top:40px}.preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #e2e8f0;flex-wrap:wrap;gap:16px}.preview-header h3{font-size:20px;font-weight:600;color:#1e293b;margin:0;display:flex;align-items:center;gap:8px}.preview-actions{display:flex;gap:12px;flex-wrap:wrap}.image-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:30px;max-width:100%}.image-card{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;overflow:hidden;transition:all .3s ease}.image-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0000001a}.image-card.success{border-color:#10b981;background:linear-gradient(135deg,#ecfdf5,#d1fae5)}.image-card.error{border-color:#ef4444;background:linear-gradient(135deg,#fef2f2,#fecaca)}.image-card.uploading{border-color:#f59e0b;background:linear-gradient(135deg,#fffbeb,#fef3c7)}.image-thumbnail{position:relative;width:336px;height:192px;background:#f1f5f9;margin:0 auto;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer}.status-overlay{position:absolute;top:10px;right:10px;z-index:2}.status-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:#fff}.status-icon.pending{background:#6b7280}.status-icon.uploading{background:#f59e0b}.status-icon.success{background:#10b981}.status-icon.error{background:#ef4444}.status-icon.existing{background:#059669}.upload-progress{display:flex;flex-direction:column;align-items:center;gap:8px}.progress-bar{width:80px;height:6px;background:#ffffff4d;border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:#fff;transition:width .3s ease;border-radius:3px}.remove-btn{position:absolute;top:10px;left:10px;width:28px;height:28px;background:#ef4444e6;color:#fff;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;transition:all .2s ease;z-index:3}.remove-btn:hover{background:#ef4444;transform:scale(1.1)}.image-name{font-size:14px;font-weight:600;color:#1e293b;margin-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.image-details{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:8px}.camera-badge{font-size:14px;font-weight:600;color:#1e40af;background:#dbeafe;padding:6px 12px;border-radius:12px;text-transform:uppercase;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;margin:2px}.type-badge{font-size:14px;font-weight:700;padding:6px 12px;border-radius:12px;text-transform:uppercase;display:inline-block;margin:2px}.type-badge.thermal{color:#dc2626;background:#fecaca}.type-badge.rgb{color:#059669;background:#d1fae5}.analysis-badge{font-size:14px;font-weight:700;padding:6px 12px;border-radius:12px;text-transform:uppercase;display:inline-block;margin:2px}.analysis-badge.analyzed{color:#059669;background:#d1fae5}.analysis-badge.pending{color:#d97706;background:#fef3c7}.error-message{display:flex;align-items:center;gap:6px;color:#dc2626;font-size:12px;margin-top:8px;padding:8px;background:#fef2f2;border-radius:6px}.upload-summary{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:12px;padding:20px;margin-top:30px}.summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:20px}.stat{text-align:center;padding:16px;background:#fff;border-radius:10px;box-shadow:0 2px 8px #3b82f61a}.stat i{font-size:24px;color:#3b82f6;margin-bottom:8px}.stat-value{display:block;font-size:24px;font-weight:700;color:#1e293b;margin-bottom:4px}.stat-label{font-size:12px;color:#64748b;font-weight:600;text-transform:uppercase}.upload-footer{background:#f8fafc;padding:30px 40px;border-top:1px solid #e2e8f0}.footer-actions{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border:none;border-radius:10px;font-weight:600;font-size:14px;cursor:pointer;transition:all .3s ease;text-decoration:none}.btn-info{background:#0ea5e9;color:#fff;border:1px solid #0284c7}.btn-info:hover:not(:disabled){background:#0284c7;transform:translateY(-1px)}@media (max-width: 768px){.image-upload{padding:10px}.upload-container{margin:10px 0;border-radius:16px}.upload-content{padding:20px}.drop-zone{padding:40px 20px}.upload-icon{font-size:48px}.drop-zone h3{font-size:20px}.image-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.preview-header{flex-direction:column;align-items:flex-start}.preview-actions{width:100%;justify-content:stretch}.preview-actions .btn{flex:1;justify-content:center}.footer-actions{flex-direction:column;align-items:stretch}.footer-actions .btn{justify-content:center}.summary-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.header-content{text-align:center}.header-title h1{font-size:24px}.image-grid{grid-template-columns:1fr}.summary-stats{grid-template-columns:repeat(2,1fr);gap:12px}.upload-footer{padding:20px}}.drop-zone.active{animation:pulse 1s infinite}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.image-hover-popup{background:#000000e6;border-radius:12px;padding:10px;box-shadow:0 8px 32px #0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.1);max-width:500px;max-height:400px}.image-hover-popup img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;display:block}.upload-header,.image-upload .upload-header,div.upload-header,.upload-container .upload-header,[class*=upload-header]{background:linear-gradient(90deg,#1e40af,#dc2626)!important;text-align:center!important;padding:25px 30px!important}.upload-header *,.image-upload .upload-header *,div.upload-header *,.upload-container .upload-header *,[class*=upload-header] *{color:#fff!important}.camera-badge,.type-badge,.analysis-badge{width:160px!important;height:32px!important;font-size:14px!important;font-weight:600!important;padding:0!important;border-radius:6px!important;text-align:center!important;white-space:nowrap!important;display:flex!important;align-items:center!important;justify-content:center!important;border:1px solid!important;margin:0!important}.camera-badge{color:#1e40af!important;background:#dbeafe!important;border-color:#60a5fa!important}.type-badge.thermal{color:#dc2626!important;background:#fef2f2!important;border-color:#f87171!important}.type-badge.rgb,.analysis-badge.analyzed{color:#059669!important;background:#f0fdf4!important;border-color:#34d399!important}.analysis-badge.pending{color:#d97706!important;background:#fffbeb!important;border-color:#fbbf24!important}.page-container{width:100%;min-height:100vh}.page-header{background:linear-gradient(90deg,#1e40af,#dc2626);color:#fff;padding:30px;border-radius:16px 16px 0 0;margin-bottom:20px;box-shadow:0 4px 20px #0000001a}.header-content{display:flex;align-items:center;gap:20px}.header-icon{font-size:48px;color:#fff;display:flex;align-items:center;justify-content:center;width:72px;height:72px;background:#ffffff1a;border-radius:50%}.header-text h1{font-size:32px;font-weight:700;margin:0 0 5px;color:#fff}.header-text p{font-size:16px;margin:0;opacity:.9;color:#fff}.page-content{padding:0}.section-card{background:#fff;border-radius:16px;padding:30px;margin-bottom:30px;box-shadow:0 4px 20px #00000014;border:1px solid #e2e8f0}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #f1f5f9}.section-header h3{font-size:24px;font-weight:700;color:#1e293b;margin:0}.content-placeholder{text-align:center;padding:40px 20px;color:#64748b}.content-placeholder h4{font-size:20px;font-weight:600;margin:10px 0;color:#1e293b}.content-placeholder p{font-size:16px;margin:0;line-height:1.6;color:#64748b}.stats-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:#fff;border-radius:16px;padding:24px;display:flex;align-items:center;gap:16px;box-shadow:0 4px 20px #00000014;border:1px solid #e2e8f0;transition:all .3s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001f}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#64748b,#475569);color:#fff;font-size:20px}.stat-icon.active{background:linear-gradient(135deg,#10b981,#059669)}.stat-value{font-size:32px;font-weight:700;color:#1e293b;line-height:1}.stat-label{font-size:14px;color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.tab-navigation{display:flex;gap:4px;background:#f1f5f9;padding:4px;border-radius:12px;margin-bottom:30px}.tab-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border:none;border-radius:8px;background:transparent;color:#64748b;font-weight:600;cursor:pointer;transition:all .2s ease}.tab-btn:hover{color:#374151;background:#ffffff80}.tab-btn.active{background:#fff;color:#1e293b;box-shadow:0 2px 8px #00000014}.tab-content{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.models-grid{display:flex;flex-direction:column;gap:40px}.inspection-group{background:#fff;border-radius:16px;padding:30px;box-shadow:0 4px 20px #00000014;border:1px solid #e2e8f0}.inspection-title{font-size:24px;font-weight:700;color:#1e293b;margin-bottom:20px;display:flex;align-items:center;gap:12px}.inspection-title:before{content:"";width:4px;height:24px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:2px}.model-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.model-type-card{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid #e2e8f0;border-radius:12px;padding:20px;transition:all .3s ease}.model-type-card:hover{border-color:#3b82f6;transform:translateY(-2px)}.model-type-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.type-badge{padding:4px 8px;border-radius:6px;font-size:10px;font-weight:600;text-transform:uppercase}.thermal-badge{background:#fecaca;color:#dc2626}.rgb-badge{background:#bfdbfe;color:#2563eb}.dual-badge{background:#c084fc;color:#000}.status-badge{padding:4px 8px;border-radius:6px;font-size:10px;font-weight:600;text-transform:uppercase}.status-badge.active{background:#16a34a;color:#fff}.status-badge.inactive{background:#dc2626;color:#fff}.active-model-info{margin-bottom:12px}.model-name{font-weight:600;color:#1e293b;font-size:14px;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.model-accuracy{font-size:12px;color:#64748b}.model-count{font-size:12px;color:#64748b;font-style:italic}.model-switchers{display:flex;flex-direction:column;gap:40px}.inspection-switcher{background:#fff;border-radius:16px;padding:30px;box-shadow:0 4px 20px #00000014;border:1px solid #e2e8f0}.switcher-title{font-size:20px;font-weight:700;color:#1e293b;margin-bottom:20px}.model-types-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.model-switcher{border:2px solid #e2e8f0;border-radius:12px;padding:20px;background:#f8fafc}.switcher-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.switcher-header h4{font-size:16px;font-weight:600;color:#1e293b;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.model-count{font-size:12px;color:#64748b;background:#e2e8f0;padding:2px 8px;border-radius:4px}.no-models{text-align:center;padding:20px;color:#64748b}.no-models i{font-size:24px;margin-bottom:8px;color:#f59e0b}.model-options{display:flex;flex-direction:column;gap:12px}.model-option{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#fff;border:2px solid #e2e8f0;border-radius:8px;transition:all .2s ease}.model-option.active{border-color:#10b981;background:#f0fdf4}.model-info{flex:1;min-width:0;overflow:hidden}.model-info .model-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.model-details{display:flex;gap:12px;margin-top:4px}.accuracy{font-size:12px;color:#64748b}.source-badge{font-size:10px;padding:2px 6px;border-radius:4px;text-transform:uppercase;font-weight:600}.source-badge.builtin{background:#dbeafe;color:#2563eb}.source-badge.downloaded{background:#dcfce7;color:#16a34a}.source-badge.custom{background:#fef3c7;color:#d97706}.switch-btn{padding:8px 16px;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s ease}.switch-btn:not(.active){background:#3b82f6;color:#fff}.switch-btn:not(.active):hover{background:#2563eb}.switch-btn.active{background:#10b981;color:#fff}.switch-btn:disabled{opacity:.5;cursor:not-allowed}.library-content{display:flex;flex-direction:column;gap:40px}.download-section{background:#fff;border-radius:16px;padding:30px;box-shadow:0 4px 20px #00000014;border:1px solid #e2e8f0}.download-section h3{margin-bottom:20px;color:#1e293b}.download-form{display:flex;flex-direction:column;gap:16px}.form-row{display:flex;gap:12px}.url-input,.name-input{flex:1;padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:14px}.url-input:focus,.name-input:focus{outline:none;border-color:#3b82f6}.type-select{padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;background:#fff;cursor:pointer}.download-btn{padding:12px 24px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.download-btn:hover{background:#2563eb}.download-btn:disabled{opacity:.5;cursor:not-allowed}.pretrained-library{background:#fff;border-radius:16px;padding:30px;box-shadow:0 4px 20px #00000014;border:1px solid #e2e8f0}.library-section{margin-bottom:30px}.library-section h4{color:#1e293b;margin-bottom:16px;font-size:18px}.model-type-section{margin-bottom:24px}.model-type-section h5{color:#374151;margin-bottom:12px;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.library-models{display:flex;flex-direction:column;gap:12px}.library-model{display:flex;justify-content:space-between;align-items:center;padding:16px;border:2px solid #e2e8f0;border-radius:8px;background:#f8fafc;transition:all .2s ease}.library-model:hover{border-color:#3b82f6}.library-model-info{flex:1;min-width:0;overflow:hidden}.library-model-name{font-weight:600;color:#1e293b;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.library-model-description{font-size:14px;color:#64748b;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;line-height:1.4;max-height:2.8em}.library-model-stats{display:flex;gap:16px;font-size:12px}.library-model-stats .accuracy{color:#10b981;font-weight:600}.library-model-stats .size{color:#64748b}.library-model-stats .source{color:#3b82f6}.library-download-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#10b981;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s ease}.library-download-btn:hover{background:#059669}.library-download-btn:disabled{opacity:.5;cursor:not-allowed}.error-card{text-align:center;padding:40px 20px;background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;border:1px solid #e2e8f0}.error-card i{font-size:48px;color:#f59e0b;margin-bottom:16px}.error-card h3{color:#1e293b;margin-bottom:8px}.error-card p{color:#64748b;margin:0}@media (max-width: 1024px){.model-type-grid,.model-types-row{grid-template-columns:1fr;gap:16px}.stats-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}}@media (max-width: 768px){.form-row{flex-direction:column}.model-option{flex-direction:column;align-items:stretch;gap:12px}.library-model{flex-direction:column;align-items:stretch;gap:16px}.tab-btn{font-size:14px;padding:10px 16px}.tab-btn i{display:none}}.report-list{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(135deg,#f8fafc,#f1f5f9);min-height:100vh;color:#333}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center}.loading-spinner{font-size:48px;color:#3b82f6;margin-bottom:20px}.reports-header{background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d}.header-content{max-width:1400px;margin:0 auto;padding:30px 20px;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap}.header-info h1{font-size:28px;font-weight:700;color:#1e293b;margin-bottom:8px;display:flex;align-items:center;gap:12px}.header-info p{color:#64748b;font-size:16px;margin:0}.header-actions{display:flex;gap:12px;flex-wrap:wrap}.reports-controls{max-width:1400px;margin:0 auto;padding:20px 20px 0;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.search-section{flex:1;min-width:280px}.search-box{position:relative;display:flex;align-items:center}.search-box i{position:absolute;left:16px;color:#64748b;font-size:14px}.search-box input{width:100%;padding:12px 16px 12px 44px;border:2px solid #e5e7eb;border-radius:10px;font-size:14px;background:#fff;transition:all .2s ease}.search-box input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.filter-section{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:8px}.filter-group label{font-size:14px;font-weight:600;color:#374151}.filter-group select{padding:8px 12px;border:2px solid #e5e7eb;border-radius:6px;font-size:14px;background:#fff;cursor:pointer;transition:border-color .2s ease}.filter-group select:focus{outline:none;border-color:#3b82f6}.sort-order-btn{padding:8px;border:2px solid #e5e7eb;border-radius:6px;background:#fff;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.sort-order-btn:hover{border-color:#3b82f6;background:#f0f9ff}.sort-order-btn i{font-size:14px;color:#374151}.reports-content{max-width:1400px;margin:0 auto;padding:20px}.empty-state{text-align:center;padding:80px 20px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.empty-state i{font-size:64px;color:#cbd5e1;margin-bottom:20px}.empty-state h3{font-size:24px;color:#1e293b;margin-bottom:12px}.empty-state p{color:#64748b;font-size:16px;margin-bottom:32px;max-width:500px;margin-left:auto;margin-right:auto;line-height:1.6}.reports-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:20px}.report-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;border:2px solid transparent;transition:all .3s ease;overflow:hidden;display:flex;flex-direction:column}.report-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026;border-color:#e2e8f0}.report-header{display:flex;justify-content:space-between;align-items:center;padding:20px 20px 0}.report-icon{width:48px;height:48px;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px}.report-status{text-align:right}.status-indicator{display:inline-block;padding:4px 12px;border-radius:16px;color:#fff;font-size:12px;font-weight:600;text-transform:uppercase}.report-content{flex:1;padding:16px 20px}.report-title{font-size:18px;font-weight:600;color:#1e293b;margin-bottom:12px;line-height:1.4}.report-meta{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.meta-item{display:flex;align-items:center;gap:8px;font-size:14px;color:#64748b}.meta-item i{width:14px;color:#9ca3af}.report-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(60px,1fr));gap:12px;margin-top:16px;padding:16px;background:#f8fafc;border-radius:8px}.stat{text-align:center}.stat-value{display:block;font-size:18px;font-weight:700;color:#1e293b}.stat-label{font-size:11px;color:#64748b;text-transform:uppercase;font-weight:600}.report-actions{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-top:1px solid #f1f5f9;background:#f8fafc;gap:8px}.generating-status,.failed-status{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#64748b}.generating-status{color:#f59e0b}.failed-status{color:#ef4444}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#fff;border-radius:16px;box-shadow:0 25px 50px #00000040;max-width:600px;width:90vw;max-height:90vh;overflow:hidden;animation:modalSlideIn .3s ease}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #e2e8f0;background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.modal-header h3{margin:0;font-size:20px;font-weight:600;color:#1e293b;display:flex;align-items:center;gap:10px}.close-btn{width:36px;height:36px;border:none;background:#f1f5f9;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#64748b;transition:all .2s ease}.close-btn:hover{background:#e2e8f0;color:#374151;transform:scale(1.1)}.modal-body{padding:24px;max-height:60vh;overflow-y:auto}.form-group{margin-bottom:24px}.form-group label{display:block;font-weight:600;color:#374151;margin-bottom:8px;font-size:14px}.form-group select{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;background:#fff;transition:border-color .2s ease}.form-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.templates-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.template-card{border:2px solid #e2e8f0;border-radius:12px;padding:20px;text-align:center;cursor:pointer;transition:all .3s ease;background:#f8fafc;position:relative}.template-card:hover{border-color:#3b82f6;background:#f0f9ff;transform:translateY(-2px);box-shadow:0 8px 20px #3b82f626}.template-card.selected{border-color:#3b82f6;background:linear-gradient(135deg,#dbeafe,#bfdbfe);box-shadow:0 4px 12px #3b82f633}.template-icon{width:48px;height:48px;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;margin:0 auto 12px}.template-card h4{font-size:16px;font-weight:600;color:#1e293b;margin-bottom:8px}.template-card p{font-size:12px;color:#64748b;line-height:1.4;margin:0}.default-badge{position:absolute;top:8px;right:8px;background:#10b981;color:#fff;font-size:10px;font-weight:600;padding:2px 6px;border-radius:10px;text-transform:uppercase}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:24px;border-top:1px solid #e2e8f0;background:#f8fafc}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:all .3s ease;text-decoration:none;white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #3b82f64d}.btn-secondary{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}.btn-secondary:hover:not(:disabled){background:#e2e8f0;transform:translateY(-1px)}.btn-danger{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.btn-danger:hover:not(:disabled){background:#fee2e2;transform:translateY(-1px)}@media (max-width: 1024px){.reports-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.reports-controls{flex-direction:column;align-items:stretch;gap:16px}.filter-section{justify-content:space-between}}@media (max-width: 768px){.report-list{padding:0}.reports-content{padding:10px}.header-content{padding:20px 10px;flex-direction:column;align-items:stretch}.header-actions{justify-content:stretch}.header-actions .btn{flex:1;justify-content:center}.reports-controls{padding:10px 10px 0}.reports-grid{grid-template-columns:1fr;gap:16px}.report-stats{grid-template-columns:repeat(2,1fr)}.filter-section{flex-direction:column;align-items:stretch}.filter-group{justify-content:space-between}.templates-grid{grid-template-columns:1fr}.modal-content{width:95vw;margin:20px}.modal-header,.modal-body,.modal-footer{padding:16px}}@media (max-width: 480px){.header-info h1{font-size:24px}.report-card{margin-bottom:8px}.report-actions{flex-direction:column;gap:8px}.report-actions .btn{width:100%;justify-content:center}.report-stats{grid-template-columns:repeat(2,1fr);gap:8px}.search-box input{padding-left:40px}}.modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.warning-modal{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000004d;width:90%;max-width:600px;max-height:80vh;overflow-y:auto;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}.warning-modal .modal-header{display:flex;align-items:center;gap:15px;padding:25px;border-bottom:2px solid #f1f5f9;background:linear-gradient(135deg,#fef2f2,#fff7ed);border-radius:12px 12px 0 0}.warning-modal .warning-icon{background:#dc2626;color:#fff;width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:0 4px 12px #dc26264d}.warning-modal .modal-header h3{margin:0;color:#dc2626;font-size:1.5rem;font-weight:600}.warning-modal .modal-content{padding:25px}.warning-modal .inspection-name{font-size:1.1rem;margin-bottom:20px;color:#374151;line-height:1.6}.warning-modal .inspection-name strong{color:#dc2626;font-weight:600}.warning-modal .dependency-check{margin-bottom:25px}.warning-modal .dependency-check h4{margin:0 0 15px;color:#374151;font-size:1.1rem;font-weight:600;border-bottom:2px solid #e5e7eb;padding-bottom:8px}.warning-modal .dependency-grid{display:grid;gap:12px}.warning-modal .dependency-item{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;background:#f9fafb;border-radius:8px;border-left:4px solid #e5e7eb}.warning-modal .dependency-item .label{color:#6b7280;font-weight:500}.warning-modal .dependency-item .value{font-weight:700;font-size:1.1rem;padding:4px 12px;border-radius:20px;min-width:40px;text-align:center}.warning-modal .dependency-item .value.safe{background:#dcfce7;color:#166534}.warning-modal .dependency-item .value.danger{background:#fee2e2;color:#dc2626}.warning-modal .warnings-section{margin-bottom:25px}.warning-modal .warnings-section h4{margin:0 0 15px;color:#374151;font-size:1.1rem;font-weight:600;border-bottom:2px solid #e5e7eb;padding-bottom:8px}.warning-modal .warnings-list{display:flex;flex-direction:column;gap:8px}.warning-modal .warning-item{padding:12px 15px;border-radius:8px;font-weight:500;line-height:1.5}.warning-modal .warning-item.info{background:#dbeafe;color:#1e40af;border-left:4px solid #3b82f6}.warning-modal .warning-item.critical{background:#fee2e2;color:#dc2626;border-left:4px solid #dc2626}.warning-modal .risk-assessment{margin-bottom:20px;padding:15px;border-radius:8px;display:flex;align-items:center;gap:12px}.warning-modal .safe-notice{background:#dcfce7;color:#166534;border:2px solid #bbf7d0;display:flex;align-items:center;gap:12px;font-weight:600}.warning-modal .safe-notice i{font-size:1.2rem}.warning-modal .danger-notice{background:#fee2e2;color:#dc2626;border:2px solid #fecaca;display:flex;align-items:center;gap:12px;font-weight:600}.warning-modal .danger-notice i{font-size:1.2rem;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.warning-modal .final-warning{color:#374151;line-height:1.6;margin-bottom:0}.warning-modal .final-warning strong{color:#dc2626;font-weight:600}.warning-modal .modal-actions{display:flex;gap:15px;justify-content:flex-end;padding:25px;border-top:2px solid #f1f5f9;background:#f9fafb;border-radius:0 0 12px 12px}.warning-modal .modal-actions .btn{padding:12px 24px;border-radius:8px;font-weight:600;font-size:1rem;border:none;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px}.warning-modal .modal-actions .btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.warning-modal .modal-actions .btn-secondary{background:#6b7280;color:#fff}.warning-modal .modal-actions .btn-secondary:hover{background:#4b5563}.warning-modal .modal-actions .btn-warning{background:#f59e0b;color:#fff}.warning-modal .modal-actions .btn-warning:hover{background:#d97706}.warning-modal .modal-actions .btn-danger{background:#dc2626;color:#fff}.warning-modal .modal-actions .btn-danger:hover{background:#b91c1c}@media (max-width: 768px){.warning-modal{width:95%;margin:20px}.warning-modal .modal-header,.warning-modal .modal-content,.warning-modal .modal-actions{padding:20px}.warning-modal .modal-actions{flex-direction:column}.warning-modal .modal-actions .btn{width:100%;justify-content:center}}.user-management{padding:20px;max-width:1200px;margin:0 auto}.user-management-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #e0e0e0}.user-management-header h2{margin:0;color:#2c3e50;font-size:28px;font-weight:600}.user-management-loading{display:flex;justify-content:center;align-items:center;height:200px;font-size:18px;color:#7f8c8d}.system-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:#fff;border:2px solid #e2e8f0;padding:25px;border-radius:12px;text-align:center;box-shadow:0 4px 15px #0000001a;min-height:100px;display:flex;flex-direction:column;justify-content:center}.stat-card h3{margin:0 0 15px!important;font-size:15px!important;font-weight:600!important;letter-spacing:.5px!important;text-transform:uppercase!important;color:#6b7280!important;line-height:1.2!important}.stat-number{font-size:32px!important;font-weight:800!important;margin:0!important;line-height:1!important;color:#1f2937!important;display:block!important}.role-distribution{margin-bottom:30px;padding:20px;background:#f8f9fa;border-radius:12px}.role-distribution h3{margin:0 0 15px;color:#2c3e50;font-size:18px}.role-stats{display:flex;gap:15px;flex-wrap:wrap}.role-stat{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.role-badge{padding:4px 8px;border-radius:4px;color:#fff;font-size:12px;font-weight:500}.role-count{font-weight:700;color:#2c3e50}.users-table-container{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 15px #0000001a;margin-bottom:30px}.users-table{width:100%;border-collapse:collapse}.users-table th{background:#34495e;color:#fff;padding:15px;text-align:left;font-weight:600;font-size:14px}.users-table td{padding:15px;border-bottom:1px solid #ecf0f1;vertical-align:middle}.users-table tr:hover{background:#f8f9fa}.user-inactive{opacity:.6;background:#f5f5f5}.user-info{display:flex;flex-direction:column;gap:4px}.user-name{font-weight:600;color:#2c3e50;font-size:14px}.user-email{color:#7f8c8d;font-size:13px}.user-company{color:#95a5a6;font-size:12px;font-style:italic}.role-select{padding:6px 10px;border:1px solid #bdc3c7;border-radius:6px;background:#fff;color:#2c3e50;font-size:13px;cursor:pointer}.role-select:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db33}.status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.status-badge.active{background:#d4edda;color:#155724}.status-badge.inactive{background:#f8d7da;color:#721c24}.user-actions{display:flex;gap:8px;flex-wrap:wrap}.btn{padding:8px 16px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-block;text-align:center}.btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.btn-primary{background:#3498db;color:#fff}.btn-secondary{background:#95a5a6;color:#fff}.btn-success{background:#27ae60;color:#fff}.btn-warning{background:#f39c12;color:#fff}.btn-danger{background:#e74c3c;color:#fff}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:80vh;overflow-y:auto;box-shadow:0 10px 30px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #ecf0f1}.modal-header h3{margin:0;color:#2c3e50;font-size:20px}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#95a5a6;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:#2c3e50}.modal-body{padding:20px}.user-detail-grid{display:flex;flex-direction:column;gap:20px}.detail-row{display:flex;align-items:center;gap:20px;padding:12px 0;border-bottom:1px solid #ecf0f1}.detail-row label{font-weight:600;color:#34495e;font-size:14px;min-width:140px;flex-shrink:0}.detail-row span{color:#2c3e50;font-size:14px}.detail-row input,.detail-row select{flex:1;padding:10px 12px;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;font-family:inherit;color:#2c3e50;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}.detail-row select{flex:0 0 200px}.detail-row input:focus,.detail-row select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.detail-row input::placeholder{color:#9ca3af;opacity:1}.role-info{background:#fff;padding:25px;border-radius:12px;box-shadow:0 4px 15px #0000001a}.role-info h3{margin:0 0 20px;color:#2c3e50;font-size:20px}.roles-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.role-card{padding:20px;border:2px solid #ecf0f1;border-radius:12px;transition:all .2s ease}.role-card:hover{border-color:#3498db;transform:translateY(-2px);box-shadow:0 4px 15px #0000001a}.role-card h4{margin:0 0 10px;font-size:16px;font-weight:600}.role-card p{margin:0;color:#7f8c8d;font-size:14px;line-height:1.5}.modal-content .create-user-form-row{display:grid!important;grid-template-columns:140px 1fr!important;gap:20px!important;padding:12px 0!important;border-bottom:1px solid #ecf0f1!important;width:100%!important;align-items:center!important}.modal-content .create-user-form-row label{font-weight:600!important;color:#34495e!important;font-size:14px!important;margin:0!important;text-align:left!important;justify-self:start!important}.modal-content .create-user-form-row input.setting-input,.modal-content .create-user-form-row input{padding:10px 12px!important;border:2px solid #e2e8f0!important;border-radius:8px!important;font-size:14px!important;color:#2c3e50!important;background:#fff!important;width:100%!important;max-width:none!important;min-width:0!important;font-family:inherit!important;box-sizing:border-box!important}.modal-content .create-user-form-row select.setting-input,.modal-content .create-user-form-row select{padding:10px 12px!important;border:2px solid #e2e8f0!important;border-radius:8px!important;font-size:14px!important;color:#2c3e50!important;background:#fff!important;width:200px!important;max-width:200px!important;min-width:200px!important;font-family:inherit!important;box-sizing:border-box!important;justify-self:start!important}@media (max-width: 768px){.user-management{padding:15px}.user-management-header{flex-direction:column;gap:15px;align-items:stretch}.system-stats{grid-template-columns:1fr}.role-stats{justify-content:center}.users-table-container{overflow-x:auto}.users-table{min-width:600px}.user-actions{flex-direction:column}.detail-row{grid-template-columns:1fr;gap:5px}.roles-grid{grid-template-columns:1fr}}.settings-container{height:100vh;display:flex;flex-direction:column;background:#f8fafc}.hardware-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}@media (max-width: 768px){.hardware-grid{grid-template-columns:1fr}}.hardware-info{background:#f0f9ff;border:1px solid #0ea5e9;border-radius:8px;padding:1rem;margin-top:1rem}.hardware-info .info-text{margin:0;color:#0c4a6e;font-size:.95rem;line-height:1.5}.hardware-status-content{display:flex;flex-direction:column;gap:1.25rem}.hardware-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.hardware-header h3{margin:0;font-size:1.1rem;font-weight:600;color:#1e293b}.hardware-metrics{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.metric-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem}.metric-card h4{margin:0 0 .5rem;font-size:.9rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.025em}.metric-value{font-size:1.5rem;font-weight:700;color:#1e293b;margin-bottom:.25rem}.metric-description{margin:0;font-size:.8rem;color:#64748b;line-height:1.3}.gpu-info{grid-column:1 / -1}.gpu-status{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.gpu-name{font-size:.8rem;color:#64748b;font-weight:500}.performance-assessment{background:#eff6ff;border:1px solid #dbeafe;border-radius:8px;padding:1rem}.performance-assessment h4{margin:0 0 .5rem;font-size:.9rem;font-weight:600;color:#1e40af}.performance-assessment p{margin:0;font-size:.85rem;color:#1e40af;line-height:1.4}.system-info{border-top:1px solid #e2e8f0;padding-top:1rem}.system-info h4{margin:0 0 .75rem;font-size:.9rem;font-weight:600;color:#374151}.system-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem}.system-details>div{display:flex;justify-content:space-between;font-size:.8rem;padding:.25rem 0}.system-details>div>span:first-child{color:#64748b;font-weight:500}.system-details>div>span:last-child{color:#1e293b;font-weight:600}.hardware-actions{display:flex;justify-content:flex-end;margin-top:.5rem}@media (max-width: 640px){.hardware-metrics{grid-template-columns:1fr}.hardware-header{flex-direction:column;align-items:flex-start;gap:.5rem}.system-details{grid-template-columns:1fr}.system-details>div{flex-direction:column;gap:.1rem}}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 3px #0000001a}.header-icon{width:48px;height:48px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem}.settings-actions{display:flex;gap:.75rem;align-items:center}.settings-workspace{flex:1;display:flex;overflow:hidden}.settings-sidebar{width:240px;background:#fff;border-right:1px solid #e2e8f0;flex-shrink:0}.settings-tabs{display:flex;flex-direction:column;padding:1rem 0}.settings-tab{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.5rem;background:none;border:none;color:#64748b;font-size:.9rem;cursor:pointer;transition:all .2s ease;border-left:3px solid transparent}.settings-tab:hover{background:#f8fafc;color:#475569}.settings-tab.active{background:#f1f5f9;color:#3730a3;border-left-color:#3730a3;font-weight:500}.settings-tab i{font-size:1rem;width:16px;text-align:center}.settings-content{flex:1;overflow-y:auto;padding:2rem}.settings-section{max-width:800px}.settings-section h3{margin:0 0 1.5rem;font-size:1.25rem;font-weight:600;color:#1e293b;border-bottom:2px solid #e2e8f0;padding-bottom:.5rem}.setting-input,.setting-select{width:100%;max-width:300px;padding:.625rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;transition:border-color .2s ease,box-shadow .2s ease}.range-input{display:flex;align-items:center;gap:1rem;max-width:350px}@media (max-width: 768px){.settings-workspace{flex-direction:column}.settings-sidebar{width:100%}.settings-tabs{flex-direction:row;overflow-x:auto;padding:.5rem}.settings-tab{white-space:nowrap;border-left:none;border-bottom:3px solid transparent;padding:.75rem 1rem}.settings-tab.active{border-left:none;border-bottom-color:#3730a3}.settings-content{padding:1rem}.settings-header{flex-direction:column;gap:1rem;align-items:flex-start}.settings-actions{align-self:stretch;justify-content:flex-end}}.setting-group{transition:background-color .2s ease}.setting-group:hover{background:#f1f5f980;border-radius:8px;padding:.5rem;margin:.5rem -.5rem 1.5rem}.setting-group .setting-group{margin-left:1rem;padding-left:1rem;border-left:2px solid #e2e8f0}.inspection-types-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem;margin-top:1.5rem}.inspection-type-card{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:1.5rem;transition:all .2s ease;box-shadow:0 1px 3px #0000001a}.inspection-type-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f61a;transform:translateY(-2px)}.inspection-type-card.inactive{opacity:.6;border-color:#d1d5db}.inspection-type-card .card-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.inspection-type-card .type-icon{width:50px;height:50px;background:#f8fafc;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.inspection-type-card .type-info{flex:1}.inspection-type-card .type-info h4{margin:0 0 .25rem;font-size:1.125rem;font-weight:600;color:#1f2937}.inspection-type-card .type-code{font-size:.875rem;color:#6b7280;font-family:monospace;background:#f3f4f6;padding:.125rem .5rem;border-radius:4px}.inspection-type-card .type-status{display:flex;flex-direction:column;gap:.5rem;align-items:flex-end}.inspection-type-card .status-badge{padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.inspection-type-card .status-badge.active{background:#dcfce7;color:#166534}.inspection-type-card .status-badge.inactive{background:#f3f4f6;color:#6b7280}.inspection-type-card .system-badge{padding:.125rem .5rem;background:#dbeafe;color:#1d4ed8;border-radius:4px;font-size:.75rem;font-weight:500}.inspection-type-card .type-description{margin-bottom:1rem;color:#6b7280;font-size:.875rem;line-height:1.5}.inspection-type-card .type-details{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;padding:1rem;background:#f8fafc;border-radius:8px}.inspection-type-card .detail-item{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.inspection-type-card .detail-item .label{color:#6b7280;font-weight:500}.inspection-type-card .detail-item .value{color:#1f2937;font-weight:600;font-family:monospace}.inspection-type-card .card-actions{display:flex;gap:.5rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid #e5e7eb}.inspection-type-card .card-actions .btn{padding:.5rem;min-width:40px;display:flex;align-items:center;justify-content:center}.icon-selector{display:flex;align-items:center;gap:.75rem}.icon-selector select{flex:1}.icon-preview{width:40px;height:40px;background:#f8fafc;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;border:1px solid #e5e7eb}.color-selector{display:flex;flex-direction:column;gap:.75rem}.color-input{width:60px;height:40px;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer}.color-presets{display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem}.color-preset{width:30px;height:30px;border-radius:50%;border:2px solid white;box-shadow:0 0 0 1px #e5e7eb;cursor:pointer;transition:transform .1s ease}.color-preset:hover{transform:scale(1.1)}.checkbox-group{display:flex;gap:1rem;flex-wrap:wrap}.settings-section .checkbox-group .checkbox-item{display:flex!important;align-items:center!important;gap:.5rem;font-size:.875rem;flex-direction:row!important;cursor:pointer;padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:6px;background:#f8fafc;transition:all .2s ease}.settings-section .checkbox-group .checkbox-item:hover{background:#f1f5f9;border-color:#3730a3}.settings-section .checkbox-group .checkbox-item input[type=checkbox]{margin:0!important;flex-shrink:0;order:-1!important;width:16px;height:16px;accent-color:#3730a3}.checkbox-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;flex-direction:row;cursor:pointer}.checkbox-item input[type=checkbox]{margin:0;flex-shrink:0;order:-1}@media (max-width: 768px){.inspection-types-grid{grid-template-columns:1fr}.inspection-type-card .card-header{flex-direction:column;align-items:flex-start;gap:.75rem}.inspection-type-card .type-status{align-items:flex-start;flex-direction:row;gap:.75rem}.checkbox-group{flex-direction:column;gap:.75rem}.color-presets{grid-template-columns:repeat(4,1fr)}}body{overflow-x:hidden}.annotation-library{padding:24px;width:calc(100% + 120px);max-width:none;margin:0 -60px;background-color:#f8f9fa;min-height:100vh;box-sizing:border-box}.annotation-library-loading,.annotation-library-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center}.loading-spinner{width:40px;height:40px;border:4px solid #e9ecef;border-top:4px solid #007bff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.annotation-library-header{background:#fff;padding:32px;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:24px;width:100%;box-sizing:border-box;position:relative}.header-content{display:flex;justify-content:space-between;align-items:flex-start;width:100%}.header-text{flex:0 0 auto;text-align:left!important;margin-right:auto!important}.annotation-library-header h1{margin:0 0 8px;font-size:2.5rem;font-weight:600;color:#2c3e50!important;display:block!important;visibility:visible!important;opacity:1!important;text-align:left!important;position:absolute!important;left:32px!important;top:32px!important;z-index:999!important}.annotation-library-header p{margin:0 0 24px;font-size:1.1rem;color:#6c757d}.library-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);padding:24px;border-radius:8px;text-align:center;color:#fff}.stat-card h3{margin:0 0 8px;font-size:2rem;font-weight:700}.stat-card p{margin:0;font-size:.9rem;opacity:.9}.annotation-library-controls{background:#fff;padding:24px;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:24px;width:100%;box-sizing:border-box}.search-section{margin-bottom:20px}.search-bar{position:relative;margin-bottom:16px}.search-input{width:100%;padding:12px 16px;font-size:1rem;border:2px solid #e9ecef;border-radius:8px;transition:border-color .2s}.search-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.search-loading{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:1.2rem}.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.filter-select{padding:10px 12px;border:1px solid #dee2e6;border-radius:6px;background:#fff;font-size:.95rem;cursor:pointer;transition:border-color .2s}.filter-select:focus{outline:none;border-color:#007bff}.view-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.view-mode-toggle{display:flex;background:#f8f9fa;border-radius:8px;padding:4px;gap:2px}.view-mode-toggle button{padding:10px 16px;border:none;background:transparent;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s}.view-mode-toggle button.active,.view-mode-toggle button:hover{background:#fff;box-shadow:0 2px 4px #0000001a;color:#007bff}.utility-buttons{display:flex;gap:12px}.utility-btn{padding:10px 16px;border:1px solid #007bff;background:transparent;color:#007bff;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s}.utility-btn:hover{background:#007bff;color:#fff}.code-validator{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;padding:20px;margin-bottom:24px}.code-validator h3{margin:0 0 16px;color:#856404}.validator-controls{display:flex;gap:12px;margin-bottom:12px}.code-input{flex:1;padding:10px 12px;border:1px solid #ffeaa7;border-radius:6px;font-family:Courier New,monospace}.validate-btn{padding:10px 20px;border:none;background:#856404;color:#fff;border-radius:6px;cursor:pointer;font-weight:500}.validate-btn:hover:not(:disabled){background:#6c4e03}.validate-btn:disabled{opacity:.6;cursor:not-allowed}.validator-help{margin:0;font-size:.9rem;color:#6c4e03;font-style:italic}.annotation-library-content{display:flex;flex-direction:column;gap:24px;width:100%;box-sizing:border-box}.annotation-library-content .annotations-list{width:100%;order:1}.annotation-library-content .annotation-details{width:100%;order:2}@media (max-width: 1200px){.annotation-library-content{flex-direction:column}}.annotations-list{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden;width:100%;min-width:0}.list-header{padding:20px 24px;border-bottom:1px solid #e9ecef;background:#f8f9fa;display:flex;justify-content:space-between;align-items:center}.list-header h2{margin:0;font-size:1.3rem;color:#2c3e50}.clear-search{padding:6px 12px;border:1px solid #dc3545;background:transparent;color:#dc3545;border-radius:4px;cursor:pointer;font-size:.85rem}.clear-search:hover{background:#dc3545;color:#fff}.annotations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1px;background:#e9ecef;padding:1px}.annotation-card{background:#fff;padding:20px;cursor:pointer;transition:all .2s;border:2px solid transparent}.annotation-card:hover{background:#f8f9fa;transform:translateY(-1px)}.annotation-card.selected{border-color:#007bff;background:#e3f2fd}.annotation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.annotation-code{font-family:Courier New,monospace;font-weight:600;font-size:.9rem;color:#495057;background:#f1f3f4;padding:4px 8px;border-radius:4px}.severity-badge{color:#fff;padding:4px 8px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.annotation-name{margin:0 0 12px;font-size:1.1rem;font-weight:600;color:#2c3e50;line-height:1.3}.annotation-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.meta-item{font-size:.8rem;color:#6c757d;background:#f8f9fa;padding:4px 8px;border-radius:12px}.inspection-methods{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.method-tag{background:#e3f2fd;color:#1976d2;padding:4px 8px;border-radius:12px;font-size:.75rem;font-weight:500}.annotation-description{margin:0 0 12px;font-size:.9rem;line-height:1.4;color:#495057}.synonyms{font-size:.8rem;color:#6c757d;padding:8px;background:#f8f9fa;border-radius:4px;border-left:3px solid #007bff}.annotation-details{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;position:sticky;top:24px;max-height:calc(100vh - 48px);overflow-y:auto}.details-header{padding:20px 24px;border-bottom:1px solid #e9ecef;background:#f8f9fa;display:flex;justify-content:space-between;align-items:center}.details-header h2{margin:0;font-size:1.3rem;color:#2c3e50}.close-details{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:4px;color:#6c757d}.close-details:hover{color:#dc3545}.details-content{padding:24px}.detail-section{margin-bottom:24px}.detail-section h3{margin:0 0 12px;font-size:1.1rem;font-weight:600;color:#2c3e50;padding-bottom:8px;border-bottom:2px solid #e9ecef}.detail-grid{display:grid;gap:12px}.detail-item{display:grid;grid-template-columns:1fr 2fr;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #f1f3f4}.detail-item:last-child{border-bottom:none}.detail-item label{font-weight:500;color:#495057;font-size:.9rem}.code-display{font-family:Courier New,monospace;background:#f1f3f4;padding:4px 8px;border-radius:4px;font-size:.85rem}.severity-display{font-weight:600;text-transform:uppercase}.priority-display{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:4px 8px;border-radius:12px;font-weight:600;text-align:center;font-size:.8rem}.cost-category{text-transform:capitalize;font-weight:500}.description-text{margin:0;line-height:1.5;color:#495057;background:#f8f9fa;padding:16px;border-radius:8px;border-left:4px solid #007bff}.methods-list{display:flex;flex-wrap:wrap;gap:8px}.method-pill{background:#e3f2fd;color:#1976d2;padding:8px 12px;border-radius:20px;font-size:.85rem;font-weight:500}.synonyms-list{display:flex;flex-wrap:wrap;gap:6px}.synonym-tag{background:#fff3e0;color:#f57c00;padding:4px 8px;border-radius:12px;font-size:.8rem;font-weight:500}.related-codes{display:flex;flex-wrap:wrap;gap:6px}.related-code{background:#f3e5f5;color:#7b1fa2;padding:4px 8px;border-radius:12px;font-family:Courier New,monospace;font-size:.8rem;font-weight:500}.annotation-actions{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #e9ecef}.action-btn{padding:6px 12px;border:none;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}.edit-btn{background:#e3f2fd;color:#1976d2}.edit-btn:hover{background:#1976d2;color:#fff}.delete-btn{background:#ffebee;color:#d32f2f}.delete-btn:hover{background:#d32f2f;color:#fff}.create-btn{background:#4caf50!important;color:#fff!important}.create-btn:hover{background:#45a049!important}.annotation-form-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.annotation-form-modal{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;width:100%;max-width:800px;max-height:90vh;overflow-y:auto}.form-header{padding:20px 24px;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;align-items:center;background:#f8f9fa;border-radius:12px 12px 0 0}.form-header h2{margin:0;font-size:1.3rem;color:#2c3e50}.close-btn{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:4px;color:#6c757d;border-radius:4px}.close-btn:hover{color:#dc3545;background:#f8f9fa}.annotation-form{padding:24px}.form-section{margin-bottom:32px}.form-section h3{margin:0 0 16px;font-size:1.1rem;font-weight:600;color:#2c3e50;padding-bottom:8px;border-bottom:2px solid #e9ecef}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.form-group{display:flex;flex-direction:column}.form-group label{font-weight:500;color:#495057;margin-bottom:6px;font-size:.9rem}.form-input,.form-select,.form-textarea{padding:10px 12px;border:1px solid #dee2e6;border-radius:6px;font-size:.9rem;transition:border-color .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.code-input{font-family:Courier New,monospace;font-weight:600}.form-group small{margin-top:4px;color:#6c757d;font-size:.8rem;font-style:italic}.checkbox-group{display:flex;flex-wrap:wrap;gap:12px}.checkbox-label{display:flex;align-items:center;gap:6px;cursor:pointer;padding:8px 12px;border-radius:6px;background:#f8f9fa;transition:background-color .2s}.checkbox-label:hover{background:#e9ecef}.checkbox-input{margin:0;cursor:pointer}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:24px;border-top:1px solid #e9ecef}.btn-primary,.btn-secondary{padding:10px 20px;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary{background:#007bff;color:#fff}.btn-primary:hover:not(:disabled){background:#0056b3}.btn-secondary{background:transparent;color:#6c757d;border:1px solid #dee2e6}.btn-secondary:hover:not(:disabled){background:#e9ecef;color:#495057}.btn-primary:disabled,.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.annotations-table-container{width:100%;overflow-x:auto;margin:0;padding:0;box-sizing:border-box}.annotation-table{width:100%}.inspection-type-group{margin-bottom:2rem;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a;width:100%;box-sizing:border-box}.inspection-type-header{background:linear-gradient(135deg,#007bff,#0056b3);color:#fff;padding:1rem 1.5rem;border-bottom:1px solid #e9ecef}.inspection-type-header h3{margin:0;font-size:1.25rem;font-weight:600}.material-group{border-bottom:1px solid #f1f3f4}.material-group:last-child{border-bottom:none}.material-header{background:#f8f9fa;padding:.75rem 1.5rem;border-bottom:1px solid #e9ecef}.material-header h4{margin:0;font-size:1rem;font-weight:500;color:#495057}.annotations-data-table{width:100%;border-collapse:collapse;font-size:.9rem;table-layout:fixed;box-sizing:border-box}.annotations-data-table th,.annotations-data-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #e9ecef;vertical-align:top}.annotations-data-table th:nth-child(1),.annotations-data-table td:nth-child(1){width:10%}.annotations-data-table th:nth-child(2),.annotations-data-table td:nth-child(2){width:30%}.annotations-data-table th:nth-child(3),.annotations-data-table td:nth-child(3){width:12%}.annotations-data-table th:nth-child(4),.annotations-data-table td:nth-child(4){width:10%}.annotations-data-table th:nth-child(5),.annotations-data-table td:nth-child(5){width:15%}.annotations-data-table th:nth-child(6),.annotations-data-table td:nth-child(6){width:8%}.annotations-data-table th:nth-child(7),.annotations-data-table td:nth-child(7){width:10%}.annotations-data-table th:nth-child(8),.annotations-data-table td:nth-child(8){width:5%}.annotations-data-table th{background:#f8f9fa;font-weight:600;color:#495057;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;text-align:center}.annotation-row{cursor:pointer;transition:background-color .2s ease}.annotation-row:hover{background-color:#f8f9fa}.annotation-row.selected{background-color:#e3f2fd!important}.code-cell .annotation-code{font-family:Consolas,Monaco,monospace;font-weight:600;color:#007bff;font-size:.85rem}.name-cell .annotation-name{font-weight:600;color:#2c3e50;display:block;margin-bottom:.25rem}.name-cell .annotation-description{font-size:.8rem;color:#6c757d;line-height:1.3}.defect-cell{color:#495057;font-weight:500}.severity-cell{text-align:center;vertical-align:middle}.severity-cell .severity-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;color:#fff;text-transform:uppercase}.methods-cell{text-align:center;vertical-align:middle}.methods-cell .method-tags{display:flex;flex-wrap:wrap;gap:.25rem;justify-content:center}.methods-cell .method-tag{background:#e9ecef;color:#495057;padding:.2rem .4rem;border-radius:4px;font-size:.75rem;font-weight:500}.priority-cell{font-weight:600;color:#495057;text-align:center;vertical-align:middle}.urgency-cell{font-weight:500;color:#495057;text-align:center;vertical-align:middle}.actions-cell{text-align:center;vertical-align:middle}.actions-cell .action-buttons{display:flex;gap:.25rem;justify-content:center}.actions-cell .action-btn{background:none;border:none;padding:.25rem .5rem;cursor:pointer;border-radius:4px;font-size:.9rem;transition:background-color .2s ease}.actions-cell .edit-btn:hover{background:#e3f2fd}.actions-cell .delete-btn:hover{background:#ffebee}@media (max-width: 1200px){.annotations-data-table{font-size:.8rem}.annotations-data-table th,.annotations-data-table td{padding:.5rem .75rem}.name-cell .annotation-description{display:none}}@media (max-width: 768px){.annotations-table-container{margin:0 -1rem}.inspection-type-header,.material-header{padding:.75rem 1rem}.annotations-data-table th:nth-child(7),.annotations-data-table td:nth-child(7){display:none}.methods-cell .method-tag{font-size:.7rem;padding:.15rem .3rem}}.color-scales-container{height:100vh;display:flex;flex-direction:column;background:#f8fafc}.color-scales-workspace{flex:1;display:flex;gap:1rem;padding:2rem;overflow:hidden}.settings-panel{width:320px;flex-shrink:0;background:#fff;border-radius:12px;border:1px solid #e2e8f0;padding:1.5rem;height:fit-content;box-shadow:0 1px 3px #0000001a}.scales-panel{flex:1;background:#fff;border-radius:12px;border:1px solid #e2e8f0;padding:1.5rem;overflow-y:auto;box-shadow:0 1px 3px #0000001a}.panel-section{margin-bottom:2rem}.panel-section:last-child{margin-bottom:0}.panel-section h3{margin:0 0 1.5rem;font-size:1.1rem;font-weight:600;color:#1e293b;display:flex;align-items:center;gap:.5rem;border-bottom:2px solid #e2e8f0;padding-bottom:.5rem}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e2e8f0}.panel-header h3{margin:0;font-size:1.2rem;font-weight:600;color:#1e293b;display:flex;align-items:center;gap:.5rem;border-bottom:none;padding-bottom:0}.scales-grid{display:grid;gap:1rem;margin-bottom:2rem}.scale-card{border:2px solid #e2e8f0;border-radius:12px;padding:1rem;background:#fefefe;cursor:pointer;transition:all .2s ease;position:relative}.scale-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.scale-card.selected{border-color:#3730a3;background:#f8fafc;box-shadow:0 4px 12px #3730a326}.scale-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.scale-info{flex:1}.scale-info h4{margin:0 0 .25rem;font-size:1rem;font-weight:600;color:#1e293b}.built-in-badge{display:inline-block;background:#e0e7ff;color:#3730a3;font-size:.75rem;padding:.125rem .5rem;border-radius:12px;font-weight:500}.delete-btn{background:none;border:none;color:#dc2626;cursor:pointer;padding:.25rem;border-radius:4px;transition:all .2s ease;opacity:.6}.scale-description{margin:0 0 1rem;color:#64748b;font-size:.9rem;line-height:1.4}.temperature-scale{position:relative}.scale-labels{display:flex;justify-content:space-between;margin-bottom:.25rem;font-size:.75rem;font-weight:500;color:#64748b}.color-preview{display:flex;height:24px;border-radius:6px;overflow:hidden;border:1px solid #e2e8f0}.color-segment{flex:1;min-width:4px}.scale-details{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem;margin-top:1.5rem}.scale-details h4{margin:0 0 1rem;font-size:1.1rem;font-weight:600;color:#1e293b}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1.5rem}.color-details label{display:block;margin-bottom:.75rem;font-size:.9rem;font-weight:500;color:#64748b}.color-values{display:flex;flex-wrap:wrap;gap:.5rem}.color-value{display:flex;align-items:center;gap:.5rem;background:#fff;padding:.5rem;border-radius:8px;border:1px solid #e2e8f0}.color-swatch{width:20px;height:20px;border-radius:4px;border:1px solid #e2e8f0}.color-value span{font-size:.8rem;font-family:Courier New,monospace;color:#374151}.form-input,.form-textarea{width:100%;padding:.625rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;transition:border-color .2s ease,box-shadow .2s ease}.form-input:focus,.form-textarea:focus{outline:none;border-color:#3730a3;box-shadow:0 0 0 3px #3730a31a}.color-inputs{display:flex;flex-direction:column;gap:.75rem}.color-input-group{display:flex;align-items:center;gap:.75rem}.color-picker{width:50px!important;height:40px;padding:0;border:1px solid #d1d5db;border-radius:6px;cursor:pointer}.color-text{flex:1;font-family:Courier New,monospace}.remove-color-btn{background:#fecaca;border:1px solid #f87171;color:#dc2626;padding:.5rem;border-radius:6px;cursor:pointer;transition:all .2s ease;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.remove-color-btn:hover{background:#fca5a5;border-color:#ef4444}.add-color-btn{background:#e0e7ff;border:1px solid #c7d2fe;color:#3730a3;padding:.75rem 1rem;border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;font-weight:500;margin-top:.5rem}.add-color-btn:hover{background:#c7d2fe;border-color:#a5b4fc}.setting-group{margin-bottom:1.5rem}.setting-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#374151;font-size:.9rem}.setting-input,.setting-select{width:100%;padding:.625rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;transition:border-color .2s ease,box-shadow .2s ease}.setting-input:focus,.setting-select:focus{outline:none;border-color:#3730a3;box-shadow:0 0 0 3px #3730a31a}.setting-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:400!important;margin-bottom:0!important}.setting-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:#3730a3}.range-input{display:flex;align-items:center;gap:1rem}.range-input input[type=range]{flex:1;height:4px;background:#e2e8f0;border-radius:2px;outline:none;-webkit-appearance:none}.range-input input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;background:#3730a3;border-radius:50%;cursor:pointer}.range-input input[type=range]::-moz-range-thumb{width:18px;height:18px;background:#3730a3;border-radius:50%;cursor:pointer;border:none}.range-input span{min-width:50px;text-align:center;font-weight:500;color:#3730a3;background:#f1f5f9;padding:.25rem .5rem;border-radius:4px;font-size:.85rem}.btn-primary{background:linear-gradient(135deg,#3730a3,#4f46e5);color:#fff}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#312e81,#4338ca);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f640}.header-actions{display:flex;gap:.75rem}@media (max-width: 768px){.color-scales-workspace{flex-direction:column;padding:1rem}.settings-panel{width:100%;order:2}.scales-panel{order:1}.modal-content{width:95%;margin:1rem}.color-input-group{flex-wrap:wrap}.color-picker{width:60px!important;height:50px}}.save-settings-container{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e2e8f0;display:flex;justify-content:center}.save-settings-btn{padding:12px 24px;font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#92400e;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;min-width:140px;justify-content:center}.save-settings-btn:hover{background:linear-gradient(135deg,#f59e0b,#d97706);color:#78350f;transform:translateY(-2px);box-shadow:0 8px 20px #fbbf244d}.save-settings-btn:active{transform:translateY(0);box-shadow:0 4px 12px #fbbf2433}.calibration-container{height:100vh;display:flex;flex-direction:column;background:#f8fafc}.calibration-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 3px #0000001a}.header-content{display:flex;align-items:center;gap:1rem}.header-icon{width:48px;height:48px;background:linear-gradient(135deg,#06b6d4,#0891b2);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem}.header-text h1{margin:0;font-size:1.8rem;font-weight:600;color:#1e293b}.header-text p{margin:0;color:#64748b;font-size:.95rem}.calibration-actions{display:flex;gap:.75rem;align-items:center}.calibration-workspace{flex:1;display:flex;overflow:hidden}.calibration-sidebar{width:240px;background:#fff;border-right:1px solid #e2e8f0;flex-shrink:0}.calibration-tabs{display:flex;flex-direction:column;padding:1rem 0}.calibration-tab{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.5rem;background:none;border:none;color:#64748b;font-size:.9rem;cursor:pointer;transition:all .2s ease;border-left:3px solid transparent}.calibration-tab:hover{background:#f8fafc;color:#475569}.calibration-tab.active{background:#f1f5f9;color:#0891b2;border-left-color:#0891b2;font-weight:500}.calibration-tab i{font-size:1rem;width:16px;text-align:center}.calibration-content{flex:1;overflow-y:auto;padding:2rem}.calibration-section{max-width:1200px}.calibration-section h3{margin:0 0 .5rem;font-size:1.4rem;font-weight:600;color:#1e293b}.section-description{margin:0 0 2rem;color:#64748b;font-size:.95rem;line-height:1.5}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e2e8f0}.section-header h3{margin:0;font-size:1.25rem;color:#1e293b}.materials-grid{display:grid;gap:1.5rem;margin-bottom:2rem}.material-category h4{margin:0 0 1rem;font-size:1.1rem;font-weight:600;color:#0891b2;padding-bottom:.5rem;border-bottom:1px solid #e2e8f0}.materials-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.material-item{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:1rem;cursor:pointer;transition:all .2s ease;position:relative}.material-item:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.material-item.selected{border-color:#0891b2;background:#f0fdfa;box-shadow:0 4px 12px #0891b226}.material-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.material-info h5{margin:0;font-size:1rem;font-weight:600;color:#1e293b}.emissivity{font-size:.9rem;font-weight:500;color:#0891b2;background:#e0f2fe;padding:.25rem .5rem;border-radius:6px}.temperature-range{font-size:.85rem;color:#64748b}.delete-btn{position:absolute;top:.5rem;right:.5rem;background:none;border:none;color:#dc2626;cursor:pointer;padding:.25rem;border-radius:4px;transition:all .2s ease;opacity:.6}.delete-btn:hover{background:#fecaca;opacity:1}.material-details{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem;margin-top:2rem}.material-details h4{margin:0 0 1rem;font-size:1.1rem;font-weight:600;color:#1e293b}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-item label{font-size:.85rem;font-weight:500;color:#64748b}.detail-item span{font-size:.9rem;color:#1e293b;font-weight:500}.material-description label{display:block;margin-bottom:.5rem;font-size:.9rem;font-weight:500;color:#64748b}.material-description p{margin:0;color:#374151;line-height:1.4}.environmental-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.env-group{display:flex;flex-direction:column;gap:.5rem}.env-group label{font-size:.9rem;font-weight:500;color:#374151}.env-input{padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;transition:border-color .2s ease,box-shadow .2s ease}.env-input:focus{outline:none;border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}.environmental-info{margin-top:2rem}.info-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.info-card h4{margin:0 0 1rem;font-size:1.1rem;font-weight:600;color:#1e293b}.info-card ul{margin:0;padding-left:1.5rem}.info-card li{margin-bottom:.5rem;color:#374151;line-height:1.4}.accuracy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-bottom:2rem}.accuracy-group{display:flex;flex-direction:column;gap:.5rem}.accuracy-group label{font-size:.9rem;font-weight:500;color:#374151}.accuracy-input{padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;transition:border-color .2s ease,box-shadow .2s ease}.accuracy-input:focus{outline:none;border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}.accuracy-note{font-size:.8rem;color:#64748b;font-style:italic}.accuracy-info{margin-top:2rem}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.camera-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.camera-group{display:flex;flex-direction:column;gap:.5rem}.camera-group label{font-size:.9rem;font-weight:500;color:#374151}.camera-input{padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;transition:border-color .2s ease,box-shadow .2s ease}.camera-input:focus{outline:none;border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}.camera-info{margin-top:2rem}.calculated-params{display:grid;gap:.5rem}.param-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #e2e8f0}.param-item:last-child{border-bottom:none}.param-item span:first-child{color:#64748b;font-weight:500}.param-item span:last-child{color:#1e293b;font-weight:600}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#fff;border-radius:16px;box-shadow:0 25px 50px #00000040;width:90%;max-width:600px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.5rem 0}.modal-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#1e293b}.close-btn{background:none;border:none;color:#64748b;cursor:pointer;padding:.5rem;border-radius:6px;transition:all .2s ease}.modal-body{padding:1.5rem}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem 1.5rem;border-top:1px solid #e2e8f0;margin-top:1rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#374151;font-size:.9rem}.form-input,.form-select,.form-textarea{width:100%;padding:.625rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;transition:border-color .2s ease,box-shadow .2s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}.range-inputs{display:flex;align-items:center;gap:1rem}.range-inputs input{flex:1}.range-inputs span{color:#64748b;font-weight:500;white-space:nowrap}.btn{padding:.625rem 1.25rem;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:.5rem;text-decoration:none}.btn-primary{background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#0e7490,#155e75);transform:translateY(-1px);box-shadow:0 4px 12px #0891b240}.btn-secondary{background:#f8fafc;color:#64748b;border:1px solid #e2e8f0}.btn-secondary:hover{background:#f1f5f9;color:#475569;border-color:#cbd5e1}@media (max-width: 768px){.calibration-workspace{flex-direction:column}.calibration-sidebar{width:100%}.calibration-tabs{flex-direction:row;overflow-x:auto;padding:.5rem}.calibration-tab{white-space:nowrap;border-left:none;border-bottom:3px solid transparent;padding:.75rem 1rem}.calibration-tab.active{border-left:none;border-bottom-color:#0891b2}.calibration-content{padding:1rem}.calibration-header{flex-direction:column;gap:1rem;align-items:flex-start}.calibration-actions{align-self:stretch;justify-content:flex-end}.materials-list,.environmental-grid,.accuracy-grid,.camera-grid,.info-grid{grid-template-columns:1fr}}.calibration-section{transition:opacity .3s ease}.material-item,.info-card{transition:all .2s ease}.env-group,.accuracy-group,.camera-group{transition:background-color .2s ease}.env-group:hover,.accuracy-group:hover,.camera-group:hover{background:#f1f5f980;border-radius:8px;padding:.5rem;margin:.5rem -.5rem}.camera-platforms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:1.5rem;margin-bottom:2rem}.camera-platform-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem;transition:all .2s ease;box-shadow:0 1px 3px #0000001a}.camera-platform-card:hover{border-color:#06b6d4;box-shadow:0 4px 12px #06b6d41a;transform:translateY(-2px)}.camera-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.camera-title h4{margin:0 0 .5rem;font-size:1.1rem;font-weight:600;color:#1e293b}.platform-type{display:inline-block;padding:.25rem .75rem;border-radius:6px;font-size:.75rem;font-weight:500;text-transform:capitalize}.platform-type.drone_integrated{background:#dbeafe;color:#1e40af}.platform-type.handheld_professional{background:#dcfce7;color:#166534}.platform-type.fixed_stationary{background:#fef3c7;color:#92400e}.camera-actions{display:flex;gap:.5rem}.btn-icon{background:none;border:none;padding:.5rem;border-radius:6px;cursor:pointer;color:#64748b;transition:all .2s ease}.btn-icon:hover{background:#f1f5f9;color:#374151}.btn-icon.delete:hover{background:#fef2f2;color:#dc2626}.camera-capabilities{margin-bottom:1rem}.capability-badges{display:flex;gap:.5rem;flex-wrap:wrap}.capability-badge{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:6px;font-size:.875rem;font-weight:500}.capability-badge.thermal{background:#fef2f2;color:#dc2626}.capability-badge.rgb{background:#f0f9ff;color:#0369a1}.camera-details{margin-bottom:1rem}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #f1f5f9}.detail-row:last-child{border-bottom:none}.detail-label{font-size:.875rem;color:#64748b;font-weight:500}.detail-value{font-size:.875rem;color:#1e293b;font-weight:500}.camera-footer{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:1rem;border-top:1px solid #f1f5f9}.primary-badge{display:flex;align-items:center;gap:.375rem;color:#f59e0b;font-size:.875rem;font-weight:500}.status-badge{padding:.25rem .75rem;border-radius:6px;font-size:.75rem;font-weight:500}.status-badge.active{background:#dcfce7;color:#166534}.status-badge.inactive{background:#f1f5f9;color:#64748b}.empty-state{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;padding:3rem;text-align:center;background:#fff;border:2px dashed #e2e8f0;border-radius:12px}.empty-icon{width:64px;height:64px;background:#f1f5f9;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1rem;font-size:1.5rem;color:#64748b}.empty-state h4{margin:0 0 .5rem;font-size:1.25rem;font-weight:600;color:#1e293b}.empty-state p{margin:0 0 1.5rem;color:#64748b;max-width:400px}.camera-stats{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.stat-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f8fafc;border-radius:8px}.stat-icon{width:48px;height:48px;background:linear-gradient(135deg,#06b6d4,#0891b2);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.25rem}.stat-info h4{margin:0;font-size:1.5rem;font-weight:700;color:#1e293b}.stat-info span{font-size:.875rem;color:#64748b;font-weight:500}.section-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.bulk-actions{display:flex;gap:.5rem;flex-wrap:wrap}.btn-outline{background:#fff;color:#4a5568;border:1px solid #cbd5e0;padding:.75rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;text-decoration:none}.btn-outline:hover{background:#f7fafc;border-color:#a0aec0;transform:translateY(-1px)}.btn-outline:active{transform:translateY(0)}.camera-capabilities{margin:1.5rem 0;padding:1rem;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.camera-capabilities h4{margin:0 0 .75rem;color:#2d3748;font-size:.95rem;font-weight:600}.capability-checkboxes{display:flex;gap:1.5rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#4a5568;cursor:pointer}.checkbox-label input[type=checkbox]{width:16px;height:16px;margin:0}.camera-specs{margin:1rem 0;padding:1rem;border-radius:8px;border:1px solid #e2e8f0}.thermal-specs{background:#fef5e7;border-color:#f6ad55}.rgb-specs{background:#e6fffa;border-color:#4fd1c7}.camera-specs h4{margin:0 0 .75rem;color:#2d3748;font-size:.95rem;font-weight:600}.form-grid .form-group.full-width{grid-column:1 / -1}.form-select{width:100%;padding:.75rem;border:1px solid #cbd5e0;border-radius:6px;background:#fff;font-size:.9rem;color:#2d3748;cursor:pointer}.form-select:focus{outline:none;border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a}@media (max-width: 768px){.camera-platforms-grid{grid-template-columns:1fr;gap:1rem}.camera-platform-card{padding:1rem}.stats-grid{grid-template-columns:1fr}.stat-card{padding:.75rem}.section-actions{flex-direction:column;align-items:stretch}.bulk-actions{justify-content:center;margin-bottom:.5rem}}.project-selection{display:flex;flex-direction:column;gap:16px}.project-select{padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;font-weight:500;background:#fff;cursor:pointer;transition:all .2s ease}.project-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.project-info{display:flex;gap:24px;padding:16px;background:#f8fafc;border-radius:8px;border-left:4px solid #3b82f6}.info-item{font-size:13px;color:#64748b}.info-item strong{color:#1e293b;margin-right:4px}.formats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-top:16px}.format-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:20px;cursor:pointer;transition:all .2s ease;position:relative;min-height:140px}.format-card:hover{border-color:#3b82f6;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.format-card.selected{border-color:#3b82f6;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);box-shadow:0 4px 12px #3b82f633}.format-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.format-icon{font-size:24px}.format-type{padding:4px 8px;border-radius:4px;font-size:10px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.5px}.format-card h4{margin:0 0 8px;font-size:16px;font-weight:600;color:#1e293b}.format-card p{margin:0;font-size:13px;color:#64748b;line-height:1.4}.format-checkbox{position:absolute;top:16px;right:16px;font-size:18px;color:#3b82f6}.export-options{display:flex;flex-direction:column;gap:16px;margin-top:16px}.option-checkbox{display:flex;align-items:center;gap:12px;padding:16px;background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s ease}.option-checkbox:hover{border-color:#3b82f6;background:#f8fafc}.option-checkbox input[type=checkbox]{display:none}.checkmark{width:20px;height:20px;border:2px solid #d1d5db;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.option-checkbox input[type=checkbox]:checked+.checkmark{background:#3b82f6;border-color:#3b82f6}.option-checkbox input[type=checkbox]:checked+.checkmark:after{content:"✓";color:#fff;font-size:12px;font-weight:700}.option-text{display:flex;flex-direction:column;gap:4px}.option-text strong{font-size:14px;font-weight:600;color:#1e293b}.option-text span{font-size:12px;color:#64748b}.export-action{margin-top:16px}.export-summary{margin-bottom:20px;padding:16px;background:#f1f5f9;border-radius:8px;border-left:4px solid #0ea5e9}.export-summary p{margin:0 0 8px;font-size:14px;color:#334155}.selected-formats{display:flex;gap:8px;flex-wrap:wrap}.format-badge{padding:4px 8px;border-radius:4px;font-size:10px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.5px}.export-btn{display:flex;align-items:center;gap:8px;padding:16px 32px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:160px;justify-content:center}.export-btn:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1e40af);transform:translateY(-2px);box-shadow:0 8px 20px #3b82f64d}.export-btn:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.export-progress{padding:20px;background:#f8fafc;border-radius:8px;border:2px solid #e2e8f0}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.progress-header span:first-child{font-weight:600;color:#1e293b}.progress-header span:last-child{font-weight:700;color:#3b82f6;font-size:18px}.progress-bar{width:100%;height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden;margin-bottom:12px}.progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#06b6d4);border-radius:4px;transition:width .3s ease}.progress-text{margin:0;font-size:13px;color:#64748b;text-align:center}@media (max-width: 768px){.formats-grid{grid-template-columns:1fr}.project-info{flex-direction:column;gap:12px}.selected-formats{justify-content:center}}.system-logs .logs-workspace{display:flex;flex-direction:column;gap:20px;padding:20px}.logs-filters{background:#fff;border-radius:12px;padding:20px;box-shadow:0 4px 20px #00000014;border:1px solid #e2e8f0}.logs-filters h3{margin:0 0 20px;color:#1e293b;font-size:18px;font-weight:600;display:flex;align-items:center;gap:8px}.filter-section{margin-bottom:15px}.filter-section:last-child{margin-bottom:0}.filter-section label{display:block;margin-bottom:8px;font-weight:600;color:#374151;font-size:14px}.form-input,.form-select{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:border-color .2s ease}.form-input:focus,.form-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.filter-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.filter-chip{padding:6px 12px;border:2px solid;border-radius:20px;background:transparent;cursor:pointer;font-size:12px;font-weight:500;transition:all .2s ease;display:flex;align-items:center;gap:4px}.filter-chip:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.filter-chip.active{color:#fff!important}.logs-list{background:#fff;border-radius:12px;padding:20px;box-shadow:0 4px 20px #00000014;border:1px solid #e2e8f0;flex:1;min-height:500px}.logs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #e5e7eb}.logs-header h3{margin:0;color:#1e293b;font-size:18px;font-weight:600;display:flex;align-items:center;gap:8px}.auto-refresh-indicator{display:flex;align-items:center;gap:6px;font-size:12px;color:#10b981;font-weight:500;background:#dcfce7;padding:4px 8px;border-radius:12px}.text-green{color:#10b981}.logs-container{display:flex;flex-direction:column;gap:12px;max-height:600px;overflow-y:auto}.log-entry{border:1px solid #e5e7eb;border-radius:8px;background:#fff;transition:all .2s ease;cursor:pointer}.log-entry:hover{border-color:#d1d5db;box-shadow:0 2px 8px #0000001a}.log-entry.error{border-left:4px solid #ef4444}.log-entry.critical{border-left:4px solid #dc2626}.log-entry.fatal{border-left:4px solid #7f1d1d}.log-entry.warn{border-left:4px solid #f59e0b}.log-entry.info{border-left:4px solid #3b82f6}.log-entry.debug{border-left:4px solid #6b7280}.log-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #f3f4f6}.log-meta{display:flex;align-items:center;gap:12px;flex:1}.log-timestamp{font-size:12px;color:#6b7280;font-family:Monaco,Menlo,Consolas,monospace;min-width:140px}.log-level{padding:2px 8px;border-radius:12px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;min-width:60px;text-align:center}.log-category{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:500;min-width:100px}.log-source{font-size:12px;color:#6b7280;font-family:Monaco,Menlo,Consolas,monospace;min-width:120px}.log-expand{background:none;border:none;color:#6b7280;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.log-expand:hover{background:#f3f4f6;color:#374151}.log-message{padding:0 16px 12px;color:#374151;font-size:14px;line-height:1.5}.log-details{border-top:1px solid #f3f4f6;padding:16px;background:#f9fafb}.detail-section{margin-bottom:16px}.detail-section:last-child{margin-bottom:0}.detail-section h4{margin:0 0 8px;color:#374151;font-size:14px;font-weight:600}.detail-content{background:#1f2937;color:#f9fafb;padding:12px;border-radius:6px;font-family:Monaco,Menlo,Consolas,monospace;font-size:12px;line-height:1.4;overflow-x:auto;white-space:pre-wrap;margin:0}.stack-trace{background:#7f1d1d;color:#fecaca}.context-info{display:flex;flex-direction:column;gap:6px}.context-item{font-size:12px;color:#6b7280;font-family:Monaco,Menlo,Consolas,monospace}.context-item strong{color:#374151;font-weight:600}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#6b7280}.loading-state i{font-size:32px;margin-bottom:12px;color:#3b82f6}.loading-state p{margin:0;font-size:14px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#6b7280;text-align:center}.empty-state i{font-size:48px;margin-bottom:16px;color:#9ca3af}.empty-state h4{margin:0 0 8px;color:#374151;font-size:18px;font-weight:600}.empty-state p{margin:0;font-size:14px;color:#6b7280}@media (max-width: 768px){.logs-workspace{padding:10px}.log-meta{flex-direction:column;align-items:flex-start;gap:6px}.log-timestamp,.log-category,.log-source{min-width:auto}.filter-chips{gap:6px}.filter-chip{font-size:11px;padding:4px 8px}}.logs-container::-webkit-scrollbar{width:6px}.logs-container::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.logs-container::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.logs-container::-webkit-scrollbar-thumb:hover{background:#94a3b8}.log-severity{padding:2px 8px;border-radius:12px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;min-width:60px;text-align:center}.log-component{display:flex;align-items:center;gap:4px;font-size:11px;color:#8b5cf6;background:#f3e8ff;padding:2px 6px;border-radius:8px;font-weight:500}.log-actions{display:flex;align-items:center;gap:8px}.expandable-indicator{display:flex;align-items:center;gap:4px;font-size:11px;color:#10b981;background:#dcfce7;padding:2px 6px;border-radius:8px;font-weight:500}.error-context{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px}.error-context h4{color:#dc2626;display:flex;align-items:center;gap:6px}.context-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:8px}.context-item.full-width{grid-column:1 / -1}.file-list{list-style:none;padding:0;margin:4px 0 0;display:flex;flex-wrap:wrap;gap:8px}.file-item{display:flex;align-items:center;gap:4px;background:#f3f4f6;padding:2px 6px;border-radius:4px;font-size:11px;color:#6b7280;font-family:Monaco,Menlo,Consolas,monospace}.suggestions{background:#fffbeb;border:1px solid #fed7aa;border-radius:8px;padding:12px}.suggestions h4{color:#d97706;display:flex;align-items:center;gap:6px}.suggestion-list{list-style:none;padding:0;margin:8px 0 0}.suggestion-item{display:flex;align-items:flex-start;gap:8px;padding:6px 0;border-bottom:1px solid #fed7aa;font-size:13px;line-height:1.4}.suggestion-item:last-child{border-bottom:none}.suggestion-item i{color:#d97706;margin-top:2px;flex-shrink:0}.enhanced-details{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;padding:12px}.enhanced-details h4{color:#0369a1;display:flex;align-items:center;gap:6px}.enhanced-content{margin-top:8px}.enhanced-item{margin-bottom:12px}.enhanced-item:last-child{margin-bottom:0}.enhanced-item strong{display:block;margin-bottom:4px;color:#0f172a;font-size:12px}.enhanced-code{background:#1e293b;color:#e2e8f0;padding:8px;border-radius:4px;font-family:Monaco,Menlo,Consolas,monospace;font-size:11px;line-height:1.3;overflow-x:auto;margin:0}.troubleshooting-steps{display:flex;flex-direction:column;gap:6px}.troubleshooting-step{display:flex;align-items:flex-start;gap:8px;padding:6px 0;font-size:12px}.step-number{background:#0369a1;color:#fff;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;flex-shrink:0}.step-text{line-height:1.4;color:#374151}.detail-section h4{display:flex;align-items:center;gap:6px}@media (max-width: 768px){.context-grid{grid-template-columns:1fr}.file-list{flex-direction:column;gap:4px}.log-actions{flex-direction:column;align-items:flex-end;gap:4px}.expandable-indicator{font-size:10px;padding:1px 4px}}.training-studio-workspace{display:flex;flex-direction:column;gap:30px;padding:30px;max-width:1200px;margin:0 auto}.upload-section{background:var(--bg-secondary);border-radius:12px;padding:30px;box-shadow:var(--shadow-sm)}.upload-section h3{margin:0 0 25px;color:var(--text-primary);display:flex;align-items:center;gap:12px;font-size:20px;font-weight:600}.upload-config{margin-bottom:25px}.config-row{display:flex;gap:20px;align-items:end;flex-wrap:wrap}.config-group{display:flex;flex-direction:column;gap:8px;min-width:150px}.config-group label{font-size:14px;font-weight:500;color:var(--text-primary)}.config-group select{padding:10px 12px;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:6px;color:var(--text-primary);font-size:14px}.config-group input[type=checkbox]{margin-right:8px}.file-upload-area{display:flex;flex-direction:column;gap:20px}.drop-zone{border:2px dashed var(--border-light);border-radius:12px;padding:60px 40px;text-align:center;cursor:pointer;transition:all .3s ease;background:var(--bg-primary)}.drop-zone:hover{border-color:var(--accent-primary);background:var(--bg-hover)}.drop-zone.drag-over{border-color:var(--accent-primary);background:var(--accent-light);transform:scale(1.02);box-shadow:0 8px 25px rgba(var(--accent-primary-rgb),.15)}.drop-zone i{font-size:48px;color:var(--accent-primary);margin-bottom:20px}.drop-zone h4{margin:0 0 10px;color:var(--text-primary);font-size:18px;font-weight:600}.drop-zone p{margin:5px 0;color:var(--text-secondary);font-size:14px}.file-types{font-size:12px;color:var(--text-muted);font-style:italic}.selected-files{background:var(--bg-secondary);border-radius:8px;padding:20px}.selected-files h4{margin:0 0 15px;color:var(--text-primary);font-size:16px;font-weight:600}.file-list{display:flex;flex-direction:column;gap:10px;max-height:200px;overflow-y:auto}.file-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--bg-primary);border-radius:6px;border:1px solid var(--border-light)}.file-item i{color:var(--accent-primary);font-size:16px}.file-name{flex:1;font-size:14px;color:var(--text-primary);font-weight:500}.file-size{font-size:12px;color:var(--text-secondary);font-family:monospace}.upload-progress{background:var(--bg-secondary);border-radius:8px;padding:20px}.progress-bar{width:100%;height:8px;background:var(--border-light);border-radius:4px;overflow:hidden;margin-bottom:10px}.progress-fill{height:100%;background:var(--accent-primary);border-radius:4px;transition:width .3s ease}.upload-actions{display:flex;justify-content:center;margin-top:20px}.training-images-section{background:var(--bg-secondary);border-radius:12px;padding:30px;box-shadow:var(--shadow-sm)}.training-images-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:15px;border-bottom:1px solid var(--border-light)}.training-images-section h3{margin:0;color:var(--text-primary);display:flex;align-items:center;gap:12px;font-size:20px;font-weight:600}.section-actions{display:flex;gap:10px}.images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.training-image-card{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:12px;overflow:hidden;transition:all .3s ease;box-shadow:var(--shadow-sm)}.training-image-card:hover{border-color:var(--border-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.image-thumbnail{position:relative;height:200px;overflow:hidden}.image-overlay{position:absolute;top:10px;right:10px;display:flex;flex-direction:column;gap:5px;align-items:flex-end}.image-type-badge,.inspection-type-badge{padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;color:#fff;letter-spacing:.5px}.image-type-badge{background:var(--accent-primary)}.inspection-type-badge{background:#000000b3;color:#fff}.image-info{padding:20px}.image-filename{margin:0 0 15px;font-size:16px;font-weight:600;color:var(--text-primary);word-break:break-word}.image-details{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.detail-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.detail-item i{width:16px;text-align:center;color:var(--accent-primary)}.upload-date{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted);margin-bottom:15px}.upload-date i{width:12px;text-align:center}.image-actions{display:flex;gap:8px;padding:15px 20px;border-top:1px solid var(--border-light);background:var(--bg-secondary)}.action-button{flex:1;padding:8px 12px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:6px}.annotate-button{background:var(--accent-primary);color:#fff}.annotate-button:hover{background:var(--accent-primary-dark)}.delete-button{background:var(--danger);color:#fff;max-width:40px}.delete-button:hover{background:var(--danger-dark)}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:var(--text-secondary)}.loading-state i{font-size:48px;margin-bottom:20px;color:var(--accent-primary)}.empty-state i{font-size:48px;margin-bottom:20px;opacity:.5}.empty-state h4{margin:10px 0;color:var(--text-primary);font-size:18px;font-weight:600}.empty-state p{margin-bottom:20px;max-width:400px;line-height:1.5;font-size:14px}@media (max-width: 768px){.training-studio-workspace{padding:20px;gap:20px}.config-row{flex-direction:column;align-items:stretch}.drop-zone{padding:40px 20px}.images-grid{grid-template-columns:1fr}.image-actions{flex-direction:column}}.dataset-creation{width:100%;height:100vh;overflow-y:auto}.dataset-workspace{display:flex;gap:20px;min-height:calc(100vh - 120px)}.dataset-form{flex:1;background:var(--bg-secondary);border-radius:8px;padding:20px;box-shadow:var(--shadow-sm);height:fit-content}.dataset-form h3{margin:0 0 20px;color:var(--text-primary);display:flex;align-items:center;gap:10px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group.full-width{grid-column:span 2}.form-group label{color:var(--text-primary);font-size:14px;font-weight:500}.form-input,.form-select{padding:12px;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:6px;color:var(--text-primary);font-size:14px}.form-input:focus,.form-select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-primary) 20}.checkbox-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:10px;background:var(--bg-primary);border-radius:6px;border:1px solid var(--border-light)}.checkbox-grid-improved{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;padding:15px;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border-light)}.checkbox-item-improved{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--border-light);border-radius:6px;background:var(--bg-secondary);cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.checkbox-item-improved:hover{border-color:var(--accent-primary);background:var(--bg-hover);transform:translateY(-1px)}.checkbox-item-improved input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent-primary);cursor:pointer}.checkbox-content{display:flex;align-items:center;gap:8px;flex:1}.checkbox-content i{font-size:16px;width:20px;text-align:center}.checkbox-content span{font-size:14px;font-weight:500;color:var(--text-primary)}.checkbox-item{display:flex;align-items:center;gap:8px;padding:8px;cursor:pointer;border-radius:4px;transition:background .2s ease}.checkbox-item:hover{background:var(--bg-hover)}.checkbox-item input[type=checkbox]{margin:0}.split-controls{display:flex;flex-direction:column;gap:15px;padding:15px;background:var(--bg-primary);border-radius:6px;border:1px solid var(--border-light)}.split-item{display:flex;align-items:center;gap:15px}.split-item label{min-width:80px;font-size:13px;color:var(--text-secondary)}.split-item input[type=range]{flex:1}.split-item span{min-width:40px;text-align:right;font-weight:600;color:var(--accent-primary)}.form-actions{margin-top:20px;display:flex;justify-content:flex-end}.dataset-list{width:350px;background:var(--bg-secondary);border-radius:8px;padding:20px;box-shadow:var(--shadow-sm);height:fit-content;max-height:600px;overflow-y:auto}.dataset-list h3{margin:0 0 20px;color:var(--text-primary);display:flex;align-items:center;gap:10px}.dataset-items{display:flex;flex-direction:column;gap:15px}.dataset-item{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:8px;padding:15px;transition:all .2s ease}.dataset-item:hover{border-color:var(--border-primary);box-shadow:var(--shadow-sm)}.dataset-info{flex:1}.dataset-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.dataset-header h4{margin:0;color:var(--text-primary);font-size:14px;font-weight:600}.dataset-badges{display:flex;gap:5px}.format-badge{padding:2px 6px;border-radius:3px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.format-badge.yolo{background:#e1f5fe;color:#0277bd}.format-badge.coco{background:#e8f5e8;color:#2e7d32}.classes-badge{padding:2px 6px;border-radius:3px;background:var(--accent-bg);color:var(--accent-primary);font-size:10px;font-weight:600}.dataset-meta{display:flex;flex-direction:column;gap:5px}.meta-item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary)}.meta-item i{width:12px;text-align:center}.dataset-actions{display:flex;align-items:center;gap:5px;margin-top:10px}.action-btn{width:30px;height:30px;background:transparent;border:1px solid var(--border-light);border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;transition:all .2s ease}.action-btn:hover{background:var(--bg-hover);border-color:var(--border-primary)}.download-btn:hover{background:var(--success);border-color:var(--success);color:#fff}.delete-btn:hover{background:var(--danger);border-color:var(--danger);color:#fff}.training-dashboard{width:100%;height:100vh;overflow-y:auto}.training-workspace{display:flex;gap:20px;min-height:calc(100vh - 120px)}.training-jobs-list{flex:1;background:var(--bg-secondary);border-radius:8px;padding:20px;box-shadow:var(--shadow-sm);height:fit-content}.training-jobs-list h3{margin:0 0 20px;color:var(--text-primary);display:flex;align-items:center;gap:10px}.job-items{display:flex;flex-direction:column;gap:15px;max-height:500px;overflow-y:auto}.job-item{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:8px;padding:15px;cursor:pointer;transition:all .2s ease}.job-item:hover{border-color:var(--border-primary);box-shadow:var(--shadow-sm)}.job-item.selected{border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary)}.job-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.job-status{display:flex;align-items:center;gap:8px}.status-text{font-size:12px;font-weight:600;text-transform:capitalize}.job-actions{display:flex;gap:5px}.job-info h4{margin:0 0 15px;color:var(--text-primary);font-size:16px;font-weight:600}.job-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:10px}.stat{display:flex;flex-direction:column;align-items:center;padding:8px;background:var(--bg-secondary);border-radius:4px}.stat-label{font-size:11px;color:var(--text-secondary);margin-bottom:2px}.stat-value{font-size:14px;font-weight:600;color:var(--accent-primary)}.job-date{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-secondary)}.job-details{width:350px;background:var(--bg-secondary);border-radius:8px;padding:20px;box-shadow:var(--shadow-sm);height:fit-content;max-height:600px;overflow-y:auto}.job-details h3{margin:0 0 20px;color:var(--text-primary);display:flex;align-items:center;gap:10px}.details-content{display:flex;flex-direction:column;gap:20px}.detail-section h4{margin:0 0 15px;color:var(--text-primary);font-size:14px;font-weight:600}.config-grid{display:grid;grid-template-columns:1fr;gap:8px}.config-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--bg-primary);border-radius:4px;border:1px solid var(--border-light)}.config-label{font-size:12px;color:var(--text-secondary);font-weight:500}.config-value{font-size:12px;color:var(--text-primary);font-weight:600;font-family:monospace}.results-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.result-card{padding:15px;background:var(--bg-primary);border-radius:6px;border:1px solid var(--border-light);text-align:center}.result-value{font-size:18px;font-weight:700;color:var(--accent-primary);margin-bottom:5px}.result-label{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.modal-content{background:var(--bg-secondary);border-radius:8px;box-shadow:var(--shadow-lg);max-width:600px;max-height:80vh;width:90%;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--border-light)}.modal-header h3{margin:0;color:var(--text-primary);display:flex;align-items:center;gap:10px}.close-btn{width:30px;height:30px;background:transparent;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-body{padding:20px;max-height:60vh;overflow-y:auto}.modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:20px;border-top:1px solid var(--border-light)}.training-form .form-grid{grid-template-columns:1fr 1fr;gap:15px}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:var(--text-secondary)}.loading-state i{font-size:32px;margin-bottom:15px;color:var(--accent-primary)}.empty-state i{font-size:32px;margin-bottom:15px;opacity:.5}.empty-state h4{margin:10px 0;color:var(--text-primary)}.empty-state p{margin-bottom:20px;max-width:300px;line-height:1.5}.btn{padding:10px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s ease}.btn-primary{background:var(--accent-primary);color:#fff}.btn-primary:hover{background:var(--accent-primary-dark)}.btn-primary:disabled{background:var(--border-light);color:var(--text-secondary);cursor:not-allowed}.btn-secondary{background:transparent;color:var(--text-primary);border:1px solid var(--border-light)}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--border-primary)}.model-registry{width:100%;height:100vh;overflow-y:auto}.model-workspace{display:flex;gap:20px;min-height:calc(100vh - 120px)}.models-section{flex:1}.model-filters{display:flex;gap:20px;margin-bottom:20px;padding:15px;background:var(--bg-secondary);border-radius:8px;box-shadow:var(--shadow-sm)}.filter-group{display:flex;flex-direction:column;gap:5px}.filter-group label{font-size:12px;color:var(--text-secondary);font-weight:500}.filter-select{padding:8px 12px;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:4px;color:var(--text-primary);font-size:13px}.models-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.model-card{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:8px;padding:20px;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm)}.model-card:hover{border-color:var(--border-primary);box-shadow:var(--shadow-md)}.model-card.selected{border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary)}.model-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.model-icon{width:40px;height:40px;background:var(--accent-bg);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--accent-primary);font-size:18px}.model-badges{display:flex;flex-direction:column;gap:5px;align-items:flex-end}.model-badge{padding:3px 8px;border-radius:3px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.thermal-badge{background:#f44;color:#fff}.rgb-badge{background:#08f;color:#fff}.inspection-badge{padding:3px 8px;border-radius:3px;background:var(--bg-primary);color:var(--text-secondary);font-size:10px;font-weight:500;display:flex;align-items:center;gap:4px}.model-info h3{margin:0 0 5px;color:var(--text-primary);font-size:16px;font-weight:600}.model-version{margin:0 0 15px;color:var(--text-secondary);font-size:12px;font-weight:500}.model-accuracy{margin-bottom:15px}.accuracy-bar{width:100%;height:6px;background:var(--border-light);border-radius:3px;overflow:hidden;margin-bottom:5px}.accuracy-fill{height:100%;background:linear-gradient(90deg,#ef4444,#f59e0b,#10b981);transition:width .3s ease}.accuracy-text{font-size:12px;color:var(--text-secondary);font-weight:500}.model-stats{display:flex;flex-direction:column;gap:8px;margin-bottom:15px}.stat-item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary)}.stat-item i{width:12px;text-align:center}.model-description{margin:0 0 15px;font-size:12px;color:var(--text-secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.model-actions{display:flex;justify-content:flex-end}.preload-btn{background:var(--success);border-color:var(--success);color:#fff}.preload-btn:hover{background:var(--success-dark)}.preload-btn:disabled{background:var(--border-light);border-color:var(--border-light);color:var(--text-secondary)}.model-details-panel{width:400px;background:var(--bg-secondary);border-radius:8px;padding:20px;box-shadow:var(--shadow-sm);height:fit-content;max-height:calc(100vh - 200px);overflow-y:auto}.model-details-panel h3{margin:0 0 20px;color:var(--text-primary);display:flex;align-items:center;gap:10px}.detail-grid{display:flex;flex-direction:column;gap:10px}.detail-item{display:flex;justify-content:space-between;align-items:flex-start;padding:10px;background:var(--bg-primary);border-radius:4px;border:1px solid var(--border-light)}.detail-label{font-size:12px;color:var(--text-secondary);font-weight:500;min-width:80px}.detail-value{font-size:12px;color:var(--text-primary);font-weight:600;text-align:right;word-break:break-word;max-width:250px}.classes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;max-height:200px;overflow-y:auto}.class-item{display:flex;align-items:center;gap:8px;padding:8px;background:var(--bg-primary);border-radius:4px;border:1px solid var(--border-light)}.class-index{width:20px;height:20px;background:var(--accent-bg);color:var(--accent-primary);border-radius:50%;font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.class-name{font-size:11px;color:var(--text-primary);font-weight:500}.model-description-full{margin:0;font-size:13px;color:var(--text-primary);line-height:1.5}.training-info{display:flex;flex-direction:column;gap:8px}.training-item{display:flex;justify-content:space-between;align-items:center;padding:8px;background:var(--bg-primary);border-radius:4px;border:1px solid var(--border-light)}.training-label{font-size:12px;color:var(--text-secondary);font-weight:500}.training-value{font-size:12px;color:var(--text-primary);font-weight:600}:root{--success: #10b981;--success-dark: #059669}@media (max-width: 1200px){.dataset-workspace,.training-workspace,.model-workspace{flex-direction:column}.dataset-list,.job-details,.model-details-panel{width:100%}.form-grid{grid-template-columns:1fr}.form-group.full-width{grid-column:span 1}.checkbox-grid{grid-template-columns:1fr}.results-grid{grid-template-columns:repeat(2,1fr)}.models-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.model-filters{flex-direction:column;gap:10px}}@media (max-width: 768px){.job-stats,.results-grid{grid-template-columns:1fr}.modal-content{width:95%;margin:10px}.training-form .form-grid,.models-grid,.classes-grid{grid-template-columns:1fr}.detail-item{flex-direction:column;align-items:flex-start;gap:5px}.detail-value{text-align:left;max-width:none}}.deployment-tabs{display:flex;gap:4px;margin-bottom:24px;border-bottom:1px solid #e2e8f0}.tab-button{display:flex;align-items:center;gap:8px;padding:12px 20px;background:transparent;border:none;border-bottom:3px solid transparent;color:#64748b;font-weight:500;font-size:14px;cursor:pointer;transition:all .2s ease}.tab-button:hover{color:#3b82f6;background:#f8fafc}.tab-button.active{color:#3b82f6;border-bottom-color:#3b82f6;background:#f8fafc}.deployment-section{margin-bottom:32px}.section-header{display:flex;justify-content:between;align-items:center;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid #e2e8f0}.section-header h3{margin:0;font-size:18px;font-weight:600;color:#1e293b;display:flex;align-items:center;gap:8px}.section-description{margin:8px 0 0;color:#64748b;font-size:14px}.section-filters{display:flex;gap:12px;align-items:center}.filter-select{padding:8px 12px;border:2px solid #e2e8f0;border-radius:6px;background:#fff;color:#374151;font-size:14px;cursor:pointer;transition:border-color .2s ease}.filter-select:focus{outline:none;border-color:#3b82f6}.models-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:20px;margin-top:20px}.model-card{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:20px;transition:all .2s ease;display:flex;flex-direction:column;gap:16px}.model-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f61a;transform:translateY(-2px)}.deployed-model{border-left:4px solid #10b981}.available-model{border-left:4px solid #f59e0b}.model-header{display:flex;justify-content:space-between;align-items:flex-start}.model-info h4{margin:0 0 4px;font-size:18px;font-weight:600;color:#1e293b}.model-version{background:#f1f5f9;color:#475569;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.model-status{flex-shrink:0}.status-badge{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.source-badge{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;text-transform:capitalize}.model-description{margin:8px 0}.model-description p{margin:0;color:#64748b;font-size:14px;line-height:1.5}.model-details{display:flex;flex-direction:column;gap:8px;padding:12px;background:#f8fafc;border-radius:8px}.detail-row{display:flex;justify-content:space-between;align-items:center}.detail-label{display:flex;align-items:center;gap:6px;font-size:13px;color:#64748b;font-weight:500}.detail-value{font-size:13px;color:#1e293b;font-weight:600}.performance-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:12px;background:#f0f9ff;border-radius:8px;border:1px solid #e0f2fe}.metric{display:flex;flex-direction:column;align-items:center;text-align:center}.metric-value{font-size:16px;color:#0369a1;font-weight:700;margin-top:2px}.model-requirements{margin-top:8px}.requirements-label{font-size:12px;color:#64748b;font-weight:500;margin-bottom:8px;display:block}.requirements-list{display:flex;flex-wrap:wrap;gap:6px}.requirement-tag{background:#f1f5f9;color:#475569;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:500}.model-actions{display:flex;gap:8px;margin-top:auto;padding-top:12px;border-top:1px solid #e2e8f0}.model-actions .btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;font-size:13px;font-weight:600;border-radius:6px;cursor:pointer;transition:all .2s ease;border:none}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background:#2563eb}.btn-secondary{background:#6b7280;color:#fff}.btn-secondary:hover:not(:disabled){background:#4b5563}.btn-success{background:#10b981;color:#fff}.btn-outline{background:transparent;color:#3b82f6;border:2px solid #3b82f6}.btn-outline:hover:not(:disabled){background:#3b82f6;color:#fff}.btn:disabled{opacity:.6;cursor:not-allowed}.downloads-list{display:flex;flex-direction:column;gap:16px}.download-item{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:12px}.download-info{display:flex;justify-content:space-between;align-items:center}.download-model h4{margin:0 0 4px;font-size:16px;font-weight:600;color:#1e293b}.download-version{background:#f1f5f9;color:#475569;padding:2px 6px;border-radius:4px;font-size:11px;font-weight:500}.download-status{text-align:right}.status-text{font-size:14px;color:#64748b;display:block}.progress-percent{font-size:18px;font-weight:700;color:#1e293b}.progress-bar{width:100%;height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:#3b82f6;border-radius:4px;transition:width .3s ease}.download-details{display:flex;justify-content:space-between;align-items:center;padding-top:8px;border-top:1px solid #e2e8f0}.file-size{font-size:13px;color:#64748b;font-weight:500}.download-status-badge{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;text-transform:capitalize}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center;background:#f8fafc;border-radius:12px;border:2px dashed #d1d5db}.empty-state h4{margin:16px 0 8px;font-size:18px;color:#374151}.empty-state p{margin:0;color:#6b7280;font-size:14px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.loading-state i{font-size:32px;color:#3b82f6;margin-bottom:16px}.loading-state p{margin:0;color:#64748b;font-size:14px}@media (max-width: 768px){.models-grid{grid-template-columns:1fr}.performance-metrics{grid-template-columns:repeat(4,1fr)}.model-actions{flex-direction:column}.deployment-tabs{overflow-x:auto}.section-header{flex-direction:column;align-items:flex-start;gap:12px}}.training-tabs{display:flex;gap:4px;margin-bottom:24px;border-bottom:1px solid #e2e8f0}.filters-section{background:#fff;padding:20px;border-radius:8px;margin-bottom:24px;border:1px solid #e2e8f0}.filters-group{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.filter-item{display:flex;flex-direction:column;gap:8px}.filter-item label{font-size:13px;font-weight:600;color:#374151}.filter-item select{padding:8px 12px;border:2px solid #e2e8f0;border-radius:6px;background:#fff;color:#374151;font-size:14px;cursor:pointer;transition:border-color .2s ease}.filter-item select:focus{outline:none;border-color:#3b82f6}.datasets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:24px}.dataset-card{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:24px;transition:all .2s ease;display:flex;flex-direction:column;gap:16px}.dataset-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f61a;transform:translateY(-2px)}.dataset-header{display:flex;justify-content:space-between;align-items:flex-start}.dataset-title h3{margin:0 0 8px;font-size:18px;font-weight:600;color:#1e293b}.dataset-meta{display:flex;gap:12px;align-items:center}.inspection-type,.model-type{display:flex;align-items:center;gap:6px;padding:4px 8px;background:#f1f5f9;color:#475569;border-radius:4px;font-size:12px;font-weight:500}.dataset-status{flex-shrink:0}.dataset-description p{margin:0;color:#64748b;font-size:14px;line-height:1.5}.dataset-metrics{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#f8fafc;border-radius:8px}.metric-item{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.metric-label{font-size:11px;color:#64748b;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.metric-value{font-size:16px;color:#1e293b;font-weight:700}.metric-value.has-errors{color:#ef4444}.dataset-details{display:flex;flex-direction:column;gap:8px;padding:12px;background:#f8fafc;border-radius:8px}.review-notes{display:flex;align-items:flex-start;gap:8px;padding:12px;background:#fef3c7;border-radius:8px;font-size:14px;color:#92400e}.review-notes i{color:#f59e0b;margin-top:2px}.dataset-actions{display:flex;gap:8px;margin-top:auto;padding-top:16px;border-top:1px solid #e2e8f0}.dataset-actions .btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;font-size:13px;font-weight:600;border-radius:6px;cursor:pointer;transition:all .2s ease;border:none}.btn-sm{padding:6px 12px;font-size:12px}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626}.validation-summary{background:#fff;padding:24px;border-radius:12px;margin-bottom:24px;border:1px solid #e2e8f0}.validation-summary h3{margin:0 0 20px;font-size:20px;font-weight:600;color:#1e293b}.issue-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.stat-card{text-align:center;padding:20px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.stat-number{font-size:32px;font-weight:700;margin-bottom:8px}.stat-label{font-size:12px;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.validation-issues{display:flex;flex-direction:column;gap:24px}.dataset-issues{background:#fff;border-radius:12px;padding:24px;border:1px solid #e2e8f0}.dataset-issues h4{margin:0 0 16px;font-size:18px;font-weight:600;color:#1e293b}.issues-list{display:flex;flex-direction:column;gap:12px}.issue-item{background:#f8fafc;padding:16px;border-radius:8px;border-left:4px solid #e2e8f0}.issue-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.severity-badge{padding:4px 8px;border-radius:4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#fff}.issue-type{font-size:12px;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.5px}.image-name{font-size:13px;color:#64748b;font-family:monospace}.issue-description{margin:0 0 12px;color:#4b5563;font-size:14px;line-height:1.5}.issue-actions{display:flex;gap:8px}.metrics-overview{background:#fff;padding:24px;border-radius:12px;border:1px solid #e2e8f0}.metrics-overview h3{margin:0 0 24px;font-size:20px;font-weight:600;color:#1e293b}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px}.metric-card{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;padding:20px;transition:all .2s ease}.metric-card:hover{border-color:#3b82f6;transform:translateY(-2px)}.metric-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.metric-header h4{margin:0;font-size:16px;font-weight:600;color:#1e293b}.overall-score{font-size:24px;font-weight:700;color:#3b82f6}.metric-bars{display:flex;flex-direction:column;gap:12px}.metric-bar{display:flex;flex-direction:column;gap:6px}.metric-bar-header{display:flex;justify-content:space-between;align-items:center;font-size:13px}.metric-bar-header span:first-child{color:#374151;font-weight:500}.metric-bar-header span:last-child{color:#1e293b;font-weight:600}.metric-footer{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:16px;border-top:1px solid #d1d5db;font-size:12px;color:#64748b}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;width:90%;max-width:800px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-content.large{max-width:1200px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e2e8f0}.modal-header h3{margin:0;font-size:20px;font-weight:600;color:#1e293b}.close-btn{background:none;border:none;font-size:18px;color:#64748b;cursor:pointer;padding:8px;border-radius:4px;transition:all .2s ease}.close-btn:hover{background:#f1f5f9;color:#374151}.modal-body{padding:24px;overflow-y:auto}.images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.image-card{background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;overflow:hidden;transition:all .2s ease}.image-card:hover{border-color:#3b82f6;transform:translateY(-2px)}.image-thumbnail{position:relative;height:150px;overflow:hidden}.image-thumbnail img{width:100%;height:100%;object-fit:cover}.image-overlay{position:absolute;top:8px;right:8px}.status-badge.pending{background:#f59e0b;color:#fff}.status-badge.approved{background:#10b981;color:#fff}.status-badge.needs_revision{background:#ef4444;color:#fff}.status-badge.rejected{background:#6b7280;color:#fff}.status-badge.active{background:#10b981!important;color:#fff!important}.status-badge.inactive{background:#ef4444!important;color:#fff!important}.image-info{padding:16px}.image-info h5{margin:0 0 8px;font-size:14px;font-weight:600;color:#1e293b}.image-stats{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#64748b;margin-bottom:8px}.image-actions{padding:12px 16px;border-top:1px solid #e2e8f0}@media (max-width: 768px){.datasets-grid,.metrics-grid{grid-template-columns:1fr}.filters-group{flex-direction:column;align-items:stretch}.dataset-actions{flex-direction:column}.issue-stats{grid-template-columns:repeat(2,1fr)}.images-grid{grid-template-columns:1fr}.modal-content{width:95%;margin:10px}}.performance-controls{display:flex;justify-content:space-between;align-items:center;padding:20px 30px;background:#fff;border-bottom:1px solid #e2e8f0;margin-bottom:30px}.performance-tabs{display:flex;gap:.25rem}.performance-tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:none;border:none;color:#64748b;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;border-radius:8px}.performance-tab:hover{background:#f1f5f9;color:#475569}.performance-tab.active{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;box-shadow:0 4px 12px #6366f140}.performance-tab i{font-size:1rem}.performance-filters{display:flex;gap:1rem;align-items:center}.filter-select{padding:.5rem 1rem;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;background:#fff;color:#374151;cursor:pointer;transition:border-color .2s ease}.filter-select:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.performance-content{padding:0 30px 30px}.performance-overview{display:flex;flex-direction:column;gap:2rem}.overview-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.stat-card{background:#fff;padding:1.5rem;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000001a;display:flex;align-items:center;gap:1rem;transition:all .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.stat-icon{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem}.stat-content h3{margin:0;font-size:1.8rem;font-weight:700;color:#1e293b}.stat-content p{margin:0;font-size:.9rem;color:#64748b;font-weight:500}.models-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem}.model-card{background:#fff;border:2px solid #e2e8f0;border-radius:16px;padding:1.5rem;cursor:pointer;transition:all .2s ease;position:relative;overflow:visible}.model-card:hover{border-color:#cbd5e1;box-shadow:0 8px 25px #0000001a;transform:translateY(-3px)}.model-card.selected{border-color:#6366f1;background:linear-gradient(135deg,#faf5ff,#f3e8ff);box-shadow:0 8px 25px #6366f126}.model-info{flex:1}.model-title{display:flex;align-items:center;gap:.75rem;margin-bottom:.25rem}.model-title i{color:#6366f1;font-size:1.1rem}.model-title h4{margin:0;font-size:1.1rem;font-weight:600;color:#1e293b}.model-version{font-size:.8rem;color:#64748b;background:#f1f5f9;padding:.25rem .5rem;border-radius:4px;font-weight:500}.model-status{padding:.375rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px}.model-type-badge{display:inline-block;padding:.5rem 1rem;border-radius:8px;font-size:.8rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px;margin-bottom:1rem;white-space:nowrap;overflow:visible;min-width:fit-content}.model-metrics{margin-bottom:1rem}.metric-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.metric-row:last-child{margin-bottom:0}.metric-row>span{font-size:.85rem;font-weight:500;color:#64748b}.metric-bar{display:flex;align-items:center;gap:.75rem;flex:1;margin-left:1rem}.metric-bar .metric-fill{height:6px;border-radius:3px;position:relative;min-width:2px;flex:1;max-width:100px}.metric-bar>span{font-size:.8rem;font-weight:600;color:#1e293b;min-width:40px;text-align:right}.model-stats{display:flex;flex-direction:column;gap:.5rem}.stat-item{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:#64748b}.stat-item i{color:#6366f1;width:12px;text-align:center}.training-indicator{margin-top:1rem;padding-top:1rem;border-top:1px solid #e2e8f0}.progress-bar{width:100%;height:4px;background:#e2e8f0;border-radius:2px;overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#f97316);border-radius:2px;transition:width .3s ease}.training-indicator>span{font-size:.8rem;color:#f59e0b;font-weight:500}.training-monitoring{display:flex;flex-direction:column;gap:2rem}.training-header{display:flex;justify-content:space-between;align-items:center}.training-header h3{margin:0;font-size:1.4rem;font-weight:600;color:#1e293b}.training-status{display:flex;align-items:center;gap:.5rem;color:#f59e0b;font-weight:500}.training-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.training-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.training-info h4{margin:0;font-size:1.1rem;font-weight:600;color:#1e293b}.training-stage{font-size:.8rem;background:#f59e0b;color:#fff;padding:.25rem .5rem;border-radius:4px;text-transform:uppercase;font-weight:600}.training-progress{font-size:1.2rem;font-weight:700;color:#f59e0b}.training-progress-bar{width:100%;height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden;margin-bottom:1rem}.training-progress-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#f97316);border-radius:4px;transition:width .3s ease}.training-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem}.training-metric{text-align:center;padding:.75rem;background:#f8fafc;border-radius:8px}.training-metric label{display:block;font-size:.8rem;color:#64748b;font-weight:500;margin-bottom:.25rem}.training-metric span{font-size:1rem;font-weight:600;color:#1e293b}.training-history h3{margin:0 0 1rem;font-size:1.2rem;font-weight:600;color:#1e293b}.history-list{display:flex;flex-direction:column;gap:1rem}.history-item{display:flex;align-items:center;gap:1rem;background:#fff;padding:1rem;border:1px solid #e2e8f0;border-radius:8px}.history-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1rem;flex-shrink:0}.history-content{flex:1}.history-content h5{margin:0 0 .25rem;font-size:.95rem;font-weight:600;color:#1e293b}.history-content p{margin:0;font-size:.8rem;color:#64748b}.history-metrics{text-align:center}.history-metric span{display:block;font-size:.75rem;color:#64748b;margin-bottom:.25rem}.history-metric strong{font-size:.9rem;color:#1e293b}.performance-details{display:flex;flex-direction:column;gap:2rem}.performance-header{display:flex;justify-content:space-between;align-items:center}.performance-header h3{margin:0;font-size:1.4rem;font-weight:600;color:#1e293b}.performance-badges{display:flex;gap:.5rem}.badge{padding:.375rem .75rem;border-radius:6px;font-size:.75rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px}.performance-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem}.metric-card{background:#fff;padding:1.5rem;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000001a;text-align:center;transition:all .2s ease}.metric-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.metric-card h4{margin:0 0 .5rem;font-size:.9rem;color:#64748b;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.metric-value{font-size:2rem;font-weight:700;color:#1e293b;margin-bottom:.25rem}.metric-description{font-size:.8rem;color:#64748b}.charts-grid{display:grid;grid-template-columns:2fr 1fr;gap:2rem}.chart-card{background:#fff;padding:1.5rem;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000001a}.chart-card h4{margin:0 0 1rem;font-size:1.1rem;font-weight:600;color:#1e293b}.class-performance-table{background:#fff;padding:1.5rem;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000001a}.class-performance-table h4{margin:0 0 1rem;font-size:1.1rem;font-weight:600;color:#1e293b}.class-performance-table table{width:100%;border-collapse:collapse}.class-performance-table th,.class-performance-table td{padding:.75rem;text-align:left;border-bottom:1px solid #e2e8f0}.class-performance-table th{background:#f8fafc;font-weight:600;color:#374151;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.class-performance-table td{font-size:.9rem;color:#1e293b}.no-selection{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;text-align:center;color:#64748b}.no-selection i{font-size:3rem;margin-bottom:1rem;opacity:.5}.no-selection h3{margin:0 0 .5rem;font-size:1.2rem;font-weight:600}.model-comparison h3{margin:0 0 1.5rem;font-size:1.4rem;font-weight:600;color:#1e293b}.comparison-table{background:#fff;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000001a;overflow:hidden}.comparison-table table{width:100%;border-collapse:collapse}.comparison-table th,.comparison-table td{padding:1rem;text-align:left;border-bottom:1px solid #e2e8f0}.comparison-table th{background:#f8fafc;font-weight:600;color:#374151;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;position:sticky;top:0;z-index:1}.comparison-table tbody tr{cursor:pointer;transition:background-color .2s ease}.comparison-table tbody tr:hover{background:#f8fafc}.comparison-table tbody tr.selected{background:linear-gradient(135deg,#faf5ff,#f3e8ff)}.model-cell{display:flex;align-items:center;gap:.75rem}.model-cell i{color:#6366f1;font-size:1.1rem}.model-name{font-weight:600;color:#1e293b}.model-version{font-size:.8rem;color:#64748b}.type-badge{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px}@media (max-width: 768px){.performance-controls{flex-direction:column;gap:1rem;align-items:stretch}.performance-tabs{justify-content:space-around}.performance-filters{justify-content:space-between}.models-grid,.charts-grid{grid-template-columns:1fr}.performance-metrics-grid{grid-template-columns:repeat(2,1fr)}.comparison-table{overflow-x:auto}.performance-content{padding:0 20px 20px}}.model-card,.stat-card,.metric-card{animation:fadeInUp .3s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.training-progress-fill{animation:progressGlow 2s ease-in-out infinite alternate}@keyframes progressGlow{0%{box-shadow:0 0 5px #f59e0b80}to{box-shadow:0 0 15px #f59e0bcc}}.no-training-jobs{text-align:center;padding:3rem 2rem;margin:2rem 0}.no-training-icon{margin-bottom:1rem}.no-training-icon i{font-size:3rem;opacity:.5}.no-training-jobs h4{margin:0 0 .5rem;color:#374151;font-size:1.25rem;font-weight:600}.no-training-jobs p{margin:0;color:#6b7280;font-size:.95rem;line-height:1.5}.quality-workspace{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;padding:2rem;max-width:1400px;margin:0 auto}.quality-overview{grid-column:1 / -1}.quality-score-display{display:flex;align-items:center;gap:2rem;margin:1.5rem 0}.quality-score{font-size:4rem;font-weight:800;padding:1rem 1.5rem;border-radius:12px;min-width:120px;text-align:center}.quality-score.high-quality{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.quality-score.medium-quality{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.quality-score.low-quality{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.quality-label{font-size:1.5rem;font-weight:600;color:var(--text-primary)}.quality-breakdown{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.metric-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--bg-secondary);border-radius:8px}.metric-label{font-weight:500;color:var(--text-secondary)}.metric-value{font-weight:700;color:var(--text-primary);font-size:1.1rem}.metric-value.warning{color:var(--warning-orange)}.annotation-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-top:1rem}.annotation-type-item{padding:1rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}.type-name{font-weight:600;color:var(--text-primary);margin-bottom:.5rem;font-size:.9rem}.type-count{font-size:1.5rem;font-weight:700;color:var(--primary-blue);margin-bottom:.5rem}.type-bar{width:100%;height:6px;background:var(--gray-200);border-radius:3px;overflow:hidden}.type-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary-blue),var(--primary-blue-light));transition:width .3s ease}.inspection-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1rem}.inspection-type-item{padding:1.5rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color);text-align:center}.inspection-header{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1rem;font-weight:600;color:var(--text-primary)}.inspection-header i{color:var(--primary-blue)}.inspection-count{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.inspection-percentage{font-size:.9rem;color:var(--text-secondary);font-weight:500}.recommendations-list{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.recommendation-item{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--bg-secondary);border-radius:8px;border-left:4px solid var(--primary-blue)}.recommendation-item i{color:var(--primary-blue);flex-shrink:0}.no-recommendations{text-align:center;padding:2rem;color:var(--text-secondary)}.no-recommendations i{font-size:3rem;color:var(--success-green);margin-bottom:1rem}.action-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-top:1rem}.controls-section{margin-bottom:2rem}.controls-content{display:flex;align-items:center;gap:2rem;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:.75rem}.filter-group label{font-weight:600;color:var(--text-primary);white-space:nowrap;font-size:.95rem}.form-select{padding:.75rem 1rem;border:2px solid var(--border-color);border-radius:8px;background:#fff;color:var(--text-primary);font-size:.95rem;font-weight:500;min-width:200px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000000d}.form-select:hover{border-color:var(--primary-blue);box-shadow:0 4px 8px #0000001a}.form-select:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px #1e60af1a}.form-select option{padding:.5rem;background:#fff;color:var(--text-primary);font-weight:500}@media (max-width: 768px){.quality-workspace{grid-template-columns:1fr;padding:1rem}.quality-score-display{flex-direction:column;text-align:center;gap:1rem}.quality-breakdown,.annotation-type-grid,.inspection-type-grid,.action-buttons{grid-template-columns:1fr}.controls-content{flex-direction:column;align-items:stretch;gap:1rem}.filter-group{flex-direction:column;align-items:stretch;gap:.5rem}}.review-data-quality{width:100%;min-height:100vh;background:var(--bg-primary)}.review-workspace{display:grid;grid-template-columns:300px 1fr;gap:1.5rem;padding:2rem;max-width:1400px;margin:0 auto;min-height:calc(100vh - 120px)}.review-sidebar{background:var(--bg-secondary);border-radius:8px;padding:1.5rem;height:fit-content;border:1px solid var(--border-color)}.review-content{background:var(--bg-secondary);border-radius:8px;padding:1.5rem;border:1px solid var(--border-color)}.review-filters{display:flex;flex-direction:column;gap:1rem}.filter-section h4{margin:0 0 .75rem;color:var(--text-primary);font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.filter-options{display:flex;flex-direction:column;gap:.5rem}.filter-option{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:4px;cursor:pointer;transition:background-color .2s ease}.filter-option:hover{background:var(--bg-primary)}.filter-option input[type=checkbox]{margin:0}.annotation-review-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;margin-top:1rem}.annotation-review-item{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:1rem;transition:all .2s ease}.annotation-review-item:hover{border-color:var(--primary-blue);box-shadow:0 4px 12px #0000001a}.annotation-preview{width:100%;height:200px;background:var(--gray-100);border-radius:6px;margin-bottom:1rem;position:relative;overflow:hidden}.annotation-preview img{width:100%;height:100%;object-fit:cover}.annotation-info{display:flex;flex-direction:column;gap:.5rem}.annotation-meta{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:var(--text-secondary)}.annotation-actions{display:flex;gap:.5rem;margin-top:.75rem}.annotation-actions .btn{flex:1;padding:.5rem;font-size:.8rem}@media (max-width: 768px){.review-workspace{grid-template-columns:1fr;padding:1rem}.annotation-review-grid{grid-template-columns:1fr}}.header-actions{display:flex;gap:12px;justify-content:flex-end;padding:20px 30px;background:#fff;border-bottom:1px solid #e2e8f0;margin-bottom:30px}.header-actions .btn-primary{display:inline-flex!important;align-items:center!important;gap:8px!important;padding:10px 20px!important;background:linear-gradient(135deg,#3b82f6,#1d4ed8)!important;color:#fff!important;border:none!important;border-radius:12px!important;font-weight:600!important;font-size:14px!important;cursor:pointer!important;transition:all .3s ease!important}.header-actions .btn-secondary{display:inline-flex!important;align-items:center!important;gap:8px!important;padding:10px 20px!important;background:#f1f5f9!important;color:#64748b!important;border:1px solid #e2e8f0!important;border-radius:12px!important;font-weight:600!important;font-size:14px!important;cursor:pointer!important;transition:all .3s ease!important}button.btn-secondary,.refresh-btn{background:#f1f5f9!important;color:#64748b!important;border:1px solid #e2e8f0!important}.config-btn{background:linear-gradient(135deg,#3b82f6,#1d4ed8)!important;color:#fff!important;border:none!important}.custom-refresh-button{background:#f1f5f9!important;background-color:#f1f5f9!important;color:#64748b!important;border:1px solid #e2e8f0!important;display:inline-flex!important;align-items:center!important;gap:8px!important;padding:10px 20px!important;border-radius:12px!important;font-weight:600!important;font-size:14px!important;cursor:pointer!important;text-decoration:none!important;transition:all .3s ease!important}.custom-refresh-button:hover{transform:translateY(-2px)!important;box-shadow:0 5px 15px #00000026!important}.model-alerts .header-actions .model-alerts-refresh-btn.btn.btn-secondary{background:#f1f5f9!important;background-color:#f1f5f9!important;color:#64748b!important;border:1px solid #e2e8f0!important;display:inline-flex!important;align-items:center!important;gap:8px!important;padding:10px 20px!important;border-radius:12px!important;font-weight:600!important;font-size:14px!important;cursor:pointer!important;text-decoration:none!important;transition:all .3s ease!important}.model-alerts .header-actions .model-alerts-refresh-btn.btn.btn-secondary:hover{transform:translateY(-2px)!important;box-shadow:0 5px 15px #00000026!important;background:#f1f5f9!important;background-color:#f1f5f9!important}.header-actions .btn-primary:hover,.header-actions .btn-secondary:hover{transform:translateY(-2px)!important;box-shadow:0 5px 15px #00000026!important}.alerts-workspace{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;padding:0 30px 30px}.model-health-overview{grid-column:1 / -1}.health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1rem;margin-top:1rem}.health-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem;transition:all .2s ease}.health-item:hover{border-color:#1e3c72;box-shadow:0 4px 12px #0000001a}.model-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.model-info h4{margin:0 0 .25rem;color:#1e293b;font-weight:600}.inspection-type{font-size:.75rem;color:#64748b;background:#f1f5f9;padding:.25rem .5rem;border-radius:4px;font-weight:500}.status-indicator{padding:.375rem .75rem;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.status-indicator.healthy{background:#dcfce7;color:#166534}.status-indicator.warning{background:#fef3c7;color:#92400e}.status-indicator.error{background:#fee2e2;color:#dc2626}.status-indicator.offline{background:var(--gray-100);color:var(--gray-600)}.metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.metric{display:flex;flex-direction:column;text-align:center;padding:.75rem;background:#f8fafc;border-radius:6px}.metric-label{font-size:.75rem;color:#64748b;margin-bottom:.25rem;font-weight:500}.metric-value{font-size:1.1rem;font-weight:700;color:#1e293b}.alert-filters{grid-column:1 / -1}.filter-controls{display:flex;gap:2rem;align-items:center;margin-top:1rem;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:.5rem}.filter-group label{font-weight:500;color:var(--text-secondary);white-space:nowrap}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:500;color:var(--text-secondary)}.checkbox-label input[type=checkbox]{margin:0}.form-select{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.9rem;min-width:120px}.alerts-list{grid-column:1 / -1}.alert-count{font-size:.9rem;color:var(--warning-orange);font-weight:600;margin-left:.5rem}.alerts-container{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.alert-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;transition:all .2s ease}.alert-item.unread{border-left:4px solid var(--primary-blue);background:linear-gradient(90deg,rgba(30,60,114,.05) 0%,var(--bg-secondary) 10%)}.alert-item.resolved{opacity:.7;background:var(--gray-50)}.alert-item:hover{border-color:var(--primary-blue);box-shadow:0 2px 8px #0000001a}.alert-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.alert-type{display:flex;align-items:center;gap:.75rem}.alert-type i{font-size:1.2rem;color:var(--text-secondary)}.severity-badge{padding:.25rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.severity-badge.critical{background:#fee2e2;color:#dc2626}.severity-badge.high{background:#fed7aa;color:#ea580c}.severity-badge.medium{background:#fef3c7;color:#d97706}.severity-badge.low{background:#dbeafe;color:#2563eb}.alert-timestamp{font-size:.8rem;color:var(--text-secondary)}.alert-content h4{margin:0 0 .5rem;color:var(--text-primary);font-weight:600}.alert-content p{margin:0 0 1rem;color:var(--text-secondary);line-height:1.5}.alert-model{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-secondary)}.alert-model i{color:var(--primary-blue)}.inspection-badge{background:var(--gray-100);color:var(--gray-600);padding:.125rem .375rem;border-radius:3px;font-size:.7rem;font-weight:500;text-transform:uppercase}.alert-actions{display:flex;gap:.5rem;margin-top:1rem;justify-content:flex-end}.btn-sm{padding:.375rem .75rem;font-size:.8rem;min-width:auto}.btn-danger{background:#ef4444;color:#fff;border:none}.btn-danger:hover{background:#dc2626;transform:translateY(-1px)}.quick-actions{grid-column:1 / -1}.action-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1rem}.action-buttons .btn{padding:1rem 1.5rem;font-weight:600;display:flex;align-items:center;gap:.5rem;justify-content:center}.loading-state{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem;color:var(--text-secondary)}.loading-state i{font-size:2rem;color:var(--primary-blue)}.empty-state{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem;color:var(--text-secondary);text-align:center}.empty-state i{font-size:3rem;color:var(--gray-300)}.empty-state h4{margin:0;color:var(--text-primary)}.empty-state p{margin:0;color:var(--text-secondary)}@media (max-width: 1024px){.alerts-workspace{grid-template-columns:1fr;padding:1.5rem}.health-grid{grid-template-columns:1fr}.metrics-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.alerts-workspace{padding:1rem}.filter-controls{flex-direction:column;align-items:stretch;gap:1rem}.filter-group{flex-direction:column;align-items:stretch;gap:.25rem}.alert-header{flex-direction:column;align-items:flex-start;gap:.5rem}.alert-actions{justify-content:stretch}.action-buttons,.metrics-grid{grid-template-columns:1fr}}@keyframes alertPulse{0%{border-color:var(--primary-blue)}50%{border-color:var(--primary-blue-light)}to{border-color:var(--primary-blue)}}.alert-item.new{animation:alertPulse 2s ease-in-out infinite}html,body{overflow-x:auto!important;min-width:1200px}.annotation-studio{min-height:100vh;min-width:1200px;width:100%;background:#f8f9fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;z-index:1000;overflow-x:auto;padding-top:15px}.annotation-studio-loading,.annotation-studio-error{display:flex;align-items:center;justify-content:center;width:100vw;height:100vh;background:#f8f9fa}.loading-content,.error-content{text-align:center;padding:40px;background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000026}.loading-spinner{width:40px;height:40px;border:4px solid #e9ecef;border-top:4px solid #007bff;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.right-panel{width:450px;background:#f8fafc;border-left:1px solid #e2e8f0;display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:1rem;gap:1rem;scrollbar-width:thin;scrollbar-color:#cbd5e0 #f7fafc}.right-panel::-webkit-scrollbar{width:8px}.right-panel::-webkit-scrollbar-track{background:#f7fafc}.right-panel::-webkit-scrollbar-thumb{background-color:#cbd5e0;border-radius:4px}.right-panel::-webkit-scrollbar-thumb:hover{background-color:#a0aec0}@media (max-width: 1200px){.right-panel{width:320px}}@media (max-width: 768px){.right-panel{width:100%;height:auto;max-height:50vh}}.studio-header{position:fixed;top:0;left:0;right:0;background:#fff;border-bottom:1px solid #e9ecef;padding:12px 0;flex-shrink:0;box-shadow:0 2px 4px #0000001a;z-index:1000;min-width:1200px;width:100%;height:70px;display:flex;align-items:center;overflow:visible}.header-left{flex:1;text-align:left!important;padding-left:24px;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.header-center{flex:1;text-align:center;height:100%;display:flex;align-items:center;justify-content:center}.header-left h1{margin:0!important;padding:4px 0!important;font-size:24px!important;font-weight:600!important;color:#2c3e50!important;line-height:1.2!important;display:block!important;text-align:left!important;visibility:visible!important;opacity:1!important}.inspection-context{display:flex;align-items:center;gap:4px;margin-top:1px;font-size:18px;color:#6c757d;line-height:1.1}.project-name{font-weight:500;color:#495057}.inspection-name{color:#007bff;font-weight:500}.inspection-type{background:#007bff;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600}.material-types{background:#28a745;color:#fff;padding:2px 6px;border-radius:3px;font-size:11px;font-weight:500;margin-left:4px}.header-right{flex:1;text-align:right;display:flex;align-items:center;justify-content:flex-end;height:100%;padding-right:24px;gap:8px}.progress-summary{font-size:25px;color:#6c757d;font-weight:500;line-height:1.1}.btn-close{background:#dc3545;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s}.btn-close:hover{background:#c82333;transform:translateY(-1px)}.save-status{margin-top:4px;font-size:16px;font-weight:600}.saving-indicator{color:#ffc107;display:flex;align-items:center;gap:4px}.saved-indicator{color:#28a745;display:flex;align-items:center;gap:4px}.unsaved-indicator{color:#dc3545;display:flex;align-items:center;gap:4px}.up-to-date-indicator{color:#6c757d;display:flex;align-items:center;gap:4px}.btn-toggle,.btn-save,.btn-navigation,.btn-validate{border:none;padding:10px 20px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s;white-space:nowrap}.btn-toggle{background:#6c757d;color:#fff}.btn-toggle.active{background:#28a745}.btn-toggle:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0003}.btn-save{background:#007bff;color:#fff}.btn-save:hover:not(:disabled){background:#0056b3;transform:translateY(-1px)}.btn-save:disabled{background:#6c757d;cursor:not-allowed;opacity:.6}.btn-validate{background:#28a745;color:#fff}.btn-validate:hover{background:#218838;transform:translateY(-1px)}.btn-navigation{background:#6f42c1;color:#fff}.btn-navigation:hover{background:#5a32a3;transform:translateY(-1px)}@media (max-width: 1400px){.btn-toggle,.btn-save,.btn-navigation,.btn-validate{padding:6px 12px;font-size:12px}.header-right{gap:6px}}@media (max-width: 1200px){.btn-toggle span:not(.fas),.btn-save span:not(.fas),.btn-navigation span:not(.fas),.btn-validate span:not(.fas){display:none}.btn-toggle,.btn-save,.btn-navigation,.btn-validate{padding:8px;min-width:36px;justify-content:center}}.studio-workspace{display:grid;grid-template-columns:375px 1fr 450px;height:calc(100vh - 15px);min-width:1200px;gap:1px;background:#dee2e6;overflow-x:auto}.image-thumbnails-panel{background:#fff;display:flex;flex-direction:column;height:calc(100vh - 15px);max-height:calc(100vh - 15px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#cbd5e0 #f7fafc}.image-thumbnails-panel::-webkit-scrollbar{width:8px}.image-thumbnails-panel::-webkit-scrollbar-track{background:#f7fafc}.image-thumbnails-panel::-webkit-scrollbar-thumb{background-color:#cbd5e0;border-radius:4px}.image-thumbnails-panel::-webkit-scrollbar-thumb:hover{background-color:#a0aec0}.panel-header{padding:16px 20px;border-bottom:1px solid #e9ecef;background:#f8f9fa}.panel-header h3{margin:0;font-size:16px;font-weight:600;color:#2c3e50;display:flex;align-items:center;gap:8px}.thumbnails-container{flex:1;overflow-y:auto;padding:12px;min-height:0;scrollbar-width:thin;scrollbar-color:#cbd5e0 #f7fafc}.thumbnails-container::-webkit-scrollbar{width:6px}.thumbnails-container::-webkit-scrollbar-track{background:#f7fafc}.thumbnails-container::-webkit-scrollbar-thumb{background-color:#cbd5e0;border-radius:3px}.thumbnails-container::-webkit-scrollbar-thumb:hover{background-color:#a0aec0}.empty-state{text-align:center;padding:40px 20px;color:#6c757d}.empty-state i{font-size:48px;margin-bottom:16px;display:block}.thumbnails-grid{display:flex;flex-direction:column;gap:8px}.thumbnail-item{border:2px solid transparent;border-radius:8px;overflow:hidden;cursor:pointer;background:#fff;transition:all .2s;box-shadow:0 2px 4px #0000001a}.thumbnail-item:hover{border-color:#007bff;transform:translateY(-2px);box-shadow:0 4px 12px #007bff4d}.thumbnail-item.selected{border-color:#007bff;background:#e3f2fd}.thumbnail-image{position:relative;height:164px;overflow:hidden}.thumbnail-image img{width:100%;height:100%;object-fit:cover}.image-overlay{position:absolute;top:6px;right:6px}.image-type-badge{background:#000c;color:#fff;padding:4px 8px;border-radius:4px;font-size:11px;display:flex;align-items:center;gap:4px}.thumbnail-info{padding:8px 12px}.image-filename{font-size:12px;font-weight:500;color:#2c3e50;margin-bottom:4px}.image-meta{display:flex;justify-content:space-between;align-items:center}.image-dimensions{font-size:11px;color:#6c757d}.panel-footer{padding:12px 20px;border-top:1px solid #e9ecef;background:#f8f9fa}.status-legend{display:flex;gap:12px;font-size:11px}.legend-item{display:flex;align-items:center;gap:4px;color:#6c757d}.canvas-panel{background:#fff;display:flex;flex-direction:column;min-height:0;overflow:auto}.canvas-controls{display:flex;padding:8px 20px;border-bottom:1px solid #e9ecef;background:#f8f9fa;height:60px;align-items:center}.controls-left,.controls-center,.controls-right{flex:1;display:flex;align-items:center;height:100%}.controls-left{justify-content:flex-start}.controls-center{justify-content:center;align-items:center;display:flex}.controls-right{justify-content:flex-end}.annotation-statistics{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.stats-summary{display:flex;gap:12px;align-items:center;justify-content:center;background:#fff;padding:4px 8px;border-radius:3px;box-shadow:0 1px 2px #0000001a;border:1px solid #e9ecef;margin:12px 0}.stat-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:35px}.stat-item i{font-size:11px;margin:0;line-height:1}.stat-number{font-size:12px;font-weight:600;line-height:1;margin:0;color:#000}.stat-label{font-size:7px;font-weight:500;text-transform:uppercase;letter-spacing:.3px;color:#000;line-height:1;margin:0}.stat-item.total i{color:#495057}.stat-item.ai i{color:#007bff}.stat-item.manual i,.stat-item.validated i{color:#28a745}.stat-item.pending i{color:#ffc107}.annotation-canvas-container{flex:1;position:relative;overflow:hidden;background:#f0f0f0;border:2px solid #ccc}.annotation-canvas{display:block}.canvas-overlay-message,.canvas-overlay-instructions{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000000e6;color:#fff;padding:20px;border-radius:8px;text-align:center;z-index:10}.canvas-overlay-instructions{top:20px;transform:translate(-50%);background:#007bffe6}.message-content{display:flex;flex-direction:column;align-items:center;gap:12px}.message-content i{font-size:24px}.annotation-list-panel{background:#fff;display:flex;flex-direction:column;overflow:hidden}.annotation-stats{display:flex;gap:16px;margin-top:8px;font-size:12px}.stat-item{display:flex;align-items:center;gap:4px;color:#6c757d}.annotations-container{flex:1;overflow-y:auto}.annotations-groups{padding:12px}.annotation-group{margin-bottom:20px}.group-header{margin-bottom:8px}.defect-type-title{font-size:14px;font-weight:600;color:#2c3e50;display:flex;align-items:center;justify-content:space-between}.count-badge{background:#007bff;color:#fff;padding:2px 8px;border-radius:12px;font-size:11px}.annotations-list{display:flex;flex-direction:column;gap:8px}.annotation-item{background:#fff;border:1px solid #e9ecef;border-radius:8px;padding:8px;transition:all .2s;cursor:pointer;overflow:hidden}.annotation-item:hover{box-shadow:0 2px 8px #0000001a;border-color:#007bff}.annotation-item.selected{background:#fff3cd;border:2px solid #ff6b35;box-shadow:0 4px 12px #ff6b354d;transform:translateY(-1px)}.annotation-item.selected:hover{border-color:#ff6b35;box-shadow:0 6px 16px #ff6b3566}.annotation-item.validated{border-left:4px solid #28a745}.annotation-item.validated.selected{border:2px solid #ff6b35;border-left:4px solid #28a745}.annotation-item.unvalidated{border-left:4px solid #ffc107}.annotation-item.unvalidated.selected{border:2px solid #ff6b35;border-left:4px solid #ffc107}.annotation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.annotation-code-badge{background:#007bff;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600}.annotation-header .defect-info{display:flex;align-items:center;gap:8px}.annotation-header .defect-code{background:#007bff;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600}.annotation-header .defect-type{background:#6c757d;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600;text-transform:uppercase}.annotation-meta{display:flex;gap:8px}.annotation-title{font-size:13px;font-weight:500;color:#2c3e50;margin-bottom:2px}.annotation-details{display:flex;flex-direction:column;gap:1px;font-size:12px}.detail-row{display:flex;justify-content:space-between;align-items:center;min-width:0}.detail-row>*{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-label{color:#6c757d;font-weight:500}.severity-badge{color:#fff;padding:2px 6px;border-radius:3px;font-size:11px;font-weight:500}.confidence-value{color:#495057;font-weight:500}.confidence-display{display:flex;align-items:center;gap:8px}.confidence-edit{display:flex;align-items:center;gap:4px}.confidence-input{width:60px;padding:2px 4px;border:1px solid #dee2e6;border-radius:3px;font-size:11px;text-align:center}.confidence-edit-btn,.confidence-save-btn,.confidence-cancel-btn{background:none;border:none;cursor:pointer;padding:2px 4px;border-radius:3px;font-size:10px;color:#6c757d;transition:all .2s}.confidence-edit-btn:hover{color:#007bff;background:#f0f8ff}.confidence-save-btn:hover{color:#28a745;background:#f0fff4}.confidence-cancel-btn:hover{color:#dc3545;background:#fff5f5}.timestamp{color:#6c757d;font-size:11px}.annotation-description{margin-top:4px;padding-top:4px;border-top:1px solid #e9ecef}.annotation-description p{margin:0;font-size:12px;color:#495057;line-height:1.4}.annotation-actions{display:flex;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid #e9ecef}.action-button{border:none;padding:6px 12px;border-radius:4px;font-size:12px;cursor:pointer;display:flex;align-items:center;gap:4px;transition:all .2s}.action-button.validate-button{background:#28a745!important;color:#fff!important;border-color:#28a745!important}.action-button.validate-button:hover{background:#218838!important;border-color:#218838!important}.action-button.delete-button{background:#dc3545!important;color:#fff!important;border-color:#dc3545!important}.action-button.delete-button:hover{background:#c82333!important;border-color:#c82333!important}.validation-status{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:12px;color:#28a745;font-weight:500}.validation-progress{margin-bottom:16px}.progress-label{font-size:12px;color:#6c757d;margin-bottom:6px}.progress-bar{height:6px;background:#e9ecef;border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:#28a745;transition:width .3s ease}.annotation-legend{display:flex;flex-direction:column;gap:8px}.legend-row{display:flex;gap:16px}.workflow-mode-toggle{display:flex;gap:6px;padding:0;background:transparent;border:none;border-radius:0;height:100%;align-items:center}.mode-toggle-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid #dee2e6;border-radius:4px;background:#fff;color:#495057;cursor:pointer;transition:all .2s ease;font-size:13px;font-weight:500;white-space:nowrap;height:32px}.mode-toggle-btn:hover{border-color:#007bff;background:#f0f8ff;color:#007bff;transform:translateY(-1px)}.mode-toggle-btn.active{background:#007bff;color:#fff;border-color:#007bff;box-shadow:0 2px 8px #007bff4d}.mode-toggle-btn i{font-size:16px}.manual-annotations-container,.ai-annotations-container{background:#fff;border:1px solid #e9ecef;border-radius:8px;margin-bottom:16px;overflow:visible;min-height:auto;height:auto}.container-header{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-bottom:1px solid #dee2e6;padding:12px 16px;display:flex;justify-content:space-between;align-items:center}.container-header h3{margin:0;font-size:16px;font-weight:600;color:#2c3e50;display:flex;align-items:center;gap:8px}.container-header h3 i{color:#007bff}.container-header .help-icon{color:#6c757d;cursor:pointer;font-size:16px;padding:4px;border-radius:50%;transition:all .2s ease}.container-header .help-icon:hover{color:#007bff;background:#007bff1a;transform:scale(1.1)}.manual-annotations-container .annotation-tools,.manual-annotations-container .defect-dropdown{margin:16px;border:none!important}.manual-annotations-container .defect-dropdown{margin-bottom:24px}.ai-annotations-container .ai-analysis-panel{margin:16px 16px 24px}.manual-annotations-container,.ai-annotations-container{min-height:500px;max-height:none}.manual-annotations-container .defect-dropdown{overflow:visible;z-index:100}.defect-dropdown .defect-select,.ai-annotations-container .ai-analysis-panel{overflow:visible}.annotation-tools,.tools-section{display:flex;flex-direction:column;gap:8px}.zoom-section{display:flex;align-items:center;gap:8px;padding:0;background:transparent;border:none;border-radius:0;height:100%}.zoom-section h4{display:none}.section-header h4{margin:0;font-size:14px;font-weight:600;color:#2c3e50;display:flex;align-items:center;gap:8px}.tools-grid{display:flex;gap:8px;flex-wrap:wrap}.tool-button{display:flex;align-items:center;justify-content:center;padding:8px;border:1px solid #dee2e6;border-radius:6px;background:#fff;cursor:pointer;transition:all .2s;width:40px;height:40px}.tool-button i{font-size:16px}.tool-button:hover{border-color:#007bff;background:#f0f8ff}.tool-button.active{background:#007bff;color:#fff;border-color:#007bff}.tool-hotkey{font-size:10px;opacity:.7}.zoom-controls{display:flex;align-items:center;gap:8px;justify-content:center}.zoom-button{background:#fff;border:1px solid #dee2e6;border-radius:4px;padding:6px 8px;cursor:pointer;transition:all .2s;height:32px;width:32px;display:flex;align-items:center;justify-content:center}.zoom-button:hover{border-color:#007bff;background:#f0f8ff}.zoom-display{padding:6px 8px;background:#f8f9fa;border-radius:4px;font-size:12px;font-weight:500;min-width:50px;text-align:center;height:32px;display:flex;align-items:center;justify-content:center}.zoom-actions{display:flex;gap:8px;margin-top:8px}.action-button{background:#fff;border:1px solid #dee2e6;border-radius:4px;padding:6px 12px;cursor:pointer;font-size:12px;display:flex;align-items:center;gap:4px;transition:all .2s}.action-button:hover{border-color:#007bff;background:#f0f8ff}.tool-info{background:#f8f9fa;padding:12px;border-radius:6px;border:1px solid #e9ecef}.current-tool-info{font-size:12px}.tool-indicator{display:flex;align-items:center;gap:6px;font-weight:500;color:#007bff;margin-bottom:4px}.tool-instructions{color:#6c757d;line-height:1.3}.shortcuts-info{margin-top:16px}.shortcuts-info details{font-size:12px}.shortcuts-info summary{cursor:pointer;display:flex;align-items:center;gap:6px;color:#6c757d;font-weight:500}.shortcuts-list{margin-top:8px;padding:8px;background:#f8f9fa;border-radius:4px}.shortcut-group h5{margin:0 0 6px;font-size:12px;color:#495057}.shortcut-item{display:flex;justify-content:space-between;margin-bottom:4px}.shortcut-key{background:#e9ecef;padding:2px 6px;border-radius:3px;font-family:monospace;font-size:11px}.defect-dropdown{display:flex;flex-direction:column;gap:8px;min-width:200px}.dropdown-header{display:flex;justify-content:space-between;align-items:center}.dropdown-header label{font-size:14px;font-weight:600;color:#2c3e50;display:flex;align-items:center;gap:8px}.inspection-badge{background:#007bff;color:#fff;padding:2px 6px;border-radius:3px;font-size:11px}.selected-defect-info{display:flex;align-items:center;gap:6px}.severity-indicator{width:16px;height:16px;border-radius:50%;color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center}.defect-code{background:#e9ecef;padding:2px 6px;border-radius:3px;font-size:11px;font-weight:500}.defect-select{width:100%;padding:8px 12px;border:1px solid #dee2e6;border-radius:4px;font-size:14px;background:#fff;cursor:pointer}.defect-select:focus{border-color:#007bff;outline:none;box-shadow:0 0 0 2px #007bff40}.defect-details{background:#f8f9fa;padding:12px;border-radius:6px;border:1px solid #e9ecef}.defect-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.info-item{display:flex;flex-direction:column;gap:2px}.info-item label{font-size:11px;color:#6c757d;font-weight:500}.info-item span{font-size:12px;color:#495057}.defect-description{padding-top:8px;border-top:1px solid #dee2e6}.defect-description label{font-size:11px;color:#6c757d;font-weight:500;margin-bottom:4px;display:block}.defect-description p{margin:0;font-size:12px;color:#495057;line-height:1.4}.no-defects-message{text-align:center;padding:20px;color:#6c757d;background:#f8f9fa;border-radius:6px;border:1px solid #e9ecef}.no-defects-message i{font-size:24px;margin-bottom:8px;display:block}.dropdown-footer{padding-top:8px;border-top:1px solid #e9ecef;font-size:11px;color:#6c757d}.defect-stats{margin-bottom:8px}.severity-legend{display:flex;align-items:center;gap:8px}.severity-indicators{display:flex;gap:2px}.severity-legend-item{width:16px;height:16px;border-radius:2px;color:#fff;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center}@media (max-width: 1400px){.studio-workspace{grid-template-columns:355px 1fr 450px}}@media (max-width: 1200px){.studio-workspace{grid-template-columns:325px 1fr 450px}.canvas-controls{flex-direction:column;gap:12px;align-items:stretch}}@media (max-width: 900px){.studio-workspace{grid-template-columns:1fr;grid-template-rows:300px 1fr 400px;min-height:calc(100vh - 80px)}.image-thumbnails-panel{height:300px;max-height:300px}.right-panel{height:400px;max-height:400px}}@media (max-width: 600px){.studio-workspace{grid-template-columns:1fr;grid-template-rows:250px 1fr 350px}.image-thumbnails-panel{height:250px;max-height:250px}.right-panel{height:350px;max-height:350px}.thumbnail-image{height:120px}}@media (max-width: 480px){.studio-workspace{grid-template-rows:200px 1fr 300px}.image-thumbnails-panel{height:200px;max-height:200px}.right-panel{height:300px;max-height:300px}.thumbnail-image{height:100px}}.validation-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:transparent;z-index:2000;pointer-events:none}.validation-modal{position:absolute;width:450px;max-height:80vh;background:#fff;border-radius:8px;box-shadow:0 8px 32px #0000004d;overflow:hidden;-webkit-user-select:none;user-select:none;pointer-events:all}.validation-modal-header{background:#28a745;color:#fff;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;cursor:grab}.validation-modal-header:active{cursor:grabbing}.validation-modal-header h3{margin:0;font-size:16px;font-weight:600;display:flex;align-items:center;gap:8px}.modal-close-btn{background:none;border:none;color:#fff;font-size:16px;cursor:pointer;padding:4px;border-radius:4px;transition:background .2s}.modal-close-btn:hover{background:#fff3}.validation-modal-content{max-height:calc(80vh - 60px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#cbd5e0 #f7fafc}.validation-modal-content::-webkit-scrollbar{width:6px}.validation-modal-content::-webkit-scrollbar-track{background:#f7fafc}.validation-modal-content::-webkit-scrollbar-thumb{background-color:#cbd5e0;border-radius:3px}.validation-stats{padding:16px;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-around}.stat-item{display:flex;flex-direction:column;align-items:center;gap:4px}.stat-label{font-size:12px;color:#6c757d;font-weight:500}.stat-value{font-size:18px;font-weight:600;color:#495057}.stat-value.validated{color:#28a745}.stat-value.pending{color:#dc3545}.validation-annotations-list{padding:8px}.validation-annotation-card{background:#fff;border:2px solid #e9ecef;border-radius:8px;margin-bottom:8px;cursor:pointer;transition:all .2s}.validation-annotation-card:hover{border-color:#007bff;box-shadow:0 2px 8px #007bff33}.validation-annotation-card.selected{border-color:#007bff;background:#e3f2fd}.validation-annotation-card.validated{border-left:4px solid #28a745}.validation-annotation-card.pending{border-left:4px solid #dc3545}.validation-card-header{padding:12px 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #f1f3f4}.defect-info{display:flex;align-items:center;gap:8px}.defect-code{background:#007bff;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600}.defect-type{background:#6c757d;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600;text-transform:uppercase}.status-badge{display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:500}.status-badge.validated{background:#d4edda;color:#155724}.status-badge.pending{background:#f8d7da;color:#721c24}.validation-card-content{padding:12px 16px}.annotation-details{margin-bottom:12px}.detail-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:13px}.detail-row .label{color:#6c757d;font-weight:500}.severity-badge{padding:2px 6px;border-radius:3px;font-size:11px;font-weight:600;text-transform:uppercase}.severity-badge.high{background:#f8d7da;color:#721c24}.severity-badge.medium{background:#fff3cd;color:#856404}.severity-badge.low{background:#d4edda;color:#155724}.confidence-value{font-weight:600;color:#495057}.source-badge{padding:2px 6px;border-radius:3px;font-size:11px;font-weight:500}.source-badge.ai_model{background:#cce5ff;color:#004085}.source-badge.manual{background:#e2e3e5;color:#383d41}.description{font-size:12px;color:#495057;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.validation-actions{display:flex;gap:8px;justify-content:flex-end}.btn-validate-annotation{background:#28a745;color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:12px;cursor:pointer;display:flex;align-items:center;gap:4px;transition:background .2s}.btn-validate-annotation:hover{background:#218838}.btn-delete-annotation{background:#dc3545;color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:12px;cursor:pointer;display:flex;align-items:center;gap:4px;transition:background .2s}.btn-delete-annotation:hover{background:#c82333}.validation-empty-state{text-align:center;padding:40px 20px;color:#6c757d}.validation-empty-state i{font-size:48px;margin-bottom:16px;opacity:.5}.validation-empty-state h4{margin:0 0 8px;color:#495057}.validation-empty-state p{margin:0;font-size:14px}.defect-type.editable{cursor:pointer;padding:2px 4px;border-radius:3px;transition:background-color .2s;display:inline-flex;align-items:center;gap:4px}.defect-type.editable:hover{background-color:#f8f9fa}.defect-type .edit-icon{opacity:0;font-size:10px;transition:opacity .2s}.defect-type.editable:hover .edit-icon{opacity:.6}.edit-category{display:flex;align-items:center;gap:8px;flex:1}.category-input{flex:1;padding:4px 8px;border:1px solid #007bff;border-radius:4px;font-size:12px;font-weight:500;outline:none;background:#fff}.category-input:focus{border-color:#0056b3;box-shadow:0 0 0 2px #007bff40}.edit-actions{display:flex;gap:4px}.edit-save-btn,.edit-cancel-btn{width:20px;height:20px;border:none;border-radius:3px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:10px;transition:background-color .2s}.edit-save-btn{background:#28a745;color:#fff}.edit-save-btn:hover{background:#218838}.edit-cancel-btn{background:#6c757d;color:#fff}.edit-cancel-btn:hover{background:#545b62}.defect-class-badge{background:#007bff;color:#fff;padding:4px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.ai-analysis-panel{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:1rem;box-shadow:0 2px 4px #0000001a}.ai-analysis-panel .panel-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1rem;border-radius:8px 8px 0 0;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.ai-analysis-panel .panel-header h3{margin:0;font-size:1.1rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.ai-analysis-panel .panel-header .help-icon{font-size:1.5rem;cursor:pointer}.ai-analysis-panel .panel-content{padding:.5rem}.ai-analysis-panel .control-group{margin-bottom:.75rem}.ai-analysis-panel .control-group label{display:block;font-weight:600;color:#374151;margin-bottom:.5rem;font-size:.9rem}.ai-analysis-panel .help-text{display:block;font-size:.8rem;color:#6b7280;font-weight:400;margin-top:.25rem}.ai-analysis-panel .model-select{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;background:#fff;font-size:.9rem;color:#374151}.ai-analysis-panel .model-select:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.ai-analysis-panel .model-loading,.ai-analysis-panel .no-models{padding:1rem;text-align:center;border:1px dashed #d1d5db;border-radius:6px;color:#6b7280;font-size:.9rem}.ai-analysis-panel .no-models{background:#fef3f2;border-color:#fecaca;color:#dc2626}.ai-analysis-panel .no-models i{margin-right:.5rem}.ai-analysis-panel .slider-container{position:relative}.ai-analysis-panel .confidence-slider{width:100%;height:6px;border-radius:3px;background:#e5e7eb;outline:none;-webkit-appearance:none;margin:.5rem 0}.ai-analysis-panel .confidence-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#667eea;cursor:pointer;box-shadow:0 2px 4px #0003;transition:all .2s ease}.ai-analysis-panel .confidence-slider::-webkit-slider-thumb:hover{background:#5a67d8;transform:scale(1.1)}.ai-analysis-panel .confidence-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#667eea;cursor:pointer;border:none;box-shadow:0 2px 4px #0003}.ai-analysis-panel .slider-labels{display:flex;justify-content:space-between;font-size:.8rem;color:#6b7280;margin-top:-.25rem}.ai-analysis-panel .model-info{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:1rem;margin-bottom:1.5rem}.ai-analysis-panel .model-info .info-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.ai-analysis-panel .model-info .info-row:last-child{margin-bottom:0}.ai-analysis-panel .model-info .label{font-weight:500;color:#374151;font-size:.9rem}.ai-analysis-panel .model-info .value{font-weight:600;color:#1f2937;font-size:.9rem}.ai-analysis-panel .analysis-control-section{text-align:center;margin-bottom:0;padding:.5rem;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:6px;border:1px solid #e2e8f0}.ai-analysis-panel .configuration-section,.ai-analysis-panel .model-info-section{margin-bottom:.5rem;padding:.5rem;background:#f9fafb;border-radius:6px;border:1px solid #e5e7eb}.ai-analysis-panel .section-header{margin-bottom:.25rem;padding-bottom:.15rem;border-bottom:1px solid #e5e7eb}.ai-analysis-panel .section-header h4{margin:0;font-size:.8rem;font-weight:600;color:#374151;display:flex;align-items:center;gap:.25rem}.ai-analysis-panel .section-header i{color:#667eea}.ai-analysis-panel .analysis-action{display:flex;flex-direction:column;align-items:center;gap:.75rem}.ai-analysis-panel .btn-ai{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem;min-width:150px;justify-content:center;box-shadow:0 4px 12px #667eea33}.ai-analysis-panel .btn-ai:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.ai-analysis-panel .btn-ai:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:0 2px 4px #0000001a}.ai-analysis-panel .btn-ai.analyzing{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 4px 12px #f59e0b4d}.ai-analysis-panel .status-text{margin:0;font-size:.85rem;color:#6b7280;font-style:italic}.ai-analysis-panel .model-info-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:1fr;gap:.25rem}.ai-analysis-panel .info-item{display:flex;flex-direction:column;align-items:center;justify-content:space-between;text-align:center;padding:.25rem;background:#fff;border-radius:4px;border:1px solid #e5e7eb;transition:all .2s ease;height:100%}.ai-analysis-panel .info-item:hover{border-color:#667eea;box-shadow:0 1px 4px #667eea1a}.ai-analysis-panel .info-item .label{font-size:.65rem;font-weight:500;color:#6b7280;margin-bottom:0;text-transform:uppercase;letter-spacing:.3px;line-height:1}.ai-analysis-panel .info-item .value{font-size:.75rem;font-weight:600;color:#1f2937;line-height:1}.ai-analysis-panel .info-item .value.accuracy{color:#059669;font-size:.8rem}.ai-analysis-panel .analysis-info{border-top:1px solid #e5e7eb;padding-top:1rem;margin-top:1rem}.ai-analysis-panel .info-note{display:flex;gap:.75rem;background:#eff6ff;border:1px solid #dbeafe;border-radius:6px;padding:1rem}.ai-analysis-panel .info-note i{color:#3b82f6;margin-top:.25rem;flex-shrink:0}.ai-analysis-panel .info-note strong{color:#1e40af;font-size:.9rem;display:block;margin-bottom:.5rem}.ai-analysis-panel .info-note p{margin:.25rem 0;font-size:.85rem;color:#1e40af;line-height:1.4}.help-popup-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.help-popup{background:#fff;border-radius:12px;box-shadow:0 10px 25px #0003;max-width:500px;width:90vw;max-height:80vh;overflow-y:auto}.help-popup-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px 12px 0 0}.help-popup-header h4{margin:0;font-size:1.2rem;font-weight:600}.close-button{background:none;border:none;color:#fff;font-size:1.2rem;cursor:pointer;padding:.5rem;border-radius:50%;transition:background-color .2s}.close-button:hover{background:#fff3}.help-popup-content{padding:1.5rem}.help-step{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.help-step:last-child{margin-bottom:0}.step-number{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;width:2rem;height:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;flex-shrink:0}.help-step p{margin:0;color:#374151;line-height:1.5;font-size:.95rem}@media (max-width: 768px){.ai-analysis-panel .panel-content{padding:1rem}.ai-analysis-panel .btn-ai{padding:.75rem 1.5rem;font-size:.9rem}.ai-analysis-panel .model-info .info-row{flex-direction:column;align-items:flex-start;gap:.25rem}.help-popup{margin:1rem;width:calc(100vw - 2rem)}.help-popup-header,.help-popup-content{padding:1rem}}.user-guide-container{min-height:100vh;background:#f8fafc;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.user-guide-content{max-width:1200px;margin:0 auto;background:#fff;border-radius:12px;box-shadow:0 4px 16px #0000001a;padding:40px;line-height:1.6}.user-guide-header{border-bottom:3px solid #3b82f6;padding-bottom:30px;margin-bottom:40px;text-align:center}.user-guide-header h1{color:#1e40af;font-size:2.5rem;font-weight:700;margin:0 0 15px}.user-guide-header p{color:#6b7280;font-size:1.2rem;max-width:800px;margin:0 auto}.user-guide-toc{background:#f1f5f9;border-radius:8px;padding:25px;margin-bottom:40px;border-left:4px solid #3b82f6}.user-guide-toc h2{color:#1e40af;font-size:1.4rem;margin:0 0 20px;font-weight:600}.user-guide-toc ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px}.user-guide-toc li{margin:0}.user-guide-toc a{color:#3b82f6;text-decoration:none;font-weight:500;padding:8px 12px;border-radius:6px;display:block;transition:all .2s ease}.user-guide-toc a:hover{background:#dbeafe;color:#1e40af;transform:translate(5px)}.user-guide-section{margin-bottom:50px;padding-bottom:30px;border-bottom:1px solid #e5e7eb}.user-guide-section:last-child{border-bottom:none}.user-guide-section h2{color:#1e40af;font-size:2rem;font-weight:700;margin:0 0 25px;padding-top:20px;border-top:2px solid #e5e7eb}.user-guide-section:first-child h2{border-top:none;padding-top:0}.user-guide-section h3{color:#374151;font-size:1.4rem;font-weight:600;margin:25px 0 15px}.user-guide-section h4{color:#4b5563;font-size:1.2rem;font-weight:600;margin:20px 0 12px}.user-guide-section p{color:#4b5563;margin:0 0 15px;text-align:left}.user-guide-section ul,.user-guide-section ol{color:#4b5563;margin:0 0 20px;padding-left:25px}.user-guide-section li{margin:8px 0;text-align:left}.user-guide-section li strong{color:#374151;font-weight:600}.user-guide-section ul ul,.user-guide-section ol ul{margin:8px 0;padding-left:20px}.user-guide-section ul ul li,.user-guide-section ol ul li{margin:4px 0}code{background:#f1f5f9;color:#1e40af;padding:2px 6px;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9em}strong{color:#374151;font-weight:600}.user-guide-footer{margin-top:50px;padding-top:30px;border-top:2px solid #e5e7eb;text-align:center;color:#6b7280}.user-guide-footer p{margin:5px 0}@media (max-width: 768px){.user-guide-container{padding:10px}.user-guide-content{padding:25px}.user-guide-header h1{font-size:2rem}.user-guide-header p{font-size:1.1rem}.user-guide-section h2{font-size:1.6rem}.user-guide-section h3{font-size:1.3rem}.user-guide-toc ul{grid-template-columns:1fr}}@media (max-width: 480px){.user-guide-content{padding:20px}.user-guide-header h1{font-size:1.8rem}.user-guide-section h2{font-size:1.5rem}.user-guide-section h3{font-size:1.2rem}}html{scroll-behavior:smooth}@media print{.user-guide-container{background:#fff;padding:0}.user-guide-content{box-shadow:none;padding:20px}.user-guide-toc a{color:#000}}
