.software-version-hub{background:#0f172a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;margin:0;min-height:100vh}.hub-header,.software-version-hub{display:flex;flex-direction:column;padding:0}.hub-header{background:linear-gradient(135deg,#0f172a,#1e293b 50%,#0f172a);box-shadow:0 4px 24px #00000040,inset 0 -1px 0 #ffffff0d;color:#fff;position:relative}.hub-header:before{background:linear-gradient(90deg,#0000,#63b3ed66,#8b5cf666,#0000);content:"";height:1px;left:0;position:absolute;right:0;top:0}.header-top-row{padding:18px 32px 10px;position:relative}.header-bottom-row,.header-top-row{align-items:center;display:flex;justify-content:space-between}.header-bottom-row{border-top:1px solid #ffffff0a;padding:10px 32px 16px}.header-left{gap:24px}.hub-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff,#f59e0b 50%,#ef4444);-webkit-background-clip:text;background-clip:text;font-size:24px;font-weight:800;letter-spacing:2px;margin:0;position:relative;text-transform:uppercase}.header-datetime{font-feature-settings:"tnum";color:#ffffff8c;font-size:12px;font-variant-numeric:tabular-nums;font-weight:500;letter-spacing:1px;text-transform:uppercase}.header-right{gap:14px}.header-right,.refresh-btn{align-items:center;display:flex}.refresh-btn{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff0f;border:1px solid #ffffff1a;border-radius:10px;color:#ffffffb3;cursor:pointer;justify-content:center;padding:8px;transition:all .3s cubic-bezier(.4,0,.2,1)}.refresh-btn:hover{background:#ffffff1f;border-color:#fff3;box-shadow:0 0 12px #63b3ed26;color:#fff;transform:rotate(180deg)}.refresh-btn:disabled{cursor:not-allowed;opacity:.4}.user-menu-container{position:relative}.user-avatar{font-size:13px;font-weight:700;height:38px;transition:all .3s cubic-bezier(.4,0,.2,1);width:38px}.user-avatar:hover{transform:scale(1.08)}.user-dropdown{animation:dropdownSlide .25s cubic-bezier(.4,0,.2,1);background:#1e293b;border-radius:14px;box-shadow:0 20px 60px #0006,0 0 0 1px #ffffff0f;min-width:240px;overflow:hidden;position:absolute;right:0;top:calc(100% + 10px);z-index:1000}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.dropdown-header{align-items:center;background:linear-gradient(135deg,#f59e0b14,#ef44440f);border-bottom:1px solid #ffffff0f;display:flex;gap:12px;padding:18px 18px 16px}.dropdown-avatar{align-items:center;background:linear-gradient(135deg,#f59e0b,#ef4444);border-radius:10px;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:40px;justify-content:center;width:40px}.dropdown-user-info{display:flex;flex-direction:column;gap:2px}.dropdown-username{color:#f1f5f9;display:block;font-size:14px;font-weight:600;letter-spacing:-.2px}.dropdown-role{color:#64748b;display:block;font-size:11px;font-weight:600;letter-spacing:.8px;text-transform:uppercase}.dropdown-menu-section{padding:6px 0}.dropdown-footer{border-top:1px solid #ffffff0f;padding:4px 0 6px}.dropdown-item{align-items:center;background:none;border:none;color:#94a3b8;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:10px;padding:11px 18px;position:relative;text-align:left;transition:all .2s ease;width:100%}.dropdown-item svg{flex-shrink:0;opacity:.6;transition:opacity .2s ease}.dropdown-item:hover{background:#ffffff0d;color:#f1f5f9}.dropdown-item:hover svg{opacity:1}.dropdown-item.logout{color:#f87171;font-weight:600}.dropdown-item.logout:hover{background:#ef444414;color:#ef4444}.controls-left{align-items:center;display:flex;gap:10px}.platform-toggle{background:#ffffff0d;border:1px solid #ffffff14;border-radius:10px;display:flex;gap:2px;overflow:hidden;padding:3px}.toggle-btn{background:#0000;border:none;border-radius:7px;color:#ffffff80;cursor:pointer;font-size:11px;font-weight:700;letter-spacing:1px;padding:6px 18px;transition:all .3s cubic-bezier(.4,0,.2,1)}.toggle-btn.active{background:linear-gradient(135deg,#3b82f6,#6366f1);box-shadow:0 2px 8px #3b82f659;color:#fff}.toggle-btn:hover:not(.active){background:#ffffff14;color:#fffc}.environment-toggle{background:#ffffff0d;border:1px solid #ffffff14;border-radius:10px;display:flex;gap:2px;overflow:hidden;padding:3px}.controls-right{align-items:center;display:flex;gap:10px}.upload-build-btn{background:linear-gradient(135deg,#06b6d4,#0891b2);border:none;border-radius:10px;box-shadow:0 2px 8px #06b6d440;color:#fff;cursor:pointer;font-size:11px;font-weight:700;letter-spacing:.8px;padding:8px 22px;transition:all .3s cubic-bezier(.4,0,.2,1)}.upload-build-btn:hover{background:linear-gradient(135deg,#22d3ee,#06b6d4);box-shadow:0 6px 20px #06b6d459;transform:translateY(-1px)}.device-tabs{background:#0f172a;display:flex;flex-wrap:wrap;gap:8px;padding:16px 32px}.device-tab{background:#ffffff08;border:1px solid #ffffff0f;border-radius:8px;color:#ffffff80;cursor:pointer;font-size:13px;font-weight:500;padding:10px 20px;transition:all .2s ease}.device-tab:hover{background:#ffffff0f;border-color:#ffffff1a;color:#fffc}.device-tab.active{background:linear-gradient(135deg,#06b6d4,#0891b2);border-color:#0000;color:#fff}.hub-content{flex:1 1;padding:16px 0;position:relative}.loading-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172ad9;bottom:0;color:#94a3b8;display:flex;font-size:18px;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.error-message{background:#ef44441a;border:1px solid #ef444433;border-radius:8px;margin-bottom:24px;padding:12px 20px}.widgets-container{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:1fr 1fr;grid-template-rows:auto;margin:0 auto;max-width:1400px;padding:0 24px}.widget{background:#1e293b;border:1px solid #ffffff0a;border-radius:14px;box-shadow:0 2px 12px #0003;cursor:pointer;overflow:visible;transition:all .3s cubic-bezier(.4,0,.2,1)}.widget:hover{border-color:#ffffff14;box-shadow:0 8px 30px #0000004d;transform:translateY(-3px)}.widget.expanded{border-color:#3b82f64d}.widget-large{height:100%}.widgets-right{display:flex;flex-direction:column;gap:20px}.widget-header{background:linear-gradient(135deg,#0f172a,#1e293b);border-bottom:1px solid #ffffff0a;color:#fff;padding:16px 24px}.widget-header h3{font-size:14px;font-weight:600;letter-spacing:.5px;margin:0}.widget-content{padding:24px}.widget-large .widget-content{padding:28px}.version-display{margin-bottom:16px}.version-label{color:#64748b;display:block;font-size:14px;margin-bottom:8px}.version-number{color:#06b6d4;display:block;font-size:48px;font-weight:700}.build-info,.release-info{color:#64748b;font-size:14px;margin-bottom:8px}.rollout-section{border-top:1px solid #ffffff0f;margin-top:24px;padding-top:24px}.rollout-label{align-items:center;color:#64748b;display:flex;font-size:12px;font-weight:600;justify-content:space-between;letter-spacing:.5px;margin-bottom:12px}.rollout-percentage{color:#06b6d4;font-size:14px}.rollout-bar{background:#ffffff0f;border-radius:4px;height:8px;margin-bottom:8px;overflow:hidden}.rollout-progress{background:linear-gradient(90deg,#06b6d4,#0891b2);border-radius:4px;height:100%;transition:width .5s ease}.rollout-slider{-webkit-appearance:none;appearance:none;background:#ffffff0f;border-radius:4px;cursor:pointer;height:8px;margin-bottom:8px;outline:none;pointer-events:auto;position:relative;width:100%;z-index:10}.rollout-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:linear-gradient(135deg,#06b6d4,#0891b2);border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:20px;-webkit-transition:all .2s;transition:all .2s;width:20px}.rollout-slider::-webkit-slider-thumb:hover{box-shadow:0 3px 6px #0000004d;transform:scale(1.2)}.rollout-slider::-moz-range-thumb{background:linear-gradient(135deg,#06b6d4,#0891b2);border:none;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:20px;-moz-transition:all .2s;transition:all .2s;width:20px}.rollout-slider::-moz-range-thumb:hover{box-shadow:0 3px 6px #0000004d;transform:scale(1.2)}.rollout-slider:disabled{cursor:not-allowed;opacity:.5}.stable-release-actions{border-top:1px solid #ffffff1a;display:flex;gap:12px;margin-top:20px;padding-top:16px}.action-btn{align-items:center;background:#ffffff0d;border:1px solid #fff3;color:#fff;display:flex;font-size:13px;font-weight:500;gap:8px;padding:10px 16px;pointer-events:auto;position:relative;transition:all .2s;z-index:10}.action-btn:hover:not(:disabled){background:#ffffff1a;border-color:#ffffff4d;transform:translateY(-1px)}.action-btn:active:not(:disabled){transform:translateY(0)}.action-btn:disabled{cursor:not-allowed;opacity:.4}.action-btn svg{flex-shrink:0}.download-report-btn{background:linear-gradient(135deg,#06b6d4,#0891b2);border-color:#0000}.download-report-btn:hover:not(:disabled){background:linear-gradient(135deg,#0891b2,#0e7490);box-shadow:0 4px 12px #06b6d44d}.toggle-forced-btn{background:#94a3b81a;border-color:#94a3b84d}.toggle-forced-btn.active{animation:pulse-forced 2s ease-in-out infinite;background:linear-gradient(135deg,#f97316,#ea580c);border-color:#0000}.toggle-forced-btn:hover:not(:disabled){background:#94a3b833;border-color:#94a3b866}.toggle-forced-btn.active:hover:not(:disabled){background:linear-gradient(135deg,#ea580c,#c2410c);box-shadow:0 4px 12px #f9731666}@keyframes pulse-forced{0%,to{box-shadow:0 0 0 0 #f9731666}50%{box-shadow:0 0 0 6px #f9731600}}.rollout-value{color:#1e293b}.widget-small{display:flex;flex:1 1;flex-direction:column}.widget-small .widget-content{flex:1 1;padding:20px 24px}.info-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.info-row:last-child{margin-bottom:0}.info-row .label{color:#64748b;font-size:13px}.info-row .value{color:#e2e8f0;font-size:14px;font-weight:600}.info-row .value.version-highlight{color:#38bdf8;font-family:Monaco,Courier New,monospace;font-size:15px}.status-badge{border-radius:20px;padding:4px 12px}.status-badge.passed{background:#dcfce7;color:#16a34a}.status-badge.failed{background:#fef2f2;color:#dc2626}.status-badge.in-progress,.status-badge.pending{background:#fef3c7;color:#d97706}.previous-versions-list{display:flex;flex-direction:column;gap:4px}.previous-version-item{align-items:center;background:#ffffff05;border-bottom:1px solid #ffffff0f;border-radius:6px;display:flex;gap:10px;padding:8px 10px}.previous-version-item:last-child{border-bottom:none}.prev-status-dot{border-radius:50%;flex-shrink:0;height:6px;width:6px}.prev-status-dot.passed{background:#2ecc71;box-shadow:0 0 6px #2ecc7166}.prev-status-dot.failed{background:#e74c3c;box-shadow:0 0 6px #e74c3c66}.prev-status-dot.in\ progress,.prev-status-dot.pending{background:#f1c40f;box-shadow:0 0 6px #f1c40f66}.previous-version-item .version{color:#e2e8f0;flex:1 1;font-size:13px;font-weight:600}.previous-version-item .date{color:#64748b;font-size:11px;white-space:nowrap}.no-data{font-size:13px}.expanded-detail-view{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;margin-top:32px;overflow:hidden}.detail-header{align-items:center;background:linear-gradient(135deg,#0f172a,#1e293b);color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.detail-header h2{font-size:18px;font-weight:600;margin:0}.close-detail{background:#ffffff1a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:20px;height:32px;transition:all .2s ease;width:32px}.close-detail:hover{background:#fff3}.detail-content{padding:24px}.detail-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-item label{color:#64748b;font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.detail-item span{color:#e2e8f0;font-size:16px;font-weight:500}.previous-reports-list{gap:12px}.report-item{align-items:center;background:#0f172a;border:1px solid #ffffff0a;border-radius:8px;display:flex;gap:24px;padding:16px}.report-version{color:#e2e8f0;font-weight:600;min-width:100px}.report-date{color:#64748b;flex:1 1}.report-status{border-radius:20px;font-size:11px;font-weight:600;padding:4px 12px;text-transform:uppercase}.report-status.passed{background:#22c55e26;color:#4ade80}.report-status.failed{background:#ef444426;color:#f87171}.no-reports{font-style:italic;padding:32px}.no-data-message{background:#ffffff05;border:1px dashed #ffffff14;border-radius:8px;color:#64748b;font-size:15px;padding:40px 20px;text-align:center}.system-status-bar{align-items:center;background:#0f172a;color:#fffc;display:flex;font-size:12px;font-weight:500;gap:12px;letter-spacing:.5px;padding:12px 32px}.status-indicator{animation:pulse 2s infinite;border-radius:50%;height:8px;width:8px}.status-indicator,.status-indicator.online{background:#22c55e}.status-indicator.offline{background:#ef4444}.last-updated{color:#fff9;margin-left:auto}@media (max-width:1200px){.widgets-container{grid-template-columns:1fr}.widget-large{grid-row:span 1}}@media (max-width:768px){.hub-header{padding:0}.header-top-row{flex-direction:column;gap:12px;padding:12px 16px 8px}.header-bottom-row{flex-direction:column;gap:12px;padding:0 16px 12px}.header-left{flex-direction:column;gap:8px;text-align:center}.hub-title{font-size:18px}.controls-left,.controls-right{flex-direction:column;gap:8px}.controls-right{width:100%}.device-tabs{padding:12px 16px}.device-tab{font-size:11px;padding:8px 12px}.hub-content{padding:16px}.version-number{font-size:32px}.detail-grid{grid-template-columns:1fr}}.no-platforms-message{padding:20px;text-align:center}.admin-platforms-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin:0 auto;max-width:100%;padding:0 20px}.admin-dashboard{margin:0 auto;max-width:1600px;padding:0 24px}.summary-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:20px}.admin-top-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:2fr 1.5fr 1.5fr;grid-template-rows:auto;margin-bottom:16px}.stats-quad{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.admin-middle-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr 2fr;margin-bottom:20px}.admin-middle-row .tall-card{display:flex;flex-direction:column;justify-content:space-between;min-height:180px}.admin-middle-row .rollout-chart{min-height:180px}.summary-card{align-items:flex-start;background:#1e293b;border:1px solid #ffffff0a;border-radius:14px;box-shadow:0 2px 12px #0003;cursor:pointer;display:flex;justify-content:space-between;overflow:hidden;padding:22px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.summary-card:before{content:"";height:3px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.summary-card:hover{border-color:#ffffff14;box-shadow:0 8px 30px #0000004d;transform:translateY(-3px)}.summary-card:hover:before{opacity:1}.card-icon{align-items:center;border-radius:12px;display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.card-icon svg{height:22px;width:22px}.card-icon.builds{background:#22c55e1f;color:#22c55e}.card-icon.testing{background:#f59e0b1f;color:#f59e0b}.card-icon.ready{background:#3b82f61f;color:#3b82f6}.card-icon.rollout{background:#8b5cf61f;color:#8b5cf6}.card-icon.events-test{background:#10b9811f;color:#10b981}.card-mini-list{display:flex;flex:1 1;flex-direction:column;gap:6px;margin:12px 0 8px}.card-mini-item{align-items:center;background:#ffffff08;border:1px solid #ffffff0a;border-radius:8px;display:flex;gap:8px;padding:6px 10px;transition:background .2s ease}.card-mini-item:hover{background:#ffffff0f}.mini-status-dot{border-radius:50%;flex-shrink:0;height:6px;width:6px}.mini-status-dot.passed{background:#2ecc71;box-shadow:0 0 6px #2ecc7166}.mini-status-dot.failed{background:#e74c3c;box-shadow:0 0 6px #e74c3c66}.mini-status-dot.in\ progress,.mini-status-dot.pending{background:#f1c40f;box-shadow:0 0 6px #f1c40f66}.mini-platform{color:#e2e8f0;flex:1 1;font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-version{color:#94a3b8;font-family:Monaco,Courier New,monospace;font-size:11px;white-space:nowrap}.mini-date{color:#64748b;font-size:10px;white-space:nowrap}.mini-badge{border-radius:4px;font-size:9px;font-weight:700;letter-spacing:.3px;padding:2px 6px;text-transform:uppercase;white-space:nowrap}.mini-badge.tested{background:#2ecc7126;color:#2ecc71}.mini-badge.pending{background:#f1c40f26;color:#f1c40f}.mini-empty{color:#475569;font-size:12px;font-style:italic;padding:8px 0}.card-icon.failed{background:#ef44441f;color:#ef4444}.summary-card.failed-card{border:1px solid #ef444426}.summary-card.failed-card:before{background:linear-gradient(90deg,#ef4444,#0000)}.summary-card.failed-card:hover{border-color:#ef44444d;box-shadow:0 8px 30px #ef44441a}.card-content{display:flex;flex-direction:column;gap:4px}.card-value{color:#f1f5f9;font-size:36px;font-weight:800;line-height:1}.card-label{color:#64748b;font-size:13px;font-weight:500;letter-spacing:.3px}.chart-card{background:#1e293b;border:1px solid #ffffff0a;border-radius:14px;box-shadow:0 2px 12px #0003;padding:20px}.chart-title{color:#e2e8f0;font-size:13px;font-weight:700;letter-spacing:.5px;margin:0 0 16px;text-transform:uppercase}.chart-title-normal{font-size:16px;font-weight:600;letter-spacing:0;text-transform:none}.chart-card-glow{background:linear-gradient(135deg,#1a1025,#16132b 50%,#1a1025);border:1px solid #8b5cf614}.platform-health-section{background:#1e293b;border:1px solid #ffffff0a;border-radius:14px;box-shadow:0 2px 12px #0003;padding:24px}.section-title{color:#e2e8f0;font-weight:700;letter-spacing:.5px;margin:0 0 20px;text-transform:uppercase}.platform-health-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(6,1fr)}.health-card{background:#0f172a;border:1px solid #ffffff0a;border-radius:12px;cursor:pointer;padding:16px;transition:all .25s cubic-bezier(.4,0,.2,1)}.health-card:hover{border-color:#ffffff14;box-shadow:0 6px 20px #0000004d;transform:translateY(-2px)}.health-card.healthy{border-left:3px solid #22c55e}.health-card.warning{border-left:3px solid #f59e0b}.health-card.critical{border-left:3px solid #ef4444}.health-card:hover.healthy{border-color:#22c55e4d #22c55e4d #22c55e4d #22c55e}.health-card:hover.warning{border-color:#f59e0b4d #f59e0b4d #f59e0b4d #f59e0b}.health-card:hover.critical{border-color:#ef44444d #ef44444d #ef44444d #ef4444}.health-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.health-platform{color:#e2e8f0;font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.health-indicator{animation:pulse 2s infinite;border-radius:50%;height:8px;width:8px}.health-indicator.healthy{background:#22c55e;box-shadow:0 0 6px #22c55e66}.health-indicator.warning{background:#f59e0b;box-shadow:0 0 6px #f59e0b66}.health-indicator.critical{background:#ef4444;box-shadow:0 0 6px #ef444466}.health-details{display:flex;flex-direction:column;gap:8px}.health-row{align-items:center;display:flex;font-size:11px;justify-content:space-between}.health-row span:first-child{color:#64748b}.health-row strong{color:#e2e8f0;font-weight:600}.health-status-badge{border-radius:10px;font-size:9px;font-weight:700;padding:2px 8px;text-transform:uppercase}.health-status-badge.healthy{background:#22c55e26;color:#4ade80}.health-status-badge.warning{background:#f59e0b26;color:#fbbf24}.health-status-badge.critical{background:#ef444426;color:#f87171}.mini-rollout-bar{background:#ffffff0f;border-radius:8px;flex:1 1;height:16px;min-width:60px;overflow:hidden;position:relative}.mini-rollout-fill{background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:8px;height:100%;transition:width .3s ease}.mini-rollout-text{color:#e2e8f0;font-size:9px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.quick-view-modal{animation:modalSlideIn .3s ease;background:#1e293b;border:1px solid #ffffff0f;border-radius:20px;box-shadow:0 25px 60px #00000080;max-width:90vw;overflow:hidden;width:400px}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.quick-view-header{align-items:center;background:linear-gradient(135deg,#0f172a,#1e293b);border-bottom:1px solid #ffffff0f;display:flex;justify-content:space-between;padding:20px 24px}.quick-view-title{align-items:center;display:flex;gap:12px}.quick-view-title h2{color:#e2e8f0;font-size:20px;font-weight:700;margin:0;text-transform:uppercase}.quick-view-indicator{animation:pulse 2s infinite;border-radius:50%;height:14px;width:14px}.quick-view-indicator.healthy{background:#22c55e;box-shadow:0 0 10px #22c55e80}.quick-view-indicator.warning{background:#f59e0b;box-shadow:0 0 10px #f59e0b80}.quick-view-indicator.critical{background:#ef4444;box-shadow:0 0 10px #ef444480}.quick-view-body{padding:24px}.quick-view-stats{display:flex;flex-direction:column;gap:20px}.quick-view-stat{align-items:center;display:flex;justify-content:space-between}.quick-view-stat .stat-label{color:#94a3b8;font-size:14px;font-weight:500}.quick-view-stat .stat-value{color:#e2e8f0;font-size:18px;font-weight:700}.quick-view-rollout{align-items:center;display:flex;gap:12px}.quick-view-rollout-bar{background:#ffffff0f;border-radius:5px;height:10px;overflow:hidden;width:120px}.quick-view-rollout-fill{background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:5px;height:100%;transition:width .3s ease}.rollout-percentage{color:#3b82f6;font-size:16px;font-weight:700}.quick-view-footer{background:#f8fafc;border-top:1px solid #e2e8f0;padding:20px 24px}.quick-view-action-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:10px;justify-content:center;padding:14px 24px;transition:all .2s ease;width:100%}.quick-view-action-btn:hover{box-shadow:0 6px 20px #3b82f666;transform:translateY(-2px)}.quick-view-action-btn svg{flex-shrink:0}@media (max-width:1400px){.admin-top-grid{grid-template-columns:1fr 1fr}.admin-top-grid .stats-quad{grid-column:span 2}.admin-middle-row{grid-template-columns:1fr 1fr}.admin-middle-row .rollout-chart{grid-column:span 2}.platform-health-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:1024px){.admin-top-grid{grid-template-columns:1fr}.admin-top-grid .stats-quad{grid-column:span 1}.admin-middle-row{grid-template-columns:1fr}.admin-middle-row .rollout-chart{grid-column:span 1}.platform-health-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.stats-quad{grid-template-columns:1fr}.platform-health-grid{grid-template-columns:repeat(2,1fr)}.admin-dashboard{padding:0 16px}}@media (max-width:480px){.platform-health-grid{grid-template-columns:1fr}}.platform-box{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 10px #00000014;overflow:hidden;transition:all .2s ease}.platform-box:hover{border-color:#3b82f6;box-shadow:0 6px 20px #0000001f}.platform-box-header{background:linear-gradient(135deg,#1e3a5f,#2d5a87);color:#fff;padding:12px 16px}.platform-box-header h3{font-size:14px;font-weight:700;letter-spacing:.8px;margin:0;text-align:center;text-transform:uppercase}.platform-box-content{display:flex;flex-direction:column;gap:0}.platform-box-content-grid{grid-gap:1px;background:#e2e8f0;display:grid;gap:1px;grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.platform-sub-box{background:#fff;cursor:pointer;display:flex;flex-direction:column;justify-content:flex-start;min-height:90px;padding:12px 14px;position:relative;transition:all .2s ease}.platform-sub-box:hover{background:#f0f9ff;box-shadow:inset 0 0 0 2px #3b82f6;z-index:2}.sub-box-header{border-bottom:2px solid #3b82f6;color:#0f172a;font-size:10px;font-weight:700;letter-spacing:.3px;margin-bottom:10px;padding-bottom:6px;text-transform:uppercase}.sub-box-content{display:flex;flex:1 1;flex-direction:column;gap:6px}.sub-box-info{align-items:baseline;display:flex;font-size:12px;gap:6px;line-height:1.4}.info-label{color:#64748b;font-size:11px;font-weight:500;white-space:nowrap}.info-value{color:#0f172a;font-size:12px;font-weight:700}.previous-reports-list{display:flex;flex-direction:column;gap:6px}.no-data-text{color:#94a3b8;display:block;font-size:9px;font-style:italic;padding:15px 8px;text-align:center}.sub-box-content .status-badge{border-radius:10px;display:inline-block;font-size:8px;font-weight:700;letter-spacing:.5px;padding:3px 8px;text-transform:uppercase}.sub-box-content .status-badge.passed{background:#dcfce7;color:#16a34a}.sub-box-content .status-badge.failed{background:#fef2f2;color:#dc2626}.sub-box-content .status-badge.in.progress,.sub-box-content .status-badge.pending{background:#fef3c7;color:#d97706}@media (max-width:1400px){.admin-platforms-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:900px){.admin-platforms-grid{grid-template-columns:1fr}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{animation:slideUp .3s ease;background:#1e293b;border:1px solid #ffffff0f;border-radius:16px;box-shadow:0 20px 60px #00000080;display:flex;flex-direction:column;max-height:85vh;max-width:700px;overflow:hidden;width:90%}.modal-header{background:linear-gradient(135deg,#0f172a,#1e293b);border-bottom:1px solid #ffffff0f;color:#fff;padding:24px 28px}.modal-header h2{font-size:20px;font-weight:700;letter-spacing:.3px;margin:0}.modal-close-btn{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;display:flex;height:36px;justify-content:center;padding:0;transition:all .2s ease;width:36px}.modal-close-btn:hover{background:#fff3;transform:rotate(90deg)}.modal-body{flex:1 1;overflow-y:auto;padding:28px}.modal-details-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr)}.modal-detail-item{display:flex;flex-direction:column;gap:6px}.modal-detail-item.full-width{grid-column:1/-1}.modal-detail-item label{color:#64748b;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.modal-detail-item span{background:#0f172a;border:1px solid #ffffff0f;border-radius:6px;color:#e2e8f0;font-size:15px;font-weight:500;padding:8px 12px}.modal-detail-item .file-name{color:#60a5fa;font-size:13px;word-break:break-all}.modal-detail-item .status-badge{border:none;border-radius:16px}.forced-release-badge,.modal-detail-item .status-badge{display:inline-block;font-size:12px;font-weight:600;padding:6px 14px;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.forced-release-badge{background:#ffffff0d;border:1px solid #ffffff14;border-radius:16px;color:#94a3b8}.forced-release-badge.active{background:#22c55e26;border-color:#22c55e4d;color:#4ade80}.modal-no-data{color:#94a3b8;padding:60px 20px;text-align:center}.modal-no-data p{font-size:16px;font-style:italic;margin:0}.modal-footer{background:#f8fafc;border-top:1px solid #e2e8f0;gap:12px;padding:20px 28px}.modal-cancel-btn{background:#fff;border:1px solid #cbd5e1;color:#64748b;font-size:14px;padding:10px 24px;transition:all .2s ease}.modal-cancel-btn:hover{background:#f1f5f9;border-color:#94a3b8;color:#475569}.modal-primary-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 24px;transition:all .2s ease}.modal-primary-btn:hover{box-shadow:0 8px 20px #3b82f666;transform:translateY(-2px)}.modal-primary-btn svg{transition:transform .2s ease}.modal-primary-btn:hover svg{transform:translateX(4px)}@media (max-width:768px){.modal-content{max-height:90vh;width:95%}.modal-details-grid{grid-template-columns:1fr}.modal-header{padding:20px}.modal-header h2{font-size:16px}.modal-body{padding:20px}.modal-footer{flex-direction:column-reverse;padding:16px 20px}.modal-cancel-btn,.modal-primary-btn{justify-content:center;width:100%}}.status-list-modal{animation:slideUp .3s ease;background:#1e293b;border:1px solid #ffffff0f;border-radius:16px;box-shadow:0 20px 60px #00000080;display:flex;flex-direction:column;max-width:750px!important;overflow:hidden}.status-modal-header{align-items:center;background:linear-gradient(135deg,#0f172a,#1e293b);border-bottom:1px solid #ffffff0f;color:#fff;display:flex;justify-content:space-between;padding:24px 28px}.status-modal-title{align-items:center;display:flex;gap:12px}.status-modal-title h2{font-size:20px;font-weight:700;letter-spacing:.3px;margin:0}.status-indicator-dot{border-radius:50%;box-shadow:0 0 12px #0003;height:12px;width:12px}.status-indicator-dot.passed{background-color:#22c55e;box-shadow:0 0 12px #22c55e80}.status-indicator-dot.failed{background-color:#ef4444;box-shadow:0 0 12px #ef444480}.status-indicator-dot.pending{background-color:#f59e0b;box-shadow:0 0 12px #f59e0b80}.status-modal-body{background:#1e293b;max-height:500px;overflow-y:auto;padding:28px}.status-platforms-list{background:#0f172a;border:1px solid #ffffff0a;border-radius:12px;display:flex;flex-direction:column;gap:0;overflow:hidden}.list-header{background:#ffffff08;border-bottom:1px solid #ffffff0f;color:#64748b;font-size:12px;font-weight:700;letter-spacing:.5px;padding:14px 20px;text-transform:uppercase}.list-header,.list-item{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1.5fr 2fr 1.5fr 1.5fr}.list-item{align-items:center;border-bottom:1px solid #ffffff0a;padding:16px 20px;transition:all .2s ease}.list-item:last-child{border-bottom:none}.list-item:hover{background:#ffffff08}.platform-name{color:#e2e8f0;font-size:14px;font-weight:600}.platform-version{color:#94a3b8;font-family:Monaco,Courier New,monospace;font-size:13px;font-weight:500}.platform-tested-by{color:#cbd5e1;font-size:13px;font-weight:500}.platform-stage-badge{border-radius:6px;display:inline-block;font-size:10px;font-weight:700;letter-spacing:.5px;padding:5px 10px;text-align:center;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.platform-stage-badge.live{background:#22c55e26;color:#4ade80}.platform-stage-badge.testing{background:#f59e0b26;color:#fbbf24}.platform-stage-badge.verified{background:#3b82f626;color:#60a5fa}.view-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;letter-spacing:.3px;padding:6px 16px;text-transform:uppercase;transition:all .2s ease}.view-btn:hover{box-shadow:0 4px 12px #3b82f666;transform:translateY(-2px)}.empty-state{color:#64748b;padding:60px 20px;text-align:center}.empty-state p{font-size:16px;font-style:italic;margin:0}.status-modal-footer{background:#0f172a;border-top:1px solid #ffffff0f;display:flex;gap:12px;justify-content:flex-end;padding:20px 28px}.header-title-group{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.section-icon{flex-shrink:0;opacity:.9}.section-title-with-tooltip{cursor:help;font-size:14px;font-weight:600;letter-spacing:.5px;margin:0;position:relative}.section-title-with-tooltip:hover{opacity:.9}.status-indicator-badge{border-radius:12px;font-size:11px;font-weight:700;letter-spacing:.5px;margin-left:auto;padding:4px 12px;text-transform:uppercase}.status-indicator-badge.passed{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 2px 8px #22c55e4d;color:#fff}.status-indicator-badge.failed{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 2px 8px #ef44444d;color:#fff}.status-indicator-badge.in.progress,.status-indicator-badge.pending{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 2px 8px #f59e0b4d;color:#fff}.version-with-copy{gap:12px;position:relative}.copy-btn,.version-with-copy{align-items:center;display:flex}.copy-btn{background:#06b6d41a;border:1px solid #06b6d44d;border-radius:8px;color:#06b6d4;justify-content:center;padding:8px 12px}.copy-btn:hover{background:#06b6d433;border-color:#06b6d4;transform:scale(1.05)}.copy-btn:active{transform:scale(.95)}.copy-btn svg{display:block}.copied-message{animation:fadeInOut 2s ease;background:#22c55e;border-radius:6px;color:#fff;font-size:12px;font-weight:600;padding:6px 12px;pointer-events:none;position:absolute;right:-70px;top:50%;transform:translateY(-50%);white-space:nowrap}@keyframes fadeInOut{0%{opacity:0;transform:translateY(-50%) translateX(-10px)}10%{opacity:1;transform:translateY(-50%) translateX(0)}90%{opacity:1;transform:translateY(-50%) translateX(0)}to{opacity:0;transform:translateY(-50%) translateX(-10px)}}.value-with-copy{align-items:center;display:flex;gap:8px}.copy-btn-small{background:#0000;border-radius:4px;font-size:14px;opacity:.6;padding:2px 6px;transition:all .2s ease}.copy-btn-small:hover{background:#06b6d41a;opacity:1;transform:scale(1.1)}.build-info{display:flex;flex-direction:column;gap:6px;margin-bottom:20px}.build-age{color:#64748b;font-size:13px;font-style:italic;font-weight:500}[title]{position:relative}.upload-build-btn[title]:hover:after{background:#1e293b;border-radius:6px;bottom:calc(100% + 8px);box-shadow:0 4px 12px #0003;color:#fff;content:attr(title);font-size:12px;padding:8px 12px;pointer-events:none;position:absolute;right:0;white-space:nowrap;z-index:1000}.upload-build-btn[title]:hover:before{border:6px solid #0000;border-top-color:#1e293b;bottom:calc(100% + 2px);content:"";pointer-events:none;position:absolute;right:20px;z-index:1000}@media (max-width:768px){.header-title-group{align-items:flex-start;flex-direction:column;gap:8px}.status-indicator-badge{margin-left:0}.version-with-copy{align-items:flex-start;flex-direction:column;gap:8px}.copied-message{margin-top:4px;position:static;transform:none}}.take-tour-btn{align-items:center;background:#34d39914;border:1.5px solid #34d39959;border-radius:10px;color:#34d399;cursor:pointer;display:flex;font-size:11px;font-weight:700;gap:6px;letter-spacing:.8px;padding:8px 18px;transition:all .3s cubic-bezier(.4,0,.2,1)}.take-tour-btn:hover{background:#34d39926;border-color:#34d39999;box-shadow:0 4px 16px #34d39926;transform:translateY(-1px)}.take-tour-btn svg{flex-shrink:0}.failed-builds-section{border-top:2px solid #ef444433;margin-top:20px;padding-top:20px}.failed-builds-header{align-items:center;display:flex;gap:10px;margin-bottom:12px}.failed-builds-header svg{color:#ef4444;flex-shrink:0}.failed-builds-header h4{color:#f1f5f9;font-size:14px;font-weight:600;letter-spacing:.5px;margin:0;text-transform:uppercase}.failed-count-badge{border-radius:12px;font-weight:700;padding:4px 12px}.failed-count-badge,.view-failed-details-btn{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 2px 8px #ef44444d;color:#fff;font-size:14px}.view-failed-details-btn{border:none;border-radius:8px;cursor:pointer;font-weight:600;padding:10px 16px;transition:all .3s ease;width:100%}.view-failed-details-btn:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 12px #ef444466;transform:translateY(-1px)}.view-failed-details-btn:active{box-shadow:0 2px 6px #ef44444d;transform:translateY(0)}.failed-builds-widget{cursor:pointer;transition:all .3s ease}.failed-builds-widget:hover{box-shadow:0 8px 24px #ef444433;transform:translateY(-2px)}.failed-builds-widget .section-icon{color:#ef4444}.failed-count{color:#ef4444;font-size:18px;font-weight:700}.view-details-btn{background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:6px;box-shadow:0 2px 8px #ef44444d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;margin-top:12px;padding:8px 16px;transition:all .3s ease;width:100%}.view-details-btn:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 12px #ef444466;transform:translateY(-1px)}.view-details-btn:active{box-shadow:0 2px 6px #ef44444d;transform:translateY(0)}.test-report-overlay{background-color:#fff;bottom:0;display:flex;left:0;padding:0;position:fixed;right:0;top:0;z-index:1000}.test-report-container{background:#fff;border-radius:0;box-shadow:none;display:flex;flex-direction:column;height:100%;max-height:none;max-width:none;width:100%}.test-report-header{align-items:center;background:#f8f9fa;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;padding:20px 30px}.test-report-header h2{color:#333;font-size:24px;margin:0}.close-btn{align-items:center;background:#dc3545;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:20px;height:35px;justify-content:center;transition:background .2s;width:35px}.close-btn:hover{background:#c82333}.test-report-content{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.summary-overview-panel{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #dee2e6;border-radius:12px;box-shadow:0 2px 8px #0000000d;flex-shrink:0;margin:20px 30px 0;padding:20px}.summary-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.summary-title{color:#333;font-size:18px;font-weight:600;margin:0;text-align:center}.summary-collapse-btn{background:linear-gradient(135deg,#007bff,#0056b3);border:none;border-radius:6px;box-shadow:0 2px 4px #007bff4d;color:#fff;cursor:pointer;font-size:14px;font-weight:700;min-width:36px;padding:6px 12px;transition:all .3s ease}.summary-collapse-btn:hover{background:linear-gradient(135deg,#0056b3,#003d82);box-shadow:0 4px 8px #007bff66;transform:translateY(-1px)}.summary-collapse-btn:active{box-shadow:0 1px 2px #007bff4d;transform:translateY(0)}.summary-content{align-items:stretch;display:flex;gap:20px}.summary-table-container{flex:1 1;min-width:0}.summary-chart-container{align-items:center;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;flex:1 1;justify-content:center;padding:15px}.summary-chart-canvas{display:block;height:auto;max-width:100%}.summary-table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden;width:100%}.summary-table thead{background:linear-gradient(135deg,#495057,#343a40);color:#fff}.summary-table th{border-right:1px solid #ffffff1a;font-size:13px;font-weight:600;letter-spacing:.5px;padding:12px 15px;text-align:center;text-transform:uppercase}.summary-table th:first-child{padding-left:20px;text-align:left}.summary-table th:last-child{border-right:none}.summary-table tbody tr{border-bottom:1px solid #dee2e6}.summary-table tbody tr:last-child{border-bottom:none}.summary-table tbody tr:hover{background-color:#f8f9fa}.summary-table .severity-label{font-size:13px;font-weight:600;letter-spacing:.5px;padding:12px 15px 12px 20px;text-transform:uppercase}.summary-table .severity-label.critical{background:linear-gradient(90deg,#dc35451a,#0000);color:#dc3545}.summary-table .severity-label.blocker{background:linear-gradient(90deg,#fd7e141a,#0000);color:#fd7e14}.summary-table .severity-label.major{background:linear-gradient(90deg,#ffc10726,#0000);color:#ffc107}.summary-table .severity-label.minor{background:linear-gradient(90deg,#17a2b81a,#0000);color:#17a2b8}.summary-table .severity-label.na-severity{background:linear-gradient(90deg,#6c757d1a,#0000);color:#6c757d}.summary-table .count-cell{color:#495057;font-size:16px;font-weight:600;padding:12px 15px;text-align:center}.report-info-section{margin-bottom:30px}.info-table,.info-table td{border:1px solid #dee2e6}.info-table td{padding:10px 15px}.info-label{background-color:#f8f9fa}.info-input{border:none;outline:none;padding:5px}.info-input:focus{background-color:#fff3cd}.test-cases-section{margin-top:20px}.test-cases-table{border:1px solid #dee2e6;border-collapse:collapse;width:100%}.test-cases-table td,.test-cases-table th{border:1px solid #dee2e6;padding:8px;text-align:left}.table-header{background-color:#17a2b8;color:#fff;font-weight:600;text-align:center}.table-header th{font-size:13px;padding:12px 8px}.section-header-row{background-color:#dc3545}.section-title{color:#fff;font-size:14px;font-weight:600;padding:10px 15px!important;position:relative}.subsection-header-row{background-color:#007bff}.subsection-title{color:#fff;font-size:13px;font-weight:600;padding:10px 15px!important;position:relative}.add-row-btn-inline{background:#fff;border:none;border-radius:50%;color:#dc3545;cursor:pointer;font-size:18px;font-weight:700;height:25px;margin-left:10px;transition:all .2s;width:25px}.add-row-btn-inline:hover{background:#f8f9fa;transform:scale(1.1)}.delete-cp-btn{background:#fff;border:1px solid #dc3545;border-radius:4px;color:#dc3545;cursor:pointer;float:right;font-size:16px;margin-left:10px;padding:4px 8px;transition:all .2s}.delete-cp-btn:hover{background:#dc3545;color:#fff;transform:scale(1.05)}.test-case-row{background-color:#fff;transition:background-color .3s ease}.test-case-row:hover{background-color:#f8f9fa}.test-case-row.failed-status{background-color:#ffe6e6;border-left:4px solid #dc3545}.test-case-row.failed-status:hover{background-color:#fcc}.case-name-input,.case-text-input{border:1px solid #ced4da;border-radius:4px;font-size:13px;padding:6px 8px;width:100%}.case-name-input:focus,.case-text-input:focus{border-color:#80bdff;box-shadow:0 0 0 2px #007bff40;outline:none}.case-select{border:1px solid #ced4da;border-radius:4px;font-size:12px;padding:6px 8px;transition:all .3s ease;width:100%}.case-select.status-failed{background-color:#dc3545;border-color:#bd2130;color:#fff;font-weight:700}.case-select.status-failed:focus{box-shadow:0 0 0 3px #dc354566;outline:none}.case-select:focus{border-color:#80bdff;box-shadow:0 0 0 2px #007bff40;outline:none}.attachment-cell{gap:5px}.cell-with-add{align-items:center;display:flex;gap:5px;width:100%}.cell-with-add input,.cell-with-add select{flex:1 1}.add-row-btn-cell{font-size:16px;font-weight:700;height:24px;line-height:1;padding:0;transition:all .2s;width:24px}.add-row-btn-cell:hover{box-shadow:0 2px 6px #28a74566;transform:scale(1.15)}.file-upload-zone{background-color:#f8f9fa;border:2px dashed #ced4da;border-radius:4px;cursor:pointer;flex:1 1;min-height:35px;outline:none;position:relative;transition:all .3s ease}.file-upload-zone.focused,.file-upload-zone:focus{background-color:#d4edda;border-color:#28a745;box-shadow:0 0 0 3px #28a74540}.file-upload-zone:hover{background-color:#e7f3ff;border-color:#80bdff}.file-upload-zone.dragging{background-color:#cfe2ff;border-color:#007bff;transform:scale(1.02)}.file-label{align-items:center;display:flex;height:100%;justify-content:center;min-height:35px;padding:5px;-webkit-user-select:none;user-select:none}.file-placeholder{font-weight:500}.file-name,.file-placeholder{font-size:11px;text-align:center}.file-name{color:#28a745;font-weight:600;word-break:break-word}.remove-row-btn{font-size:14px;padding:5px 8px}.test-report-footer{align-items:center;background:#f8f9fa;border-top:2px solid #e9ecef;display:flex;gap:15px;justify-content:space-between;padding:20px 30px}.footer-left{gap:10px}.previous-report-dropdown{border:2px solid #17a2b8;border-radius:5px;color:#333;cursor:pointer;font-weight:500;padding:10px 15px;transition:all .2s}.previous-report-dropdown:hover:not(:disabled){border-color:#138496;box-shadow:0 2px 8px #17a2b833}.previous-report-dropdown:disabled{background-color:#e9ecef;border-color:#ced4da;color:#6c757d}.previous-report-dropdown:focus{border-color:#138496;box-shadow:0 0 0 3px #17a2b826;outline:none}.draft-badge{background:linear-gradient(135deg,#ffc107,#ff9800);border-radius:20px;box-shadow:0 2px 4px #ffc1074d;letter-spacing:.5px;text-transform:uppercase}.btn-danger-outline,.btn-info,.btn-primary,.btn-secondary{border:none;border-radius:5px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 25px;transition:all .2s}.btn-primary{background-color:#28a745}.btn-primary:hover{background-color:#218838;box-shadow:0 2px 8px #28a7454d;transform:translateY(-1px)}.btn-primary:disabled{background-color:#6c757d;box-shadow:none}.btn-secondary{background-color:#007bff}.btn-secondary:hover{background-color:#0056b3;box-shadow:0 2px 8px #007bff4d;transform:translateY(-1px)}.btn-secondary:disabled{background-color:#6c757d;box-shadow:none;cursor:not-allowed;transform:none}.btn-info{background-color:#17a2b8}.btn-info:hover:not(:disabled){background-color:#138496;box-shadow:0 2px 8px #17a2b84d;transform:translateY(-1px)}.btn-info:disabled{background-color:#6c757d}.btn-danger-outline{background-color:#fff}.btn-danger-outline:hover{background-color:#dc3545;box-shadow:0 2px 8px #dc35454d;transform:translateY(-1px)}.test-report-content::-webkit-scrollbar{width:10px}.test-report-content::-webkit-scrollbar-track{background:#f1f1f1}.test-report-content::-webkit-scrollbar-thumb{background:#888;border-radius:5px}.test-report-content::-webkit-scrollbar-thumb:hover{background:#555}@media (max-width:1200px){.summary-content{flex-direction:column}.summary-chart-container{min-height:300px}.table-header th{font-size:11px;padding:10px 5px}.case-name-input,.case-select,.case-text-input{font-size:11px;padding:4px 6px}}@media (max-width:768px){.test-report-header h2{font-size:18px}.test-report-content{padding:15px}.info-label{width:150px}.info-input,.info-label{font-size:12px}}.attachment-cell{align-items:center;display:flex;justify-content:center;min-height:80px;padding:8px}.attachment-uploading{text-align:center;width:100%}.upload-progress-bar{background-color:#e9ecef;border-radius:10px;height:20px;margin-bottom:8px;overflow:hidden;width:100%}.upload-progress-fill{background:linear-gradient(90deg,#4caf50,#8bc34a);height:100%;transition:width .3s ease}.upload-status{color:#666;font-size:12px}.attachment-error{text-align:center;width:100%}.error-message{color:#dc3545;display:block;font-size:12px;margin-bottom:8px}.btn-retry{background:#ffc107;border:none;border-radius:4px;color:#000;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px}.btn-retry:hover{background:#ffb300}.attachment-preview{align-items:center;display:flex;flex-direction:column;gap:8px;width:100%}.preview-image-container{border:2px solid #dee2e6;border-radius:4px;cursor:pointer;max-width:200px;overflow:hidden;width:100%}.preview-image{display:block;height:auto;transition:transform .2s;width:100%}.preview-image:hover{transform:scale(1.05)}.preview-video-container{border:2px solid #dee2e6;border-radius:4px;max-width:300px;overflow:hidden;width:100%}.preview-video{display:block;height:auto;width:100%}.preview-file-icon{color:#6c757d;font-size:48px}.attachment-info{font-size:12px;text-align:center;width:100%}.attachment-name{color:#333;font-weight:500;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-size{color:#6c757d;margin-bottom:4px}.attachment-url{margin-bottom:8px}.attachment-url a{color:#007bff;font-size:11px;text-decoration:none}.attachment-url a:hover{text-decoration:underline}.btn-remove-attachment{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px}.btn-remove-attachment:hover{background:#c82333}.file-label{border:2px dashed #dee2e6;border-radius:4px;cursor:pointer;padding:12px;text-align:center;transition:all .2s;width:100%}.file-label:hover{background-color:#f8f9fa;border-color:#007bff}.file-placeholder{color:#6c757d;font-size:13px}.test-cases-filter-bar{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;display:flex;gap:10px;margin-bottom:8px;padding:8px 12px}.filter-label{color:#475569;font-size:13px;font-weight:600}.filter-select{background:#fff;border:1px solid #cbd5e1;border-radius:4px;color:#334155;cursor:pointer;font-size:13px;min-width:140px;padding:5px 10px}.filter-select:focus{border-color:#f59e0b;box-shadow:0 0 0 2px #f59e0b26;outline:none}.filter-clear-btn{background:#fff;border:1px solid #e2e8f0;border-radius:4px;color:#64748b;cursor:pointer;font-size:12px;padding:5px 12px;transition:all .15s}.filter-clear-btn:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626}.event-test-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.event-test-container{background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:1400px;width:95%}.event-test-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:2px solid #e9ecef;color:#fff;display:flex;justify-content:space-between;padding:20px 30px}.event-test-header h2{font-size:24px;margin:0}.event-test-content{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.event-summary-panel{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #dee2e6;border-radius:12px;box-shadow:0 2px 8px #0000000d;flex-shrink:0;margin:20px 30px 0;padding:20px}.event-summary-panel h3{color:#333;font-size:18px;font-weight:600;margin:0 0 15px}.summary-stats{display:flex;flex-wrap:wrap;gap:30px}.stat-item{gap:5px}.stat-label{color:#666;font-size:12px}.stat-value{color:#333;font-size:24px}.stat-item.passed .stat-value{color:#28a745}.stat-item.failed .stat-value{color:#dc3545}.stat-item.na .stat-value{color:#6c757d}.scrollable-content{flex:1 1;overflow-y:auto;padding:20px 30px}.report-info-section{margin-bottom:20px}.info-table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden;width:100%}.info-table td{border-bottom:1px solid #e9ecef;padding:12px 15px}.info-label{background:#f8f9fa;color:#495057;font-weight:600;width:200px}.info-input{border:1px solid #ced4da;border-radius:4px;font-size:14px;padding:8px 12px;width:100%}.info-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.event-test-cases-section{margin-top:20px}.platform-events-header{background:linear-gradient(135deg,#667eea1a,#764ba21a);border-left:4px solid #667eea;border-radius:4px;color:#667eea;font-size:20px;font-weight:600;margin:0 0 15px;padding:10px 15px}.event-test-cases-table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden;width:100%}.event-test-cases-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:10}.event-test-cases-table th{border-right:1px solid #fff3;font-size:14px;font-weight:600;padding:15px 12px;text-align:left}.event-test-cases-table th:last-child{border-right:none}.event-test-row{border-bottom:1px solid #e9ecef;transition:background-color .2s}.event-test-row:hover{background-color:#f8f9fa}.event-test-row.failed-status{background-color:#fff5f5}.event-test-row td{padding:12px;vertical-align:middle}.event-name-cell{align-items:center;color:#333;display:flex;font-weight:500;gap:8px;position:relative}.parameters-cell{background-color:#f8f9fa;border-radius:4px;color:#555;font-size:13px;line-height:1.5;max-height:150px;overflow-y:auto;padding:8px;white-space:pre-wrap;word-break:break-word}.parameters-cell::-webkit-scrollbar{width:6px}.parameters-cell::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.parameters-cell::-webkit-scrollbar-thumb{background:#888;border-radius:3px}.parameters-cell::-webkit-scrollbar-thumb:hover{background:#555}.event-name-cell .info-icon{font-size:16px;opacity:.6;transition:opacity .2s}.event-name-cell .info-icon:hover{opacity:1}.event-name-cell:hover:after{background:#333;border-radius:4px;box-shadow:0 4px 12px #0000004d;color:#fff;content:attr(data-tooltip);font-size:12px;font-weight:400;left:0;margin-top:5px;max-width:400px;padding:10px;position:absolute;top:100%;white-space:pre-wrap;z-index:1000}.event-name-input{border:1px solid #ced4da;border-radius:4px;font-size:14px;padding:6px 10px;width:100%}.firing-logic-cell{color:#666;font-size:13px;line-height:1.4;max-height:60px;min-height:40px;overflow-y:auto;padding:8px;white-space:pre-wrap;word-break:break-word}.event-select{background:#fff;border:1px solid #ced4da;border-radius:4px;cursor:pointer;font-size:14px;padding:6px 10px;width:100%}.event-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.event-select.status-failed{background-color:#fff5f5;border-color:#dc3545}.event-text-input{border:1px solid #ced4da;border-radius:4px;font-size:14px;padding:6px 10px;width:100%}.event-text-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.attachment-cell-wrapper{align-items:center;display:flex;gap:8px;position:relative}.row-actions{align-items:center;display:flex;gap:4px;opacity:0;transition:opacity .2s ease}.event-test-row:hover .row-actions{opacity:1}.row-action-btn{align-items:center;background:#0000;border:1px solid #ddd;border-radius:3px;color:#666;cursor:pointer;display:flex;font-size:14px;height:22px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:22px}.row-action-btn:hover{border-color:#999;transform:scale(1.1)}.row-action-btn.add-btn{border-color:#28a745;color:#28a745}.row-action-btn.add-btn:hover{background:#28a745;border-color:#28a745;color:#fff}.row-action-btn.delete-btn{border-color:#dc3545;color:#dc3545;font-size:18px;font-weight:700}.row-action-btn.delete-btn:hover{background:#dc3545;border-color:#dc3545;color:#fff}.add-row-btn-cell{align-items:center;background:#28a745;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;height:28px;justify-content:center;transition:background .2s;width:28px}.add-row-btn-cell:hover{background:#218838}.remove-row-btn{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;flex-shrink:0;font-size:16px;padding:4px 8px;transition:background .2s}.remove-row-btn:hover{background:#c82333}.event-test-footer{align-items:center;background:#f8f9fa;border-top:2px solid #e9ecef;display:flex;flex-shrink:0;justify-content:space-between;padding:20px 30px}.footer-left{align-items:center;display:flex;gap:15px}.draft-indicator,.footer-right{align-items:center;display:flex;gap:10px}.draft-badge{background:#ffc107;border-radius:4px;color:#333;font-size:12px;font-weight:600;padding:6px 12px}.previous-report-selector{align-items:center;display:flex;gap:8px}.previous-report-dropdown{background:#fff;border:1px solid #ced4da;border-radius:4px;font-size:14px;min-width:250px;padding:8px 12px}.previous-report-dropdown:disabled{background:#e9ecef;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:transform .2s,box-shadow .2s}.btn-primary:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.btn-primary:disabled{cursor:not-allowed;opacity:.6;transform:none}.btn-secondary{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:background .2s}.btn-secondary:hover{background:#5a6268}.btn-info{background:#17a2b8;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:background .2s}.btn-info:hover{background:#138496}.btn-info:disabled{cursor:not-allowed;opacity:.6}.btn-danger-outline{background:#0000;border:2px solid #dc3545;border-radius:6px;color:#dc3545;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s}.btn-danger-outline:hover{background:#dc3545;color:#fff}.confirmation-overlay{align-items:center;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.confirmation-dialog{animation:slideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-width:500px;padding:30px;width:90%}.confirmation-dialog h3{color:#333;font-size:22px;margin:0 0 15px}.confirmation-dialog p{color:#555;font-size:14px;line-height:1.6;margin:0 0 15px}.confirmation-dialog .warning-text{background:#fff3cd;border-left:4px solid #ffc107;border-radius:4px;color:#856404;font-weight:500;padding:12px 15px}.confirmation-dialog .warning-text strong{color:#dc3545}.confirmation-dialog .info-text{background:#d1ecf1;border-left:4px solid #17a2b8;border-radius:4px;color:#0c5460;font-weight:500;padding:12px 15px}.confirmation-dialog.auto-load-prompt{border-top:5px solid #28a745;max-width:600px}.confirmation-dialog.auto-load-prompt h3{color:#28a745}.selected-report-info{background:#e7f3ff;border-left:4px solid #17a2b8;border-radius:4px;font-size:14px;line-height:1.8;margin:15px 0;padding:12px 15px}.selected-report-info strong{color:#0c5460;margin-right:8px}.confirmation-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:25px}.scrollable-content::-webkit-scrollbar{width:10px}.scrollable-content::-webkit-scrollbar-track{background:#f1f1f1}.scrollable-content::-webkit-scrollbar-thumb{background:#888;border-radius:5px}.scrollable-content::-webkit-scrollbar-thumb:hover{background:#555}@media (max-width:1200px){.event-test-container{width:98%}.summary-stats{gap:15px}}@media (max-width:768px){.event-test-header h2{font-size:18px}.event-summary-panel{margin:15px 20px 0;padding:15px}.scrollable-content{padding:15px 20px}.event-test-footer{align-items:stretch;flex-direction:column;gap:15px}.footer-left,.footer-right{justify-content:center;width:100%}.previous-report-dropdown{min-width:200px}}.ga-events-table{margin-top:30px}.parameter-cell{font-size:12px;line-height:1.4;max-height:80px;overflow-y:auto;padding:8px;white-space:pre-wrap;word-break:break-word}.user-parameter-cell{align-items:center;display:flex;gap:8px;padding:8px}.expand-btn{align-items:center;background:#667eea;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:12px;height:24px;justify-content:center;transition:all .2s;width:24px}.expand-btn:hover{background:#764ba2;transform:scale(1.1)}.parameter-count{color:#666;font-size:12px;font-weight:500}.expanded-parameters-row{background:#f8f9fa;border-top:none!important}.user-parameters-expanded{background:linear-gradient(135deg,#667eea0d,#764ba20d);border-left:4px solid #667eea;border-radius:4px;margin:5px;padding:15px 20px}.user-parameters-expanded strong{color:#667eea;display:block;font-size:14px;margin-bottom:15px}.parameters-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.parameter-input-group{display:flex;flex-direction:column;gap:5px}.parameter-label{color:#555;font-size:12px;font-weight:500;padding-left:3px}.parameter-input{background:#fff;border:1px solid #ddd;border-radius:4px;font-size:13px;padding:8px 12px;transition:all .2s}.parameter-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.parameter-input::placeholder{color:#aaa;font-style:italic}.parameters-list{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));list-style:none;margin:0;padding:0}.parameters-list li{background:#fff;border-left:3px solid #667eea;border-radius:4px;box-shadow:0 1px 3px #0000001a;font-size:12px;padding:6px 12px}.event-name-cell .info-icon{cursor:help;font-size:14px;margin-left:5px}.event-name-cell[data-tooltip]:hover:after{word-wrap:break-word;background:#333;border-radius:4px;box-shadow:0 2px 8px #0003;color:#fff;content:attr(data-tooltip);font-size:12px;margin-top:5px;max-width:300px;padding:8px 12px;position:absolute;white-space:normal;z-index:1000}.category-header-row{background-color:#f8f9fa!important}.category-header{background-color:#e9ecef;border-bottom:1px solid #dee2e6;border-top:2px solid #dee2e6;color:#495057;font-size:14px;font-weight:600;padding:12px 15px!important;text-align:left}.category-header strong{color:#212529;font-size:15px}.notification-bell-container{display:inline-block;position:relative}.notification-bell-button{align-items:center;background:#0000;border:none;border-radius:8px;color:#64748b;cursor:pointer;display:flex;justify-content:center;padding:8px;position:relative;transition:all .2s ease}.notification-bell-button:hover{background:#f1f5f9;color:#334155}.notification-badge{background:#dc2626;border-radius:10px;color:#fff;font-size:10px;font-weight:600;line-height:1.2;min-width:18px;padding:2px 5px;position:absolute;right:4px;text-align:center;top:4px}.notification-dropdown{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 10px 25px #0000001a;display:flex;flex-direction:column;max-height:600px;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);width:400px;z-index:1000}.notification-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:16px 20px}.notification-header h3{color:#1e293b;font-size:16px;font-weight:600;margin:0}.mark-all-read-btn{background:#0000;border:none;border-radius:6px;color:#2563eb;cursor:pointer;font-size:13px;font-weight:500;padding:4px 8px;transition:all .2s ease}.mark-all-read-btn:hover{background:#dbeafe;color:#1d4ed8}.notification-list{max-height:520px;overflow-y:auto}.notification-list::-webkit-scrollbar{width:6px}.notification-list::-webkit-scrollbar-track{background:#f1f5f9}.notification-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.notification-list::-webkit-scrollbar-thumb:hover{background:#94a3b8}.notification-item{align-items:flex-start;border-bottom:1px solid #f1f5f9;border-left:3px solid #0000;cursor:pointer;display:flex;justify-content:space-between;padding:16px 20px;position:relative;transition:all .2s ease}.notification-item:hover{background:#f8fafc}.notification-item.unread{background:#f0f9ff}.notification-item.unread:hover{background:#e0f2fe}.notification-content{min-width:0}.notification-title{color:#1e293b;font-size:14px;font-weight:600;line-height:1.4;margin-bottom:4px}.notification-message{color:#64748b;font-size:13px;line-height:1.4;margin-bottom:8px}.notification-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.notification-time{color:#94a3b8;font-size:12px}.notification-production-badge{background:#dc2626;border-radius:12px;color:#fff;font-size:11px;font-weight:600;letter-spacing:.5px;padding:2px 8px;text-transform:uppercase}.notification-unread-dot{background:#2563eb;border-radius:50%;flex-shrink:0;height:8px;margin-left:8px;margin-top:4px;width:8px}.notification-empty,.notification-loading{color:#94a3b8;font-size:14px;padding:40px 20px;text-align:center}.notification-loading:before{animation:spin .8s linear infinite;border:2px solid #e2e8f0;border-radius:50%;border-top-color:#2563eb;content:"";display:inline-block;height:20px;margin-bottom:12px;width:20px}@media (max-width:768px){.notification-dropdown{right:-100px;width:350px}}@media (max-width:480px){.notification-dropdown{right:-150px;width:calc(100vw - 32px)}}.tour-overlay{background:#000000bf;bottom:0;left:0;right:0;top:0;z-index:9998}.tour-overlay,.tour-spotlight{pointer-events:none;position:fixed}.tour-spotlight{animation:pulseSpotlight 2s infinite;background:#ffffff80;border-radius:8px;box-shadow:0 0 0 9999px #000000bf,0 0 0 4px #3b82f6e6,0 0 30px #3b82f699;transition:all .3s ease;z-index:9999}@keyframes pulseSpotlight{0%,to{box-shadow:0 0 0 9999px #000000bf,0 0 0 4px #3b82f6e6,0 0 30px #3b82f699}50%{box-shadow:0 0 0 9999px #000000bf,0 0 0 4px #3b82f6,0 0 40px #3b82f6cc}}.tour-tooltip{animation:fadeInScale .3s ease;background:#fff;border-radius:16px;box-shadow:0 12px 40px #0000004d;max-width:400px;min-width:320px;pointer-events:auto;position:fixed;z-index:10000}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.tour-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:16px 20px}.tour-step-badge{background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:20px;color:#fff;font-size:12px;font-weight:700;letter-spacing:.5px;padding:6px 14px;text-transform:uppercase}.tour-close-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#64748b;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:all .2s ease}.tour-close-btn:hover{background:#f1f5f9;color:#1e293b}.tour-content{padding:20px 24px}.tour-title{color:#1e293b;font-size:18px;font-weight:700;letter-spacing:-.3px;margin:0 0 12px}.tour-description{color:#475569;font-size:14px;line-height:1.6;margin:0}.tour-footer{align-items:center;border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:space-between;padding:16px 20px}.tour-btn{border:none;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;outline:none;padding:10px 20px;transition:all .2s ease}.tour-btn:disabled{cursor:not-allowed;opacity:.4}.tour-btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 2px 8px #3b82f64d;color:#fff}.tour-btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #3b82f666;transform:translateY(-1px)}.tour-btn-secondary{background:#f1f5f9;color:#475569}.tour-btn-secondary:hover:not(:disabled){background:#e2e8f0;color:#1e293b}.tour-dots{align-items:center;display:flex;gap:8px}.tour-dot{background:#cbd5e1;border-radius:50%;cursor:pointer;height:8px;transition:all .2s ease;width:8px}.tour-dot:hover{background:#94a3b8;transform:scale(1.2)}.tour-dot.active{background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:4px;width:24px}.tour-dot.completed{background:#22c55e}@media (max-width:768px){.tour-tooltip{max-width:calc(100vw - 40px);min-width:calc(100vw - 40px)}.tour-title{font-size:16px}.tour-btn,.tour-description{font-size:13px}.tour-btn{padding:8px 16px}}.platform-dashboard{background:#0f172a;display:flex;flex-direction:column;font-family:Inter,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:100%;min-height:100vh;padding:0}.navbar{background:linear-gradient(135deg,#0f172a,#1e293b);border-bottom:1px solid #ffffff0f;box-shadow:0 4px 20px #0000004d;justify-content:space-between;padding:16px 32px}.navbar,.navbar-left{align-items:center;display:flex}.navbar-left{gap:16px}.back-button{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:8px;color:#94a3b8;font-size:14px;font-weight:600;transition:all .2s ease}.back-button:hover{background:#ffffff1a;color:#e2e8f0;transform:translateY(-1px)}.selection-info-bar{align-items:center;background:#ffffff0a;border:1px solid #ffffff0f;border-radius:12px;display:flex;gap:24px;margin-bottom:16px;padding:12px 20px}.selection-info{align-items:center;display:flex;gap:8px}.selection-label{color:#64748b;font-size:13px;font-weight:500}.selection-value{border-radius:20px;font-size:13px;font-weight:600;padding:4px 12px}.platform-badge{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.env-badge.production{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.env-badge.uat{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.device-badge{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.device-selector{background:#1e293b;border:1px solid #ffffff1f;border-radius:6px;color:#e2e8f0;cursor:pointer;font-size:13px;font-weight:600;min-width:180px;padding:6px 12px;transition:all .2s ease}.device-selector:hover{border-color:#f59e0b66}.device-selector:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a;outline:none}.logo-container{align-items:center;display:flex;gap:12px}.logo-image{height:60px;object-fit:contain;width:60px}.project-name{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff,#f59e0b 50%,#ef4444);-webkit-background-clip:text;background-clip:text;font-size:20px;font-weight:700;letter-spacing:-.3px}.navbar-right{gap:16px;position:relative}.navbar-right,.user-avatar{align-items:center;display:flex}.user-avatar{background:linear-gradient(135deg,#f59e0b,#ef4444);border:2px solid #fff3;border-radius:50%;box-shadow:0 2px 10px #f59e0b4d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;height:40px;justify-content:center;transition:all .2s ease;width:40px}.user-avatar:hover{border-color:#fff6;box-shadow:0 4px 16px #f59e0b66;transform:scale(1.05)}.hamburger-menu{background:#0000;border:none;border-radius:8px;cursor:pointer;padding:8px;transition:all .2s ease}.hamburger-menu:hover{background:#ffffff0f}.grid-dots{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(3,1fr);height:24px;width:24px}.grid-dots .dot{background:#ffffff80;border-radius:50%;height:5px;transition:all .2s ease;width:5px}.hamburger-menu:hover .grid-dots .dot{background:#fffc}.dropdown-menu{animation:slideDown .3s cubic-bezier(.4,0,.2,1);background:#1e293b;border-radius:16px;box-shadow:0 20px 60px #0006,0 0 0 1px #ffffff0f;min-width:200px;padding:12px;position:absolute;right:0;top:calc(100% + 12px);z-index:1000}.menu-user-info{background:linear-gradient(135deg,#f59e0b14,#ef44440f);border:1px solid #ffffff0f;border-radius:12px;gap:14px;margin-bottom:8px;padding:16px}.menu-avatar,.menu-user-info{align-items:center;display:flex}.menu-avatar{background:linear-gradient(135deg,#f59e0b,#ef4444);border-radius:12px;color:#fff;flex-shrink:0;font-size:18px;font-weight:700;height:48px;justify-content:center;width:48px}.menu-user-details{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.menu-username{color:#f1f5f9;font-size:15px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-role{color:#64748b;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}@keyframes slideDown{0%{opacity:0;transform:translateY(-12px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.menu-item{align-items:center;background:#0000;border:none;border-radius:10px;color:#94a3b8;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:12px;padding:14px 18px;text-align:left;transition:all .2s ease;width:100%}.menu-item:hover{background:#ffffff0f;color:#e2e8f0}.menu-item.logout{color:#ef4444}.menu-item.logout:hover{background:#ef44441a;color:#f87171}.menu-icon{align-items:center;display:flex;font-size:18px;height:24px;justify-content:center;width:24px}.menu-divider{background:#ffffff0f;height:1px;margin:8px 0}.release-management-container{display:flex;flex:1 1;flex-direction:column;gap:28px;padding:30px}.stage-section{animation:fadeSlideUp .4s ease forwards;background:#1e293b;border:1px solid #ffffff0f;border-radius:16px;box-shadow:0 4px 20px #0003;opacity:0;overflow:hidden;transition:all .3s ease}.stage-section:first-child{animation-delay:0s}.stage-section:nth-child(2){animation-delay:.08s}.stage-section:nth-child(3){animation-delay:.16s}.stage-section:nth-child(4){animation-delay:.24s}.stage-section:nth-child(5){animation-delay:.32s}.stage-section:nth-child(6){animation-delay:.4s}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.stage-section:hover{border-color:#ffffff14;box-shadow:0 8px 30px #0000004d}.stage-section.collapsed{box-shadow:0 2px 12px #00000026}.stage-section.collapsed:hover{transform:none}.stage-header{align-items:center;background:linear-gradient(135deg,#0f172a99,#1e293bcc);border-bottom:1px solid #ffffff0f;display:flex;justify-content:space-between;padding:20px 28px}.stage-title-section{align-items:center;display:flex;gap:24px}.stage-header h2{color:#f1f5f9;font-size:18px;font-weight:700;letter-spacing:-.3px;margin:0}.version-selector{align-items:center;background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;display:flex;gap:12px;padding:8px 16px}.version-selector label{color:#94a3b8;font-size:13px;font-weight:600}.version-type-select{background:#0f172a;border:1px solid #ffffff1f;border-radius:8px;color:#e2e8f0;cursor:pointer;font-size:13px;font-weight:600;padding:6px 14px;transition:all .2s ease}.version-type-select:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a;outline:none}.stage-actions{display:flex;gap:12px}.stage-action-btn{background:linear-gradient(135deg,#f59e0b,#ef4444);border:none;border-radius:10px;box-shadow:0 2px 10px #f59e0b4d;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:10px 20px;transition:all .2s ease}.stage-action-btn:hover{box-shadow:0 4px 16px #f59e0b66;transform:translateY(-1px)}.upload-btn{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 2px 10px #10b9814d}.upload-btn:hover{box-shadow:0 4px 16px #10b98166}.testing-btn{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 2px 10px #f59e0b4d}.testing-btn:hover{box-shadow:0 4px 16px #f59e0b66}.reports-btn{background:linear-gradient(135deg,#8b5cf6,#7c3aed);box-shadow:0 2px 10px #8b5cf64d}.reports-btn:hover{box-shadow:0 4px 16px #8b5cf666}.stage-table{background:#1e293b;overflow-x:auto}.stage-table table{border-collapse:collapse;min-width:1400px;width:100%}.stage-table td,.stage-table th{border:1px solid #ffffff0a;color:#cbd5e1;font-size:13px;padding:14px 16px;text-align:center}.stage-table th{background:#0f172a99;color:#94a3b8;font-size:12px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.version-type-header{min-width:120px;width:120px}.field-header,.version-type-header{background:#f59e0b14!important;color:#f59e0b!important;font-weight:700}.field-header{font-size:24px!important;min-width:100px;width:100px}.platform-group-header{background:#10b98114!important;color:#10b981!important;font-weight:700}.platform-header-horizontal{background:#8b5cf614!important;color:#a78bfa!important;font-size:24px!important;font-weight:700!important;min-width:80px!important;padding:12px 8px!important;text-align:center!important;transition:all .3s ease;width:80px!important}.platform-header-horizontal.highlight-pending{animation:pulseHighlight 2s infinite;background:linear-gradient(135deg,#f59e0b,#d97706)!important;box-shadow:0 4px 12px #f59e0b66;color:#fff!important}.platform-header-horizontal.highlight-passed{animation:pulseHighlight 2s infinite;background:linear-gradient(135deg,#22c55e,#16a34a)!important;box-shadow:0 4px 12px #22c55e66;color:#fff!important}.platform-header-horizontal.highlight-ready{animation:pulseHighlight 2s infinite;background:linear-gradient(135deg,#3b82f6,#2563eb)!important;box-shadow:0 4px 12px #3b82f666;color:#fff!important}@keyframes pulseHighlight{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.02)}}.version-type-cell{text-orientation:mixed;vertical-align:middle;writing-mode:vertical-rl}.field-cell,.version-type-cell{background:#0f172a66;color:#94a3b8;font-weight:600;text-align:left}.field-cell{padding-left:20px}.data-cell{background:#1e293b99;padding:10px 12px;transition:background-color .2s ease}.data-cell:hover{background:#1e293be6}.field-input{background:#0f172a99;border:1px solid #ffffff14;border-radius:8px;color:#e2e8f0;font-size:13px;padding:10px 14px;transition:all .2s ease;width:100%}.field-input:focus{background:#0f172acc;border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a;outline:none}.field-input::placeholder{color:#475569}.remarks-textarea{font-family:inherit;line-height:1.4;max-height:150px;min-height:60px;resize:vertical}.status-select{background:#0f172a99;border:1px solid #ffffff14;border-radius:8px;color:#e2e8f0;cursor:pointer;font-size:13px;font-weight:600;padding:10px 14px;transition:all .2s ease;width:100%}.status-select:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a;outline:none}.status-select option[value=passed]{background-color:#064e3b;color:#34d399}.status-select option[value=failed]{background-color:#7f1d1d;color:#fca5a5}.status-select option[value="in progress"]{background-color:#78350f;color:#fcd34d}.read-only-field{align-items:center;background:#0f172a66;border:1px solid #ffffff0a;border-radius:8px;color:#94a3b8;display:flex;font-size:13px;font-weight:500;justify-content:center;min-height:28px;padding:10px 14px}.read-only-field.truncated-cell{cursor:pointer;display:block;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.read-only-field.truncated-cell:hover{color:#f59e0b}.file-upload-container{background:#0f172a66;border:2px dashed #ffffff1a;border-radius:10px;cursor:pointer;min-height:48px;position:relative;transition:all .3s ease;width:100%}.file-upload-container:hover{background:#f59e0b0a;border-color:#f59e0b66}.file-upload-container.dragging{background:#f59e0b14;border-color:#f59e0b;box-shadow:0 0 20px #f59e0b26;transform:scale(1.01)}.file-input-hidden{display:none}.file-upload-label{align-items:center;cursor:pointer;display:flex;height:100%;justify-content:center;min-height:44px;padding:8px;-webkit-user-select:none;user-select:none;width:100%}.upload-placeholder{color:#475569;font-size:12px;font-weight:500;text-align:center;transition:color .2s ease}.file-upload-container:hover .upload-placeholder{color:#f59e0b}.uploaded-file-info{color:#10b981;font-size:12px;font-weight:600;text-align:center;word-break:break-word}.file-upload-container.dragging .file-upload-label{animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.download-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;box-shadow:0 2px 8px #3b82f64d;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:8px 16px;transition:all .2s ease}.download-btn:hover{box-shadow:0 4px 12px #3b82f666;transform:translateY(-1px)}.no-download{color:#475569;font-size:12px;font-style:italic}.sample-report-btn{background:linear-gradient(135deg,#8b5cf6,#7c3aed);box-shadow:0 2px 8px #8b5cf64d}.sample-report-btn:hover{box-shadow:0 4px 12px #8b5cf666}.report-btn{align-items:center;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;border-radius:8px;box-shadow:0 2px 8px #8b5cf64d;color:#fff;cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:6px;padding:8px 14px;transition:all .2s ease}.report-btn:hover{box-shadow:0 4px 12px #8b5cf666;transform:translateY(-1px)}.upload-reports-container{align-items:center;display:flex;flex-direction:column;gap:5px}.uploaded-file-name{color:#10b981;font-size:11px;font-weight:500}.file-input{width:100%}.file-input,.reports-input{color:#94a3b8;font-size:11px;padding:2px}.platform-tabs{background:#0f172a99;border-bottom:1px solid #ffffff0f;display:flex;gap:0;padding:0 32px}.platform-tab{background:#0000;border:none;border-bottom:3px solid #0000;color:#64748b;cursor:pointer;font-size:15px;font-weight:600;padding:16px 32px;position:relative;transition:all .3s ease}.platform-tab:hover{background:#f59e0b0a;color:#f59e0b}.platform-tab.active{background:#f59e0b0f;border-bottom-color:#f59e0b;color:#f59e0b}.platform-tab.active:after{background:linear-gradient(90deg,#f59e0b,#ef4444);border-radius:3px 3px 0 0;bottom:-2px;content:"";height:3px;left:0;position:absolute;right:0}.no-platforms-message{color:#ef4444;font-size:14px;font-weight:500;padding:16px 32px}.version-selector-dropdown{background:#0f172a99;border:1px solid #ffffff14;border-radius:8px;color:#e2e8f0;cursor:pointer;font-size:12px;padding:8px 12px;transition:all .2s ease;width:100%}.version-selector-dropdown:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a;outline:none}.no-data{color:#475569;font-size:12px;font-style:italic}.collapse-btn{align-items:center;background:none;border:none;border-radius:6px;color:#64748b;cursor:pointer;display:flex;font-size:20px;height:28px;justify-content:center;padding:0;transition:all .2s ease;width:28px}.collapse-btn:hover{background:#ffffff0f;color:#f59e0b}.take-tour-btn-navbar{align-items:center;background:linear-gradient(135deg,#f59e0b,#ef4444);border:none;border-radius:10px;box-shadow:0 2px 10px #f59e0b4d;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:8px;padding:8px 16px;transition:all .2s ease}.take-tour-btn-navbar:hover{box-shadow:0 4px 16px #f59e0b66;transform:translateY(-1px)}.take-tour-btn-navbar svg{flex-shrink:0}.platform-header-content{align-items:center;display:flex;flex-direction:column;gap:8px}.platform-checkbox{accent-color:#f59e0b;height:18px;width:18px}.platform-checkbox:disabled{cursor:not-allowed;opacity:.3}.platform-checkbox:hover:not(:disabled){transform:scale(1.15)}.rollout-value{color:#e2e8f0;display:block;font-size:24px;font-weight:700;text-align:right}.utility-actions{margin-top:30px;min-height:20px;text-align:center}.error,.loading{color:#94a3b8;font-size:16px;padding:40px;text-align:center}.error{color:#ef4444}.retry-button{background:linear-gradient(135deg,#f59e0b,#ef4444);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;margin-top:10px;padding:8px 16px}.retry-button:hover{box-shadow:0 4px 12px #f59e0b4d}@media (max-width:1200px){.platform-dashboard{padding:0}.stage-table{font-size:11px}.platform-header-horizontal{font-size:10px}}@media (max-width:768px){.stage-table td,.stage-table th{font-size:10px;padding:6px 8px}.field-input,.status-select{font-size:10px;padding:4px 6px}}.user-management{background:#0f1117;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1400px;min-height:100vh;padding:32px 28px}.user-management-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:28px}.user-management-header .header-content{text-align:left}.user-management-header h2{color:#e8e4df;font-size:26px;font-weight:700;letter-spacing:.5px;margin:0}.back-to-dashboard-btn{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff0a;border:1px solid #ffffff0f;border-radius:10px;color:#a09a93;cursor:pointer;font-size:13px;font-weight:600;letter-spacing:.3px;padding:10px 22px;transition:all .25s ease}.back-to-dashboard-btn:hover{background:#ffffff14;border-color:#ffffff1f;color:#e8e4df}.error-message{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ef444414;border:1px solid #ef444426;border-radius:10px;color:#f87171;display:flex;font-size:13px;gap:8px;margin-bottom:20px;padding:12px 16px}.error-close,.success-close{align-items:center;background:none;border:none;border-radius:6px;color:inherit;cursor:pointer;display:flex;font-size:18px;height:24px;justify-content:center;margin-left:auto;opacity:.6;padding:0;transition:background .2s;width:24px}.error-close:hover,.success-close:hover{background:#ffffff0f;opacity:1}.success-message{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#22c55e14;border:1px solid #22c55e26;border-radius:10px;color:#4ade80;display:flex;font-size:13px;gap:10px;margin-bottom:20px;padding:12px 16px}.success-icon{font-size:14px}.access-denied{background:#ffffff05;border:1px solid #ffffff0a;border-radius:16px;padding:80px 20px}.access-denied h2{color:#f87171;font-size:22px;margin:0 0 12px}.access-denied p{color:#6b6560;font-size:15px;margin:0}.loading{color:#6b6560;padding:60px}.user-management-tabs{border-bottom:1px solid #ffffff0a;display:flex;gap:0;margin-bottom:24px}.tab-btn{background:#0000;border:none;border-bottom:2px solid #0000;color:#6b6560;cursor:pointer;font-size:13px;font-weight:500;letter-spacing:.3px;margin-bottom:-1px;padding:14px 24px;position:relative;transition:all .25s ease}.tab-btn:hover{color:#a09a93}.tab-btn.active{border-bottom-color:#e8e4df66;color:#e8e4df}.pending-badge{background:#ef444433;border-radius:8px;color:#f87171;font-size:10px;font-weight:700;margin-left:8px;padding:2px 7px}.users-table-container{-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);background:linear-gradient(145deg,#1e1b18d9,#161412eb);border:1px solid #ffffff0a;border-radius:16px;box-shadow:inset 0 1px 0 #ffffff08,0 20px 60px #0006;overflow:hidden}.users-table{border-collapse:collapse;font-size:13px;width:100%}.users-table th{background:#ffffff05;border-bottom:1px solid #ffffff0a;color:#6b6560;font-size:11px;font-weight:600;letter-spacing:1.2px;padding:16px;text-align:left;text-transform:uppercase}.users-table td{border-bottom:1px solid hsla(0,0%,100%,.025);color:#a09a93;padding:18px 16px;vertical-align:middle}.users-table tbody tr{transition:background .2s ease}.users-table tbody tr:hover{background:hsla(0,0%,100%,.015)}.users-table tbody tr:last-child td{border-bottom:none}.user-inactive{opacity:.45}.user-inactive:hover{opacity:.6}.username-cell{align-items:center;display:flex;gap:8px}.username-cell strong{color:#e8e4df;font-size:13px;font-weight:600}.current-user-badge{background:#f59e0b26;color:#f59e0b;font-size:9px;letter-spacing:.8px;padding:2px 7px}.current-user-badge,.role-badge{border-radius:6px;font-weight:700;text-transform:uppercase}.role-badge{display:inline-block;font-size:10px;letter-spacing:1px;padding:5px 10px}.role-super-admin{background:#ef444414;border:1px solid #ef444414;color:#e87c6c}.role-admin,.role-super-admin{text-shadow:0 1px 2px #0000004d}.role-admin{background:#f59e0b14;border:1px solid #f59e0b14;color:#d4a054}.role-user{background:#94a3b80f;border:1px solid #94a3b80f;color:#8a8480;text-shadow:0 1px 2px #0000004d}.platforms-cell{min-width:180px}.platforms-display{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.platform-tag{background:#ffffff0a;border:1px solid #ffffff0a;border-radius:6px;color:#8a8480;font-size:10px;font-weight:700;letter-spacing:1px;padding:4px 10px;text-shadow:0 1px 2px #0006;text-transform:uppercase}.no-platforms{color:#4a4540;font-size:12px;font-style:italic}.assign-platforms-btn,.edit-platforms-btn{background:#0000;border:1px solid #ffffff0f;border-radius:5px;color:#6b6560;cursor:pointer;font-size:11px;padding:3px 7px;transition:all .2s ease}.assign-platforms-btn:hover,.edit-platforms-btn:hover{background:#ffffff0a;color:#a09a93}.assign-platforms-btn{color:#6b6560;font-weight:500}.status-badge{align-items:center;background:none;border-radius:0;display:inline-flex;font-size:11px;font-weight:600;gap:6px;letter-spacing:.8px;padding:0;text-transform:uppercase}.status-active{color:#5a9a6a}.status-active:before{background:#4ade80;border-radius:50%;box-shadow:0 0 6px #4ade804d;content:"";flex-shrink:0;height:6px;width:6px}.status-inactive{color:#8a5a5a}.status-inactive:before{background:#6b6560;border-radius:50%;content:"";flex-shrink:0;height:6px;width:6px}.actions-cell{min-width:140px}.user-actions{display:flex;flex-direction:column;gap:4px}.action-btn{background:#ffffff08;border:none;border-radius:6px;color:#6b6560;cursor:pointer;font-size:11px;font-weight:600;letter-spacing:.8px;padding:6px 14px;text-transform:uppercase;transition:all .2s ease}.action-btn:hover{background:#ffffff0f;color:#a09a93}.btn-activate{color:#5a9a6a}.btn-activate:hover{background:#4ade800f;color:#4ade80}.btn-deactivate{color:#a09a93}.btn-deactivate:hover{background:#ffffff0d;color:#e8e4df}.btn-delete{color:#8a5a5a}.btn-delete:hover{background:#ef44440f;color:#f87171}.no-actions{color:#3d3a37;font-size:11px;font-style:italic}.no-users{color:#4a4540;font-size:15px;padding:60px;text-align:center}.section-description{background:#ffffff05;border-left:3px solid #e8e4df1a;border-radius:10px;margin-bottom:20px;padding:14px 18px}.section-description p{color:#6b6560;font-size:13px;margin:0}.pending-users-section{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.no-pending-users{background:#4ade8008;border:1px dashed #4ade801a;border-radius:14px;padding:60px 20px;text-align:center}.no-pending-users .empty-icon{display:block;font-size:36px;margin-bottom:14px;opacity:.5}.no-pending-users p{color:#5a9a6a;font-size:14px;margin:0}.pending-users-list{display:flex;flex-direction:column;gap:10px}.pending-user-card{align-items:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff05;border:1px solid #ffffff0a;border-radius:12px;display:flex;justify-content:space-between;padding:20px 22px;transition:all .2s ease}.pending-user-card:hover{background:#ffffff08;border-color:#ffffff0f}.pending-user-info{flex:1 1}.pending-user-name{align-items:center;display:flex;gap:10px;margin-bottom:4px}.pending-user-name strong{color:#e8e4df;font-size:14px}.pending-role-badge{background:#94a3b80f;border-radius:5px;color:#6b6560;font-size:9px;font-weight:700;letter-spacing:1px;padding:2px 8px;text-transform:uppercase}.pending-user-email{color:#6b6560;font-size:13px;margin-bottom:2px}.pending-user-date{color:#4a4540;font-size:11px}.pending-user-actions{display:flex;gap:8px}.approve-btn{background:#4ade8014;border:1px solid #4ade801a;border-radius:8px;color:#5a9a6a;cursor:pointer;font-size:12px;font-weight:600;letter-spacing:.3px;padding:9px 18px;transition:all .2s ease}.approve-btn:hover{background:#4ade801f;border-color:#4ade8033;color:#4ade80}.reject-btn{background:#ef44440d;border:1px solid #ef444414;border-radius:8px;color:#8a5a5a;cursor:pointer;font-size:12px;font-weight:600;padding:9px 18px;transition:all .2s ease}.reject-btn:hover{background:#ef444414;border-color:#ef444426;color:#f87171}.modal-overlay{animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0009}.approval-modal{animation:slideUp .3s ease;-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);background:linear-gradient(145deg,#1e1b18f2,#12100efa);border:1px solid #ffffff0d;border-radius:16px;box-shadow:0 30px 80px #00000080,inset 0 1px 0 #ffffff0a;max-width:460px;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.modal-header{background:#00000026;border-bottom:1px solid #ffffff0a;padding:20px 24px}.modal-header h3{color:#e8e4df;font-size:16px;font-weight:600}.modal-close{align-items:center;background:none;border:none;border-radius:8px;color:#4a4540;cursor:pointer;display:flex;font-size:20px;height:30px;justify-content:center;padding:0;transition:all .2s;width:30px}.modal-close:hover{background:#ffffff0a;color:#a09a93}.modal-body{padding:24px}.modal-body>p{color:#6b6560;font-size:13px;margin:0 0 20px}.platform-checkboxes{display:flex;gap:12px}.platform-checkbox{align-items:center;background:#ffffff05;border:1px solid #ffffff0a;border-radius:10px;cursor:pointer;display:flex;flex:1 1;padding:16px 18px;transition:all .2s ease}.platform-checkbox:hover{background:#ffffff0a;border-color:#ffffff14}.platform-checkbox.selected{background:#4ade8014;border-color:#4ade8059;box-shadow:inset 0 0 0 1px #4ade8026}.platform-checkbox.selected .checkbox-label{color:#4ade80}.platform-checkbox input[type=checkbox]{display:none}.checkbox-label{align-items:center;color:#a09a93;display:flex;font-size:14px;font-weight:600;gap:10px}.platform-icon{font-size:20px;opacity:.7}.platform-hint{color:#8a5a5a;font-size:12px;margin:16px 0 0;text-align:center}.modal-footer{background:#00000026;border-radius:0 0 16px 16px;border-top:1px solid #ffffff0a;display:flex;gap:10px;justify-content:flex-end;padding:18px 24px}.modal-cancel-btn{background:#ffffff08;border:1px solid #ffffff0f;border-radius:8px;color:#6b6560;cursor:pointer;font-size:13px;font-weight:600;padding:9px 18px;transition:all .2s}.modal-cancel-btn:hover{background:#ffffff0d;color:#a09a93}.modal-approve-btn{background:#4ade801a;border:1px solid #4ade801f;border-radius:8px;color:#5a9a6a;cursor:pointer;font-size:13px;font-weight:600;padding:9px 22px;transition:all .2s}.modal-approve-btn:hover:not(:disabled){background:#4ade8026;color:#4ade80}.modal-approve-btn:disabled{cursor:not-allowed;opacity:.35}.tokens-section{animation:fadeIn .3s ease}.generate-token-section{margin-bottom:28px}.generate-token-btn{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff0a;border:1px solid #ffffff0f;border-radius:10px;color:#a09a93;cursor:pointer;font-size:13px;font-weight:600;letter-spacing:.3px;padding:12px 22px;transition:all .25s ease}.generate-token-btn:hover{background:#ffffff12;border-color:#ffffff1a;color:#e8e4df}.generated-token-display{background:#4ade8008;border:1px solid #4ade8014;border-radius:12px;margin-top:18px;padding:20px}.generated-token-display .token-label{color:#5a9a6a;font-size:13px;font-weight:600;margin-bottom:12px}.generated-token-display .token-value{align-items:center;display:flex;gap:10px;margin-bottom:10px}.generated-token-display .token-value code{background:#0000004d;border:1px solid #ffffff0a;border-radius:8px;color:#a09a93;flex:1 1;font-family:SF Mono,Monaco,Menlo,monospace;font-size:12px;padding:10px 14px;word-break:break-all}.copy-btn{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:7px;color:#6b6560;cursor:pointer;font-size:12px;font-weight:600;padding:8px 14px;transition:all .2s ease;white-space:nowrap}.copy-btn:hover{background:#ffffff12;color:#a09a93}.generated-token-display small{color:#4a4540;font-size:12px}.tokens-history{margin-top:28px}.tokens-history h4{color:#a09a93;font-size:15px;font-weight:600;margin-bottom:14px}.no-tokens{color:#4a4540;font-size:13px;font-style:italic}.tokens-table{background:linear-gradient(145deg,#1e1b18d9,#161412eb);border:1px solid #ffffff0a;border-collapse:collapse;border-radius:14px;box-shadow:0 10px 40px #0000004d;overflow:hidden;width:100%}.tokens-table th{background:#ffffff05;border-bottom:1px solid #ffffff0a;color:#6b6560;font-size:10px;font-weight:700;letter-spacing:1.2px;padding:14px 16px;text-align:left;text-transform:uppercase}.tokens-table td{border-bottom:1px solid hsla(0,0%,100%,.025);color:#a09a93;font-size:13px;padding:14px 16px}.tokens-table tbody tr:last-child td{border-bottom:none}.tokens-table .token-inactive{opacity:.4}.token-cell{align-items:center;display:flex;gap:8px}.token-cell code{background:#0003;border-radius:5px;color:#8a8480;font-family:SF Mono,Monaco,Menlo,monospace;font-size:11px;padding:3px 8px}.copy-btn-small{background:none;border:none;cursor:pointer;font-size:13px;opacity:.4;padding:3px;transition:opacity .2s}.copy-btn-small:hover{opacity:.8}.token-status{border-radius:6px;display:inline-block;font-size:10px;font-weight:700;letter-spacing:.8px;padding:3px 10px;text-transform:uppercase}.token-status.active{background:#4ade8014;color:#5a9a6a}.token-status.used{background:#94a3b80f;color:#6b6560}.token-status.expired{background:#ef44440f;color:#8a5a5a}@media (max-width:1200px){.users-table-container{overflow-x:auto}}@media (max-width:768px){.user-management{padding:16px 12px}.user-management-header{align-items:flex-start;flex-direction:column;gap:12px}.users-table{min-width:900px}.users-table td,.users-table th{font-size:12px;padding:12px 10px}.user-actions{gap:3px}.action-btn{font-size:10px;padding:5px 10px}.pending-user-card{align-items:flex-start;gap:14px}.pending-user-card,.platform-checkboxes{flex-direction:column}}@media (max-width:480px){.user-management-header h2{font-size:22px}.tab-btn{font-size:12px;padding:10px 14px}}.test-reports-dashboard{background:#f8fafc;min-height:100vh;padding:20px}.dashboard-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.header-left{gap:16px}.back-btn{background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s}.back-btn:hover{background:#f1f5f9}.dashboard-header h1{color:#1e293b;font-size:28px;margin:0}.export-btn{background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .2s}.export-btn:hover{background:#1d4ed8}.legacy-reports-section{border-top:2px dashed #cbd5e1;margin-top:40px;padding-top:30px}.legacy-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.legacy-section-header h3{color:#475569;font-size:20px;margin:0}.legacy-section-note{color:#64748b;font-size:13px;font-style:italic}.legacy-card{border-left:4px solid #94a3b8;opacity:.95}.legacy-badge{background:linear-gradient(135deg,#94a3b8,#64748b);border-radius:12px;font-size:12px;font-weight:600;padding:4px 10px}.legacy-note{background:#f1f5f9;border-left:3px solid #3b82f6;border-radius:4px;color:#475569;font-size:13px;margin:12px 0;padding:10px 12px}.parse-pdf-btn{background:linear-gradient(135deg,#8b5cf6,#6366f1);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;margin-top:12px;padding:10px 18px;transition:all .2s;width:100%}.parse-pdf-btn:hover{background:linear-gradient(135deg,#7c3aed,#4f46e5);box-shadow:0 4px 12px #8b5cf64d;transform:translateY(-1px)}.export-btn:hover:not(:disabled){background:#1d4ed8}.export-btn:disabled{cursor:not-allowed;opacity:.5}.filters-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px;padding:20px}.filters-section h3{color:#1e293b;font-size:18px;margin:0 0 16px}.filters-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:16px}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-group label{color:#64748b;font-size:13px;font-weight:600}.filter-group input[type=date],.filter-group input[type=text],.filter-group select{border:1px solid #e2e8f0;border-radius:6px;font-size:14px;padding:8px 12px;transition:all .2s}.filter-group input:focus,.filter-group select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.checkbox-group label{align-items:center;color:#475569;cursor:pointer;display:flex;font-weight:500;gap:8px}.checkbox-group input[type=checkbox]{cursor:pointer;height:16px;width:16px}.filter-actions{display:flex;gap:12px}.apply-btn,.clear-btn{border:none;border-radius:8px;cursor:pointer;font-weight:600;padding:10px 24px;transition:all .2s}.apply-btn{background:#2563eb;color:#fff}.apply-btn:hover{background:#1d4ed8}.clear-btn{background:#f1f5f9;color:#64748b}.clear-btn:hover{background:#e2e8f0}.stats-widgets{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px}.stat-card{background:#fff;box-shadow:0 1px 3px #0000001a;gap:16px;padding:20px}.stat-card,.stat-icon{align-items:center;border-radius:12px;display:flex}.stat-icon{font-size:24px;height:48px;justify-content:center;width:48px}.stat-icon.reports{background:#dbeafe}.stat-icon.tests{background:#e0f2fe}.stat-icon.pass{background:#dcfce7}.stat-icon.critical{background:#fee2e2}.stat-icon.blocker{background:#fef3c7}.stat-content{flex:1 1}.stat-value{color:#1e293b;font-size:28px;font-weight:700;line-height:1;margin-bottom:4px}.stat-label{color:#64748b;font-size:13px;font-weight:500}.trends-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px;padding:24px}.trends-section h3{color:#1e293b;font-size:18px;margin:0 0 20px}.reports-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px}.reports-section h3{color:#1e293b;font-size:18px;margin:0 0 20px}.no-reports{color:#94a3b8;font-size:16px;padding:40px;text-align:center}.report-card{border:1px solid #e2e8f0;border-radius:12px;margin-bottom:16px;overflow:hidden;transition:all .2s}.report-card:hover{box-shadow:0 4px 6px #0000000d}.report-header{background:#f8fafc;cursor:pointer;padding:16px 20px;transition:background .2s}.report-header:hover{background:#f1f5f9}.report-title{align-items:center;display:flex;gap:12px;margin-bottom:8px}.report-title h4{color:#1e293b;font-size:16px;margin:0}.version-badge{border-radius:12px;font-size:11px;font-weight:600;padding:4px 12px;text-transform:uppercase}.version-badge.production{background:#fee2e2;color:#dc2626}.version-badge.uat{background:#dbeafe;color:#2563eb}.archived-badge{background:#f1f5f9;border-radius:12px;color:#64748b;font-size:11px;font-weight:600;padding:4px 12px}.report-meta{color:#64748b;display:flex;font-size:13px;gap:20px}.report-stats-bar{background:#fff;border-top:1px solid #e2e8f0;display:flex;gap:24px;padding:12px 20px}.stat-item{align-items:center;display:flex;flex-direction:column;gap:4px}.stat-number{color:#1e293b;font-size:20px;font-weight:700}.stat-text{color:#64748b;font-size:11px;font-weight:600;text-transform:uppercase}.stat-item.passed .stat-number{color:#22c55e}.stat-item.failed .stat-number{color:#ef4444}.stat-item.critical .stat-number{color:#dc2626}.stat-item.blocker .stat-number{color:#ea580c}.stat-item.pass-rate .stat-number{color:#2563eb}.report-details{background:#fafbfc;border-top:1px solid #e2e8f0;padding:20px}.report-details h5{color:#1e293b;font-size:15px;margin:0 0 16px}.test-cases-list{display:flex;flex-direction:column;gap:12px}.test-case-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:12px 16px}.test-case-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.test-case-info{align-items:center;display:flex;flex:1 1;gap:8px}.severity-badge,.status-badge{border-radius:12px;color:#fff;font-size:10px;font-weight:700;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.test-case-name{color:#1e293b;font-size:14px;font-weight:500}.section-tag{background:#f1f5f9;border-radius:12px;color:#64748b;font-size:12px;padding:4px 12px}.test-case-findings{background:#f8fafc;border-radius:6px;color:#475569;font-size:13px;line-height:1.5;margin-top:8px;padding:8px 12px}.test-case-attachment{align-items:center;color:#2563eb;display:flex;font-size:12px;gap:4px;margin-top:8px}.loading{color:#64748b;font-size:16px;padding:60px 20px;text-align:center}.access-denied{padding:100px 20px;text-align:center}.access-denied h2{color:#dc2626;margin-bottom:8px}.access-denied p{color:#64748b}@media (max-width:768px){.filters-grid,.stats-widgets{grid-template-columns:1fr}.report-stats-bar{flex-wrap:wrap;gap:12px}.test-case-header{align-items:flex-start;flex-direction:column;gap:8px}}.legacy-badge{background:#8b5cf6;border-radius:4px;color:#fff;font-size:.75rem;font-weight:500;margin-left:.5rem;padding:.25rem .5rem}.legacy-report-info{background:linear-gradient(135deg,#fef3c7,#fde68a);border-left:4px solid #f59e0b;border-radius:8px;margin:1rem 0;padding:1.5rem}.legacy-header{align-items:flex-start;border-bottom:1px solid #fbbf24;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.legacy-title{color:#92400e;font-size:1rem;font-weight:600;margin:0 0 .5rem}.legacy-filename{background:#ffffff80;border-radius:4px;color:#78350f;display:inline-block;font-family:Monaco,Courier New,monospace;font-size:.85rem;margin:0;padding:.25rem .5rem}.download-pdf-btn{background:#f59e0b;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem 1rem;transition:all .2s;white-space:nowrap}.download-pdf-btn:hover{background:#d97706;box-shadow:0 4px 6px #0000001a;transform:translateY(-1px)}.legacy-details{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:1rem}.legacy-detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-label{color:#92400e;font-size:.75rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.detail-value{color:#78350f;font-size:.9rem;font-weight:500}.legacy-report-info p{font-size:.9rem;margin:.5rem 0}.legacy-note{background:#fff9;border-radius:6px;color:#92400e;font-size:.85rem;font-style:italic;line-height:1.5;margin-top:1rem!important;padding:.75rem}.auth-container{align-items:center;background:#08090c;display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:20px;position:relative}.auth-orbs{inset:0;pointer-events:none;position:absolute;z-index:0}.auth-orb{animation:orbFloat 12s ease-in-out infinite;border-radius:50%;filter:blur(80px);opacity:.5;position:absolute}.auth-orb--amber{animation-duration:14s;background:radial-gradient(circle,#f59e0b 0,#0000 70%);height:420px;left:-8%;top:-10%;width:420px}.auth-orb--ember{animation-delay:-4s;animation-duration:18s;background:radial-gradient(circle,#ef4444 0,#0000 70%);bottom:-12%;height:350px;right:-6%;width:350px}.auth-orb--warm{animation-delay:-8s;animation-duration:16s;background:radial-gradient(circle,#d97706 0,#0000 70%);height:280px;left:55%;opacity:.3;top:50%;transform:translate(-50%,-50%);width:280px}.auth-orb--rose{animation-delay:-6s;animation-duration:20s;background:radial-gradient(circle,#dc2626 0,#0000 70%);height:300px;left:20%;opacity:.25;top:70%;width:300px}.auth-orb--gold{animation-delay:-10s;animation-duration:15s;background:radial-gradient(circle,#eab308 0,#0000 70%);height:240px;left:auto;opacity:.3;right:10%;top:15%;width:240px}@keyframes orbFloat{0%,to{transform:translate(0) scale(1)}25%{transform:translate(30px,-40px) scale(1.08)}50%{transform:translate(-20px,20px) scale(.95)}75%{transform:translate(15px,35px) scale(1.05)}}.auth-pulse-rings{inset:0;overflow:hidden;pointer-events:none;position:absolute;z-index:0}.auth-pulse-ring{animation:pulseExpand ease-out infinite;border:1px solid #f59e0b14;border-radius:50%;position:absolute}.auth-pulse-ring:first-child{animation-delay:0s;animation-duration:6s;height:200px;left:15%;top:20%;width:200px}.auth-pulse-ring:nth-child(2){animation-delay:-2s;animation-duration:7s;border-color:#ef44440f;height:160px;left:auto;right:10%;top:60%;width:160px}.auth-pulse-ring:nth-child(3){animation-delay:-4s;animation-duration:8s;border-color:#d977060f;bottom:15%;height:260px;left:50%;width:260px}.auth-pulse-ring:nth-child(4){animation-delay:-1s;animation-duration:5s;height:140px;left:auto;right:25%;top:40%;width:140px}.auth-pulse-ring:nth-child(5){animation-delay:-3s;animation-duration:9s;border-color:#ef44440d;height:180px;left:60%;top:10%;width:180px}.auth-pulse-ring:nth-child(6){animation-delay:-5s;animation-duration:7.5s;border-color:#eab3080d;bottom:30%;height:220px;left:5%;width:220px}@keyframes pulseExpand{0%{opacity:.8;transform:scale(.3)}to{opacity:0;transform:scale(3)}}.auth-grid-overlay{background-image:linear-gradient(hsla(0,0%,100%,.012) 1px,#0000 0),linear-gradient(90deg,hsla(0,0%,100%,.012) 1px,#0000 0);background-size:60px 60px;inset:0;pointer-events:none;position:absolute;z-index:1}.auth-card{animation:cardReveal .6s cubic-bezier(.16,1,.3,1);backdrop-filter:blur(40px) saturate(1.2);-webkit-backdrop-filter:blur(40px) saturate(1.2);background:#ffffff08;border:1px solid #ffffff0f;border-radius:20px;box-shadow:inset 0 1px 0 #ffffff0a,0 30px 80px #00000080;max-width:440px;padding:44px 40px;position:relative;width:100%;z-index:2}@keyframes cardReveal{0%{filter:blur(4px);opacity:0;transform:translateY(24px) scale(.97)}to{filter:blur(0);opacity:1;transform:translateY(0) scale(1)}}.auth-card:before{background:linear-gradient(90deg,#0000,#f59e0b66,#ef44444d,#0000);content:"";height:1px;left:40px;position:absolute;right:40px;top:0}.auth-header{margin-bottom:32px;text-align:center}.auth-brand{gap:10px;margin-bottom:24px}.auth-brand,.auth-brand-icon{align-items:center;display:flex;justify-content:center}.auth-brand-icon{background:linear-gradient(135deg,#f59e0b,#ef4444);border-radius:10px;box-shadow:0 4px 16px #f59e0b4d;height:36px;width:36px}.auth-brand-name{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fbbf24,#f59e0b 50%,#ef4444);-webkit-background-clip:text;background-clip:text;font-size:20px;font-weight:800;letter-spacing:3px;text-transform:uppercase}.auth-header h2{color:#e8e4df;font-size:22px;font-weight:600;margin:0 0 6px}.auth-header p{color:#6b6560;font-size:14px;margin:0}.auth-header h1{display:none}.auth-form{gap:18px}.auth-form,.form-group{display:flex;flex-direction:column}.form-group{gap:6px}.form-group label{color:#8a8480;font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase}.form-input,.form-select{background:#ffffff08;border:1px solid #ffffff0f;border-radius:10px;color:#e8e4df;font-family:inherit;font-size:15px;padding:13px 16px;transition:all .25s ease}.form-input::placeholder{color:#4a4540}.form-input:focus,.form-select:focus{background:#ffffff0d;border-color:#f59e0b4d;box-shadow:0 0 0 3px #f59e0b0f;outline:none}.form-input:disabled,.form-select:disabled{cursor:not-allowed;opacity:.4}.form-select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b6560' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;cursor:pointer;padding-right:36px}.form-select option{background:#1a1714;color:#e8e4df}.role-description{margin-top:4px}.role-description small{color:#4a4540;font-size:12px}.field-hint{color:#4a4540;display:block;font-size:11px;margin-top:6px}.auth-card .error-message,.auth-form .error-message{align-items:center;background:#ef444414;border:1px solid #ef44441f;border-radius:10px;color:#f87171;display:flex;font-size:13px;gap:8px;margin-bottom:4px;padding:11px 14px}.error-icon{font-size:14px}.auth-button{align-items:center;border:none;border-radius:12px;cursor:pointer;display:flex;font-size:15px;font-weight:700;gap:8px;justify-content:center;letter-spacing:.5px;margin-top:6px;overflow:hidden;padding:14px 20px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.auth-button.primary{background:linear-gradient(135deg,#f59e0b,#ef4444);box-shadow:0 4px 20px #f59e0b40;color:#fff}.auth-button.primary:after{background:linear-gradient(135deg,#ffffff26,#0000 50%);content:"";inset:0;opacity:0;position:absolute;transition:opacity .3s}.auth-button.primary:hover:not(:disabled){box-shadow:0 8px 30px #f59e0b59;transform:translateY(-2px)}.auth-button.primary:hover:not(:disabled):after{opacity:1}.auth-button.primary:active:not(:disabled){transform:translateY(0)}.auth-button:disabled{box-shadow:none;cursor:not-allowed;opacity:.35;transform:none}.loading-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-top-color:#fff;height:16px;width:16px}.auth-footer{border-top:1px solid #ffffff0a;margin-top:28px;padding-top:20px;text-align:center}.auth-footer p{color:#6b6560;font-size:13px;margin:0}.link-button{background:none;border:none;color:#f59e0b;cursor:pointer;font-size:inherit;font-weight:700;padding:0;text-decoration:none;transition:color .2s ease}.link-button:hover:not(:disabled){color:#fbbf24}.link-button:disabled{cursor:not-allowed;opacity:.4}.pending-approval-message{background:#f59e0b0a;border:1px solid #f59e0b14;border-radius:14px;margin-bottom:20px;padding:30px 20px;text-align:center}.pending-approval-message .pending-icon{display:block;font-size:40px;margin-bottom:14px}.pending-approval-message h3{color:#f59e0b;font-size:18px;font-weight:700;margin:0 0 14px}.pending-approval-message p{color:#8a8480;font-size:13px;line-height:1.7;margin:0 0 10px}.pending-approval-message p:last-child{margin-bottom:0}.auth-particles{inset:0;overflow:hidden;pointer-events:none;position:absolute;z-index:1}.auth-particle{animation:particleDrift linear infinite;background:#f59e0b66;border-radius:50%;height:2px;position:absolute;width:2px}.auth-particle:first-child{animation-delay:0s;animation-duration:16s;bottom:-5%;height:3px;left:3%;width:3px}.auth-particle:nth-child(2){animation-delay:-3s;animation-duration:22s;bottom:-5%;left:8%}.auth-particle:nth-child(3){animation-delay:-7s;animation-duration:18s;background:#ef444459;bottom:-5%;height:3px;left:13%;width:3px}.auth-particle:nth-child(4){animation-delay:-1s;animation-duration:25s;bottom:-5%;left:18%}.auth-particle:nth-child(5){animation-delay:-9s;animation-duration:20s;background:#d9770659;bottom:-5%;height:3px;left:23%;width:3px}.auth-particle:nth-child(6){animation-delay:-5s;animation-duration:17s;bottom:-5%;left:28%}.auth-particle:nth-child(7){animation-delay:-12s;animation-duration:23s;background:#ef44444d;bottom:-5%;left:33%}.auth-particle:nth-child(8){animation-delay:-2s;animation-duration:19s;bottom:-5%;height:3px;left:38%;width:3px}.auth-particle:nth-child(9){animation-delay:-8s;animation-duration:26s;background:#eab3084d;bottom:-5%;left:43%}.auth-particle:nth-child(10){animation-delay:-14s;animation-duration:15s;bottom:-5%;height:3px;left:48%;width:3px}.auth-particle:nth-child(11){animation-delay:-4s;animation-duration:21s;bottom:-5%;left:53%}.auth-particle:nth-child(12){animation-delay:-10s;animation-duration:24s;background:#d977064d;bottom:-5%;height:3px;left:58%;width:3px}.auth-particle:nth-child(13){animation-delay:-6s;animation-duration:18s;bottom:-5%;left:63%}.auth-particle:nth-child(14){animation-delay:-13s;animation-duration:22s;background:#ef44444d;bottom:-5%;left:68%}.auth-particle:nth-child(15){animation-delay:-1s;animation-duration:16s;bottom:-5%;height:3px;left:73%;width:3px}.auth-particle:nth-child(16){animation-delay:-7s;animation-duration:27s;bottom:-5%;left:78%}.auth-particle:nth-child(17){animation-delay:-11s;animation-duration:19s;background:#eab30859;bottom:-5%;height:3px;left:83%;width:3px}.auth-particle:nth-child(18){animation-delay:-3s;animation-duration:21s;bottom:-5%;left:88%}.auth-particle:nth-child(19){animation-delay:-9s;animation-duration:17s;background:#ef444440;bottom:-5%;left:93%}.auth-particle:nth-child(20){animation-delay:-15s;animation-duration:24s;bottom:-5%;height:3px;left:97%;width:3px}.auth-particle:nth-child(21){animation-delay:-6s;animation-duration:20s;background:#d977064d;bottom:-5%;left:5%}.auth-particle:nth-child(22){animation-delay:-2s;animation-duration:28s;bottom:-5%;left:16%}.auth-particle:nth-child(23){animation-delay:-10s;animation-duration:15s;background:#eab30859;bottom:-5%;height:3px;left:31%;width:3px}.auth-particle:nth-child(24){animation-delay:-4s;animation-duration:23s;bottom:-5%;left:41%}.auth-particle:nth-child(25){animation-delay:-13s;animation-duration:18s;background:#ef44444d;bottom:-5%;height:3px;left:56%;width:3px}.auth-particle:nth-child(26){animation-delay:-8s;animation-duration:25s;bottom:-5%;left:66%}.auth-particle:nth-child(27){animation-delay:-11s;animation-duration:16s;background:#f59e0b59;bottom:-5%;left:76%}.auth-particle:nth-child(28){animation-delay:-5s;animation-duration:22s;bottom:-5%;height:3px;left:86%;width:3px}.auth-particle:nth-child(29){animation-delay:-14s;animation-duration:19s;background:#d977064d;bottom:-5%;left:46%}.auth-particle:nth-child(30){animation-delay:-7s;animation-duration:26s;background:#eab3084d;bottom:-5%;height:3px;left:11%;width:3px}@keyframes particleDrift{0%{opacity:0;transform:translateY(0) translateX(0)}5%{opacity:1}95%{opacity:1}to{opacity:0;transform:translateY(-110vh) translateX(30px)}}.auth-mouse-glow{background:radial-gradient(circle,#f59e0b0f 0,#0000 70%);border-radius:50%;height:500px;opacity:0;pointer-events:none;position:absolute;transform:translate(-50%,-50%);transition:transform .3s ease-out,opacity .3s;width:500px;z-index:1}.auth-container:hover .auth-mouse-glow{opacity:1}@media (max-width:480px){.auth-container{padding:12px}.auth-card{border-radius:16px;padding:32px 24px}.auth-card:before{left:24px;right:24px}.auth-header h2{font-size:20px}.auth-brand-name{font-size:17px}.auth-button,.form-input,.form-select{font-size:16px}.auth-orb--amber{height:250px;width:250px}.auth-orb--ember{height:200px;width:200px}.auth-orb--warm{height:180px;width:180px}}.app{background-color:#0f172a;display:flex;flex-direction:column;margin:0;min-height:100vh;padding:0}.app-header{background-color:#343a40;box-shadow:0 2px 4px #0000001a;color:#fff;padding:15px 0}.header-content{justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 20px}.header-content,.header-left{align-items:center;display:flex}.header-left{gap:30px}.header-content h1{font-size:1.8rem;font-weight:600;margin:0}.main-navigation{background:#ffffff1a;border-radius:6px;display:flex;gap:4px;padding:2px}.nav-button{background:#0000;border:none;border-radius:4px;color:#ffffffb3;cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 16px;transition:all .2s;white-space:nowrap}.nav-button.active{background:#fff3;color:#fff}.nav-button:hover:not(.active){background:#ffffff1a;color:#ffffffe6}.back-button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:background-color .2s}.back-button:hover{background-color:#0056b3}.platform-navigation{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.view-tabs{background:#ffffff1a;border-radius:6px;display:flex;gap:4px;padding:2px}.tab-button{background:#0000;border:none;border-radius:4px;color:#ffffffb3;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:all .2s;white-space:nowrap}.tab-button.active{background:#fff3;color:#fff}.tab-button:hover:not(.active){background:#ffffff1a;color:#ffffffe6}.app-main{flex:1 1;padding:0}.platform-view{margin:0 auto;max-width:1200px;padding:0 20px}.audit-view,.traceability-view{margin-top:20px}.platform-header{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;margin-bottom:30px;padding:20px}.platform-header h2{color:#333;font-size:1.6rem;margin:0}.platform-stats{display:flex;gap:20px}.stat{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;color:#495057;font-size:.9rem;font-weight:500;padding:8px 12px}.app-footer{background-color:#343a40;color:#fff;margin-top:auto;padding:20px 0}.footer-content{align-items:center;display:flex;font-size:.9rem;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 20px}.footer-content p{margin:0}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.file-upload-modal{background:#fff;border-radius:8px;box-shadow:0 4px 8px #0003;max-height:80vh;max-width:500px;overflow-y:auto;width:90%}.modal-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:20px}.modal-header h3{color:#333;margin:0}.close-button{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:1.5rem;height:30px;justify-content:center;padding:0;transition:background-color .2s;width:30px}.close-button:hover{background-color:#f8f9fa;color:#333}.global-loading-overlay{background-color:#000000b3}.global-loading-content{box-shadow:0 4px 12px #0000004d;min-width:200px}.global-loading-content p{color:#333;font-weight:500;margin:0}.notifications-container{z-index:1050}.notification{animation:slideIn .3s ease-out;border-radius:6px;box-shadow:0 4px 8px #00000026;padding:12px 16px;transition:all .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.notification:hover{box-shadow:0 6px 12px #0003;transform:translateY(-2px)}.notification-success{background-color:#d4edda;border-left:4px solid #28a745;color:#155724}.notification-error{background-color:#f8d7da;border-left:4px solid #dc3545;color:#721c24}.notification-warning{background-color:#fff3cd;border-left:4px solid #ffc107;color:#856404}.notification-info{background-color:#d1ecf1;border-left:4px solid #17a2b8;color:#0c5460}.notification-icon{font-size:1.1rem}.notification-message{font-size:.9rem;font-weight:500}.notification-close{align-items:center;border-radius:50%;color:inherit;display:flex;font-size:1.2rem;height:20px;justify-content:center;opacity:.7;transition:all .2s;width:20px}.notification-close:hover{background-color:#0000001a;opacity:1}.network-status{align-items:center;border-radius:20px;box-shadow:0 2px 8px #00000026;display:flex;font-size:.85rem;font-weight:500;gap:6px;left:50%;padding:8px 16px;top:80px;transform:translateX(-50%);z-index:1040}.network-status.offline{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.status-icon{font-size:1rem}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}#root,body,html{margin:0;padding:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.mb-5{margin-bottom:3rem}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.mt-5{margin-top:3rem}@media (max-width:768px){.header-content{flex-direction:column;gap:15px;text-align:center}.header-content h1{font-size:1.5rem}.platform-navigation{align-items:stretch;flex-direction:column;gap:12px}.view-tabs{justify-content:center}.tab-button{flex:1 1;text-align:center}.platform-header{flex-direction:column;gap:15px;text-align:center}.platform-stats{flex-direction:column;gap:10px;width:100%}.footer-content,.stat{text-align:center}.footer-content{flex-direction:column;gap:10px}.file-upload-modal{margin:10px;width:95%}}.app-loading{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:100vh}.loading-spinner-large{animation:spin 1s linear infinite;border:4px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:60px;margin-bottom:20px;width:60px}.app-loading p{font-size:18px;font-weight:500;margin:0}.header-actions{gap:16px}.header-actions,.user-info{align-items:center;display:flex}.user-info{font-size:.9rem;gap:12px}.user-name{color:#fff;font-weight:600}.user-role{border-radius:12px;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.role-super-admin{background-color:#e53e3e;color:#fff}.role-admin{background-color:#3182ce;color:#fff}.role-user{background-color:#38a169;color:#fff}.logout-button{background-color:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;padding:8px 16px;transition:all .2s ease}.logout-button:hover{background-color:#c82333;transform:translateY(-1px)}.global-loading-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.global-loading-content{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;padding:30px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#007bff;height:40px;margin:0 auto 16px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.notifications-container{display:flex;flex-direction:column;gap:10px;max-width:400px;position:fixed;right:20px;top:20px;z-index:10000}.notification{align-items:center;animation:slideInRight .3s ease-out;background:#fff;border-left:4px solid;border-radius:8px;box-shadow:0 4px 12px #00000026;cursor:pointer;display:flex;justify-content:space-between;padding:16px}.notification-success{border-left-color:#28a745}.notification-error{border-left-color:#dc3545}.notification-warning{border-left-color:#ffc107}.notification-info{border-left-color:#17a2b8}.notification-content{align-items:center;display:flex;flex:1 1;gap:8px}.notification-icon{font-size:16px;font-weight:700}.notification-success .notification-icon{color:#28a745}.notification-error .notification-icon{color:#dc3545}.notification-warning .notification-icon{color:#ffc107}.notification-info .notification-icon{color:#17a2b8}.notification-message{color:#333;font-size:14px}.notification-close{background:none;border:none;color:#999;cursor:pointer;font-size:18px;margin-left:8px;padding:0}.notification-close:hover{color:#666}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.network-status{background-color:#ffc107;color:#212529;font-size:14px;left:0;padding:8px;position:fixed;right:0;text-align:center;top:0;z-index:9998}.network-status.offline{background-color:#dc3545;color:#fff}.status-icon{margin-right:8px}@media (max-width:768px){.header-content,.header-left{align-items:flex-start;flex-direction:column;gap:16px}.header-left{width:100%}.header-actions{align-self:flex-end}.main-navigation{justify-content:center;width:100%}.nav-button{flex:1 1;text-align:center}.platform-navigation{align-items:flex-start;flex-direction:column;gap:12px;width:100%}.notifications-container{left:20px;max-width:none;right:20px}}
/*# sourceMappingURL=main.7b62a2e0.css.map*/