body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#f5f5f5;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6}.app{display:flex;flex-direction:column;min-height:100vh}.app-header{align-items:center;background-color:#0078d4;box-shadow:0 2px 4px #0000001a;color:#fff;display:flex;height:60px;justify-content:space-between;padding:0 20px}.logo{font-size:20px;font-weight:700}nav ul{display:flex;list-style:none}nav ul li{margin-left:20px}nav ul li.active{border-bottom:3px solid #fff}nav ul li a{color:#fff;display:inline-block;font-weight:500;padding:20px 0;text-decoration:none}nav ul li a:hover{opacity:.9}.main-content{background-color:#f5f5f5;flex:1 1;padding:20px}footer{background-color:#333;color:#fff;font-size:14px;padding:15px;text-align:center}.dashboard{margin:0 auto;max-width:1200px}.card-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-top:30px}.feature-card{padding:25px}.feature-card:hover{box-shadow:0 5px 15px #0000001a}.card-icon{font-size:32px;margin-bottom:15px}.license-icon{color:#0078d4}.user-icon{color:#107c10}.feature-card h2{color:#333;margin-bottom:15px}.feature-card p{color:#666;margin-bottom:20px}.feature-card ul{margin-bottom:20px;padding-left:20px}.feature-card ul li{color:#666;margin-bottom:8px}.card-button{background-color:#0078d4;border-radius:4px;padding:10px 20px}.card-button:hover{background-color:#106ebe}.system-status{margin:20px 0 30px}.status-indicator{border-radius:8px;box-shadow:0 1px 5px #0000001a;padding:15px}.status-good{background-color:#dff6dd;border-left:5px solid #107c10}.status-error{background-color:#fde7e9;border-left:5px solid #d13438}.status-indicator h3{color:#333;margin-bottom:10px}.version{color:#666;font-size:12px;margin-top:5px}@media (max-width:768px){.app-header{flex-direction:column;height:auto;padding:15px}.logo{margin-bottom:10px}nav ul{justify-content:center}nav ul li{margin:0 10px}.card-container{grid-template-columns:1fr}}.loading-spinner-container{align-items:center;display:flex;flex-direction:column;height:100vh;justify-content:center;width:100%}.loading-spinner{animation:spin 1s ease-in-out infinite;border:5px solid #0000001a;border-radius:50%;border-top-color:#0078d4;height:50px;margin-bottom:1rem;width:50px}.loading-spinner-container p{color:#666;font-size:1rem}.unauthorized-container{align-items:center;background-color:#f8f9fa;display:flex;justify-content:center;min-height:100vh;padding:1rem}.unauthorized-content{background-color:#fff;border-radius:8px;box-shadow:0 4px 16px #0000001a;max-width:600px;padding:2rem;text-align:center}.unauthorized-content h1{color:#d83b01;margin-bottom:1.5rem}.user-info{background-color:#f0f0f0;border-radius:4px;margin:2rem 0;padding:1rem;text-align:left}.action-buttons{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.btn{border-radius:4px}.btn-primary{background-color:#0078d4}.btn-primary:hover{background-color:#106ebe}.btn-outline{background-color:initial;border:1px solid #0078d4;color:#0078d4}.btn-outline:hover{background-color:#f0f7ff}.unauthenticated-container{align-items:center;background-color:#f0f0f0;display:flex;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;justify-content:center;min-height:100vh}.unauthenticated-content{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #0000001a;margin:2rem;max-width:500px;padding:3rem;text-align:center}.logo-large{margin-bottom:1.5rem;width:120px}.unauthenticated-content h1{color:#0078d4;font-size:2rem;font-weight:700;margin-bottom:.75rem}.full-title{color:#333;display:block;font-size:1.1rem;font-weight:600;margin-bottom:1rem}.unauthenticated-content p{color:#666;line-height:1.5;margin-bottom:2rem}.login-button{align-items:center;background-color:#0078d4;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;justify-content:center;margin:0 auto;padding:.75rem 1.5rem;transition:background-color .2s ease}.login-button:hover{background-color:#106ebe}.ms-icon{font-size:1.2rem;margin-right:.75rem}.disclaimer{border-top:1px solid #eaeaea;margin-top:3rem;padding-top:1.5rem}.disclaimer p{color:#999;font-size:.8rem;margin-bottom:0}.dashboard-container{background-color:#f5f5f5;display:flex;flex-direction:column;min-height:100vh}.dashboard-header{background:linear-gradient(135deg,#6b46c1,#553c9a);box-shadow:0 4px 20px #6b46c14d;color:#fff;padding:.75rem 1.5rem .5rem;position:sticky;top:0;z-index:1000}.header-top{margin-bottom:.5rem}.header-left{flex:1 1;gap:1rem}.header-left,.logo-container{align-items:center;display:flex}.logo-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;color:#fff;margin-right:.5rem;padding:6px 10px;text-decoration:none;transition:all .2s ease}.logo-container:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.logo{display:block;height:30px}.header-title-container{display:flex;flex-direction:column}.header-title{font-size:1.8rem;font-weight:600;letter-spacing:.5px;line-height:1.2;margin:0}.header-subtitle{font-size:.85rem;font-weight:400;opacity:.9}.header-nav,.user-section{align-items:center;display:flex;gap:1rem}.user-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:10px;padding:.6rem 1rem}.user-email{align-items:center;border-right:1px solid #ffffff4d;color:#fff;display:flex;font-size:.9rem;gap:.5rem;padding-right:1rem}.user-icon-small{font-size:.9rem;opacity:.9}.title-with-time{align-items:center;display:flex}.warning-icon{animation:pulse 2s infinite;color:#f6ad55;margin-right:.5rem}.dashboard-content{flex-grow:1;margin:0 auto;max-width:1200px;padding:2rem;width:100%}.tools-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;margin-bottom:3rem;padding:2rem}.section-header{border-bottom:2px solid #e2e8f0;margin-bottom:2rem;padding-bottom:1rem}.section-icon{font-size:2rem;margin-right:1rem}.microsoft-section .section-icon{color:#00a4ef}.aws-section .section-icon{color:#f90}.section-header h2{color:#2d3748;font-size:1.8rem}.tools-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr);margin-top:20px}.tool-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:inherit;padding:1.5rem;position:relative;text-decoration:none;transition:all .2s}.tool-card:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.tool-card h3{color:#2d3748;font-size:1.4rem;margin:0 0 1rem}.tool-card p{color:#4a5568;line-height:1.5;margin:0}.coming-soon{cursor:not-allowed;opacity:.8}.coming-soon-badge{background-color:#718096;border-radius:9999px;color:#fff;font-size:.8rem;font-weight:500;padding:.5rem 1rem;position:absolute;right:1rem;top:1rem}.dashboard-footer{background:linear-gradient(135deg,#1a202c,#2d3748 50%,#4a5568);color:#fff;margin-top:auto;overflow:hidden;padding:2rem 2rem 1.5rem;position:relative}.footer-content{display:flex;flex-direction:column;gap:1.5rem;margin:0 auto;max-width:1200px}.disclaimer-box{align-items:flex-start;background:#0003;border:1px solid #ffffff1a;border-radius:8px;display:flex;padding:1.5rem}.disclaimer-box .warning-icon{animation:pulse-glow 3s infinite;color:#f6ad55;flex-shrink:0;font-size:2rem;margin-right:1.2rem;margin-top:.1rem}@keyframes pulse-glow{0%,to{text-shadow:0 0 5px #f6ad5580}50%{text-shadow:0 0 15px #f6ad55b3,0 0 25px #f6ad5580}}.disclaimer-text h3{color:#f6ad55;font-size:1.2rem;margin:0 0 .5rem}.disclaimer-text p{margin-bottom:.75rem}.disclaimer-text ul{margin-bottom:0;padding-left:1.5rem}.disclaimer-text li{font-size:.9rem;margin-bottom:.25rem;opacity:.9}.footer-brand{font-size:.9rem;opacity:.8;text-align:center}.footer-info{align-items:center;display:flex;flex-direction:column;gap:1rem}.footer-info .time-display{margin-bottom:10px;margin-left:0}@media (max-width:768px){.dashboard-header{flex-direction:column;padding:1rem;text-align:center}.header-left{margin-bottom:1rem}.header-left h1{font-size:1.5rem}.dashboard-content,.tools-section{padding:1rem}.tools-grid{grid-template-columns:1fr}.disclaimer-box{align-items:center;flex-direction:column;padding:1rem;text-align:center}.disclaimer-box .warning-icon{margin:0 0 .8rem}.disclaimer-text ul{gap:.3rem;grid-template-columns:1fr}.disclaimer-text li{font-size:.85rem;margin-bottom:.4rem}}.feature-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:2rem;position:relative;transition:transform .3s,box-shadow .3s}.feature-card:hover{box-shadow:0 5px 15px #00000026;transform:translateY(-5px)}.feature-card.coming-soon{cursor:not-allowed;opacity:.8}.card-icon{align-items:center;display:flex;font-size:2.5rem;justify-content:center;margin-bottom:1.5rem}.icon{transition:transform .3s}.feature-card:hover .icon{transform:scale(1.1)}.feature-card h2{color:#2d3748;font-size:1.5rem;margin-bottom:1rem}.feature-card p{line-height:1.6}.feature-card p,.feature-card ul{color:#4a5568;margin-bottom:1.5rem}.feature-card ul{padding-left:1.5rem}.feature-card ul li{line-height:1.5;margin-bottom:.75rem}.card-button{background-color:#6b46c1;border-radius:6px;color:#fff;display:inline-block;font-weight:500;padding:.75rem 1.5rem;text-align:center;text-decoration:none;transition:background-color .2s;width:100%}.card-button:hover{background-color:#553c9a}.dropdown-button,.home-link,.jobs-link{all:unset;align-items:center!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;background:#ffffff1a!important;border:1px solid #fff3!important;border-radius:8px!important;box-sizing:border-box!important;color:#fff!important;cursor:pointer!important;display:flex!important;font-family:inherit!important;font-size:.95rem!important;font-weight:500!important;gap:.5rem!important;height:38px!important;justify-content:center!important;margin:0 .25rem!important;overflow:hidden!important;padding:0!important;position:relative!important;text-decoration:none!important;transition:all .3s ease!important;width:140px!important}.dropdown-button:before,.home-link:before,.jobs-link:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.dropdown-button:hover:before,.home-link:hover:before,.jobs-link:hover:before{left:100%}.dropdown-button:hover,.home-link:hover,.jobs-link:hover{background:#fff3!important;box-shadow:0 4px 12px #00000026!important;color:#fff!important;text-decoration:none!important;transform:translateY(-1px)!important}.home-icon,.home-text{color:#fff!important;font-size:.95rem!important;z-index:1}.nav-dropdown{position:relative}.dropdown-content{animation:dropdown-fade .3s ease;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fff;border:1px solid #0000001a;border-radius:12px;box-shadow:0 10px 30px #00000026;margin-top:.5rem;min-width:220px;overflow:hidden;position:absolute;right:0;top:100%;z-index:1000}@keyframes dropdown-fade{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.dropdown-item{border-bottom:1px solid #0000000d;color:#2d3748;display:block;font-weight:500;padding:.8rem 1.2rem;text-decoration:none;transition:all .2s ease}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background:linear-gradient(135deg,#6b46c1,#553c9a);color:#fff;transform:translateX(4px)}.dashboard-header-simple{margin-bottom:2rem;padding:1rem 0}.search-container-simple{margin:0 auto;max-width:500px;position:relative}.search-input-simple{background:#fff;border:2px solid #e9ecef;border-radius:25px;box-shadow:0 2px 8px #0000001a;color:#2d3748;font-size:1rem;padding:.75rem 1rem .75rem 2.5rem;transition:all .3s ease;width:100%}.search-input-simple::placeholder{color:#6c757d}.search-input-simple:focus{background:#fff;border-color:#6b46c1;box-shadow:0 0 0 3px #6b46c11a,0 2px 8px #0000001a;outline:none}.search-icon{color:#6c757d;font-size:1rem;left:1rem}.aws-summary,.dashboard-header-new,.dashboard-header-new h1,.dashboard-header-new p,.microsoft-summary,.search-container-new,.search-input-new,.summary-item,.tools-summary{display:none}.search-results-header{background:#6b46c11a;border-left:4px solid #6b46c1;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.search-results-header p{color:#6b46c1;font-weight:500;margin:0}@media (max-width:768px){.dashboard-header-simple{margin-bottom:1.5rem;padding:.5rem 0}}@media (max-width:480px){.search-container-simple{max-width:100%}.search-input-simple{font-size:.9rem;padding:.6rem 1rem .6rem 2.2rem}.search-icon{font-size:.9rem;left:.8rem}}.all-tools-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin-top:1rem}.modern-tool-card{background:#fff;border:2px solid #0000;border-radius:12px;box-shadow:0 4px 12px #0000001a;overflow:hidden;position:relative;transition:all .3s ease}.modern-tool-card:hover{border-color:#6b46c1;box-shadow:0 8px 24px #00000026;transform:translateY(-4px)}.category-badge{align-items:center;border-radius:15px;display:flex;font-size:.75rem;font-weight:600;gap:.3rem;padding:.4rem .8rem;position:absolute;right:1rem;top:1rem;z-index:10}.microsoft-category{background:linear-gradient(135deg,#00a4ef,#0078d4);color:#fff}.aws-category{background:linear-gradient(135deg,#f90,#f60);color:#fff}.tool-card-content{display:flex;flex-direction:column;height:100%;padding:1.5rem}.tool-icon-wrapper{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;display:flex;height:60px;justify-content:center;margin-bottom:1rem;width:60px}.tool-icon{font-size:2rem}.tool-title{color:#2d3748;font-size:1.25rem;font-weight:600;line-height:1.3;margin:0 0 .75rem}.tool-description{color:#6c757d;font-size:.9rem;line-height:1.5;margin:0 0 1rem}.tool-features{flex-grow:1;list-style:none;margin:0 0 1.5rem;padding:0}.tool-features li{color:#4a5568;font-size:.85rem;line-height:1.4;margin-bottom:.4rem;padding-left:1rem;position:relative}.tool-features li:before{color:#6b46c1;content:"✓";font-size:.8rem;font-weight:700;left:0;position:absolute}.launch-button{background:linear-gradient(135deg,#6b46c1,#553c9a);border-radius:8px;box-shadow:0 2px 8px #6b46c14d;color:#fff;display:block;font-size:.9rem;font-weight:600;margin-top:auto;padding:.75rem 1.5rem;text-align:center;text-decoration:none;transition:all .3s ease}.launch-button:hover{background:linear-gradient(135deg,#553c9a,#6b46c1);box-shadow:0 4px 12px #6b46c166;color:#fff;text-decoration:none;transform:translateY(-1px)}.no-results{color:#6c757d;padding:3rem 1rem}.no-results p{margin:0 0 1rem}.clear-search-btn{background:#6b46c1;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:all .3s ease}.clear-search-btn:hover{background:#553c9a;transform:translateY(-1px)}.user-icon{color:#6b46c1}.license-icon{color:#00a4ef}.azure-icon{color:#0078d4}.aws-icon{color:#f90}.spektra-icon{border-radius:6px;height:100%;object-fit:contain;width:100%}@media (max-width:768px){.dashboard-header-new{margin:-1rem -1rem 1rem;padding:1.5rem 1rem}.dashboard-header-new h1{font-size:2rem}.dashboard-header-new p{font-size:1rem}.tools-summary{align-items:center;flex-direction:column;gap:.75rem}.all-tools-grid{gap:1rem;grid-template-columns:1fr}.modern-tool-card{margin:0}.tool-card-content{padding:1.25rem}.tool-icon-wrapper{height:50px;width:50px}.tool-icon{font-size:1.5rem}.tool-title{font-size:1.1rem}.category-badge{font-size:.7rem;padding:.3rem .6rem;right:.75rem;top:.75rem}}@media (max-width:480px){.search-container-new{max-width:100%}.search-input-new{font-size:.9rem;padding:.6rem 1rem .6rem 2.2rem}.search-icon{font-size:.9rem;left:.8rem}.dashboard-header-new h1{font-size:1.8rem}.all-tools-grid{grid-template-columns:1fr}}.user-profile{align-items:center;background-color:#0000000d;border-radius:4px;display:flex;gap:1rem;padding:.5rem 1rem}.user-profile-info{display:flex;flex-direction:column}.user-name{font-size:.9rem}.user-identifier{color:#666;font-size:.8rem}.logout-button{background-color:initial;border:1px solid #0078d4;border-radius:4px;color:#0078d4;cursor:pointer;font-size:.85rem;padding:.35rem .75rem;transition:all .2s ease}.logout-button:hover{background-color:#0078d4;color:#fff}.main-logout-button{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:.5rem;overflow:hidden;padding:.6rem 1rem;position:relative;transition:all .3s ease;white-space:nowrap}.main-logout-button:before{background:linear-gradient(90deg,#0000,#ffffff1a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.main-logout-button:hover:before{left:100%}.main-logout-button:hover{background:linear-gradient(135deg,#ef4444,#dc2626);border-color:#ef444480;box-shadow:0 4px 12px #ef44444d;transform:translateY(-1px)}.time-display{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff26;border:1px solid #ffffff4d;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;margin-left:20px;padding:8px 12px}.time-zones{display:flex;flex-direction:column;gap:2px}.time-zone{align-items:center;display:flex;gap:6px}.time-label{font-weight:600;min-width:28px}.time-label,.time-value{color:#fff;font-size:11px}.time-value{font-family:Courier New,monospace;font-weight:500;letter-spacing:.5px}.footer-info .time-display{background:#ffffff1a;border:1px solid #fff3;margin:0 auto;padding:10px 15px}.footer-info .time-zones{gap:4px}.footer-info .time-label{font-size:12px;min-width:32px}.footer-info .time-value{font-size:12px}@media (max-width:768px){.time-display{margin-left:8px;padding:3px 6px}.time-zones{gap:6px}.time-label,.time-value{font-size:8px}.footer-info .time-display{padding:6px 10px}.footer-info .time-label,.footer-info .time-value{font-size:10px}}.tenant-info-panel{background-color:#f9f9f9;border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-lg);padding:var(--spacing-md)}.tenant-header{align-items:center;display:flex;justify-content:space-between}.tenant-header h3{color:var(--primary-dark);font-size:1.5rem;font-weight:600;margin:0}.tenant-info-grid{grid-gap:var(--spacing-md);border-top:1px solid var(--border-color);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:var(--spacing-md);padding-top:var(--spacing-md)}.tenant-info-item{margin-bottom:var(--spacing-md)}.tenant-info-item .info-label{color:var(--text-light);font-size:.9rem;font-weight:500;margin-bottom:3px}.tenant-info-item .info-value{font-size:1rem;word-break:break-all}.tenant-info-tags{border-top:1px solid var(--border-color);grid-column:1/-1;margin-top:var(--spacing-sm);padding-top:var(--spacing-md)}.tenant-info-tags .info-label{color:var(--text-light);font-size:.9rem;font-weight:500;margin-bottom:var(--spacing-sm)}.tenant-info-tags .tags-container{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.tenant-info-tags .tag{background-color:#f2f2f2;border:1px solid #e0e0e0;border-radius:4px;display:inline-flex;font-size:.9rem;padding:3px 8px}.tenant-info-tags .tag-key{color:var(--primary-dark);font-weight:500;margin-right:5px}.tenant-info-tags .tag-value{color:var(--text-light)}.tenant-info-tags .no-tags-message{color:var(--text-light);font-size:.9rem;font-style:italic}.tenant-id{color:var(--text-light);font-family:monospace;font-size:.95rem;margin-top:3px;word-break:break-all}.license-list{background-color:#fafafa;display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-md)}.license-item,.license-list{border-radius:var(--border-radius);padding:var(--spacing-md)}.license-item{background-color:#fff;border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.license-item:not(:last-child){border-bottom:1px solid var(--border-color);margin-bottom:var(--spacing-sm)}.no-licenses{color:var(--text-light);padding:var(--spacing-md);text-align:center}.license-name{font-size:1.1rem;font-weight:600;line-height:1.3;margin-bottom:var(--spacing-sm);max-width:100%;overflow:visible;white-space:normal;word-break:break-word}.license-date-info{color:var(--text-light);display:flex;flex-wrap:wrap;font-size:.9rem;gap:20px;margin-top:var(--spacing-sm)}.license-purchase,.license-renewal{display:flex;flex-direction:column}.date-label{color:var(--text-light);font-size:.85rem;font-weight:500;letter-spacing:.5px;margin-bottom:3px;text-transform:uppercase}.license-dates{color:var(--text-light);flex-wrap:wrap;font-size:.9rem;gap:15px;margin-top:var(--spacing-sm)}.license-dates span{white-space:nowrap}.renewal-soon{font-weight:500}.renewal-future{color:var(--text-color)}.renewal-unknown{color:var(--text-light)}.license-badge{border-radius:12px;font-size:.85rem;margin-right:var(--spacing-sm);padding:3px 8px}.license-badge.licensed{background-color:#dff6dd;border:1px solid #5db555;color:#107c10}.license-badge.unlicensed{background-color:#f7d7d7;border:1px solid #e17476;color:#d13438}.license-tooltip{background-color:#fff;border:1px solid var(--border-color);border-radius:4px;box-shadow:0 2px 10px #0000001a;left:0;max-width:300px;min-width:200px;opacity:0;padding:10px;top:30px;transition:opacity .2s,visibility .2s;visibility:hidden}.license-tooltip:before{background-color:#fff;border-left:1px solid var(--border-color);border-top:1px solid var(--border-color);content:"";height:10px;left:10px;position:absolute;top:-6px;transform:rotate(45deg);width:10px}.license-summary:hover .license-tooltip{opacity:1;visibility:visible}.tooltip-license{border-bottom:1px solid #f0f0f0;padding:5px 0}.license-table-container{margin-bottom:var(--spacing-lg);position:relative;width:100%}.table-responsive{-webkit-overflow-scrolling:touch;box-shadow:0 4px 12px #00000014;display:block;max-width:100%;overflow-x:auto!important;overflow-y:visible;scrollbar-width:thin;width:100%}.table-responsive::-webkit-scrollbar{height:8px}.table-responsive::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.table-responsive::-webkit-scrollbar-thumb{background-color:var(--primary-light);border-radius:4px}.table-responsive::-webkit-scrollbar-thumb:hover{background-color:var(--primary-color)}.license-table,.results-table{border-collapse:initial;border-radius:6px;border-spacing:0;box-shadow:0 2px 8px #00000014;min-width:1200px;overflow:hidden;table-layout:fixed;width:100%}.license-table th,.results-table th,.table-header th{background-color:#f0f0f0;border-bottom:2px solid #ddd;color:#333;font-weight:600;overflow:hidden;padding:12px 10px;position:sticky;text-align:left;text-overflow:ellipsis;top:0;white-space:nowrap;z-index:2}.license-table thead,.results-table thead{background-color:#f0f0f0}.license-table tbody tr,.results-table tbody tr{transition:background-color .2s}.license-table tbody tr:hover,.results-table tbody tr:hover{background-color:#673ab70d}.license-table tr.even-row,.results-table tr.even-row{background-color:#fff}.license-table tr.odd-row,.results-table tr.odd-row{background-color:#f9f9f9}.license-table td,.results-table td{border-bottom:1px solid #eee;max-width:1px;overflow:hidden;padding:10px 12px;text-overflow:ellipsis;vertical-align:middle}td.license-column{line-height:1.3;overflow:visible;text-overflow:clip;white-space:normal;word-break:break-word}.license-table .license-row:last-child td,.results-table tr:last-child td{border-bottom:none}.status-badge{font-size:.85rem;margin-right:5px}.status-badge.enabled{background-color:#dff6dd;border:1px solid #5db555}.status-badge.disabled,.status-badge.suspended{background-color:#f7d7d7;border:1px solid #e17476}.status-badge.with-trial{padding-right:20px;position:relative}.trial-indicator{background-color:#ffe5b4;border:1px solid #f59e0b;border-radius:8px;color:#b45309;display:inline-block;font-size:.7rem;font-weight:600;padding:2px 6px;position:absolute;right:-18px;top:-5px;transform:rotate(7deg)}.account-column{max-width:180px;min-width:180px;width:180px}.account-info{display:flex;flex-direction:column}.account-name{font-weight:500;white-space:nowrap}.account-id,.account-name{overflow:hidden;text-overflow:ellipsis}.account-id{color:var(--text-light);font-family:monospace;font-size:.85rem}.license-column{max-width:220px;min-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:220px}.license-title{color:var(--primary-dark);font-weight:500;max-width:100%;overflow:visible;text-overflow:clip;white-space:normal;word-break:break-word}.status-column{max-width:120px;min-width:120px;text-align:center;width:120px}.numeric-column{max-width:80px;min-width:80px;width:80px}.date-column{max-width:130px;min-width:130px;white-space:nowrap;width:130px}.sku-column{font-family:monospace;font-size:.9rem;max-width:150px;min-width:150px;width:150px}.tenant-column{max-width:200px;min-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:200px}.no-results{background-color:#fafafa;border-radius:var(--border-radius);font-style:italic;margin:var(--spacing-md);padding:var(--spacing-md)}.no-results button{background-color:var(--primary-color);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;margin-left:var(--spacing-sm);padding:5px 10px}.no-results button:hover{background-color:var(--primary-dark)}@media screen and (max-width:768px){.tenant-info-grid{grid-template-columns:1fr}.table-controls{align-items:flex-start;flex-direction:column}.filter-group{margin-bottom:var(--spacing-sm);width:100%}.license-table,.results-table{font-size:.9rem}.account-column,.license-column,.tenant-column{min-width:150px}}@media screen and (max-width:480px){.tenant-info-grid{grid-template-columns:1fr}.tenant-header{align-items:flex-start;flex-direction:column}.current-time{margin-left:0;margin-top:var(--spacing-sm)}.license-table,.results-table{font-size:.85rem}.status-badge{font-size:.75rem;padding:2px 6px}}.reset-filters-btn{background-color:#ffffff40;border:1px solid #ffffff80;box-shadow:0 1px 3px #0003;font-weight:600;padding:6px 12px;text-shadow:0 1px 1px #0003}.reset-filters-btn:hover{background-color:#fff6;box-shadow:0 2px 5px #0000004d}.reset-filters-btn:active{background-color:#fff3}.loading-overlay{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#ffffffe6;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.loading-content{align-items:center;background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000001a;display:flex;flex-direction:column;max-width:500px;padding:40px;text-align:center;width:90%}.loading-logo{height:auto;margin-bottom:20px;object-fit:contain;width:80px}.loading-spinner{height:80px;margin-bottom:20px;position:relative;width:80px}.spinner-ring{animation:spin 1.5s linear infinite;border:4px solid #673ab71a;border-radius:50%;border-top-color:#673ab7;height:80px;position:absolute;width:80px}.spinner-pulse{animation:pulse 1.5s ease-in-out infinite;background-color:#673ab733;border-radius:50%;height:40px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:40px}.loading-title{color:#333;font-size:24px;margin:0 0 15px}.loading-message{color:#555;font-size:16px;line-height:1.5;margin-bottom:20px}.loading-note{align-items:flex-start;background-color:#f5f5f5;border-radius:8px;display:flex;margin-bottom:25px;max-width:450px;padding:15px;text-align:left}.note-icon{font-size:20px;line-height:1;margin-right:10px}.loading-note p{color:#666;font-size:14px;line-height:1.5;margin:0}.progress-container{background-color:#eee;border-radius:4px;height:8px;margin-bottom:25px;overflow:hidden;width:100%}.progress-bar{height:100%;position:relative}.progress-indicator{background:linear-gradient(90deg,#673ab7,#9c27b0);border-radius:4px;height:100%;left:0;position:absolute;top:0;width:40%}.cancel-button{align-items:center;background-color:#f5f5f5;color:#555;display:flex;font-size:14px;justify-content:center;transition:all .2s ease}.cancel-button:hover{background-color:#e9e9e9;border-color:#d32f2f;color:#d32f2f}.cancel-button:active{transform:translateY(1px)}.tenant-section{background-color:#fafafa;border:1px solid var(--border-color);border-radius:var(--border-radius);margin-bottom:var(--spacing-lg);padding:var(--spacing-md)}.tenant-header.purple{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding-bottom:var(--spacing-sm)}.tenant-header.purple h3{color:var(--primary-dark);font-size:1.3rem;font-weight:600;margin:0}.tenant-subtitle{color:var(--text-light);font-size:.9rem;margin-bottom:var(--spacing-sm);margin-top:3px}.tenant-stats{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-bottom:var(--spacing-md);margin-top:var(--spacing-md)}.results-header.purple h3{color:#fff;margin:0}.dashboard-stats{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-bottom:var(--spacing-lg)}.stat-box{background-color:#fff;border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);padding:var(--spacing-md)}.stat-box h4{color:var(--text-light);font-size:1rem;font-weight:500;margin-top:0}.large-number,.stat-box h4{margin-bottom:var(--spacing-sm)}.large-number{color:var(--primary-dark);font-size:2rem;font-weight:600}.stat-subtitle{color:var(--text-light);font-size:.9rem;margin-bottom:var(--spacing-sm)}.stat-details{color:var(--text-color);font-size:.85rem;line-height:1.4}.stat-details p{margin:3px 0}.numeric-column{font-family:monospace;font-weight:500;text-align:right}.sku-column{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.license-summary{display:flex;flex-direction:column;position:relative}.license-tooltip{background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 12px #00000026;display:none;left:50%;max-height:400px;overflow-y:auto;padding:12px;position:absolute;top:calc(100% + 10px);transform:translateX(-50%);width:300px;z-index:10}.license-summary:hover .license-tooltip{display:block}.tooltip-license{border-bottom:1px solid #eee;margin-bottom:8px;padding:8px 10px}.tooltip-license:last-child{border-bottom:none;margin-bottom:0}.tooltip-license>div:first-child{color:#333;font-weight:600;margin-bottom:6px}.license-dates{display:flex;flex-direction:column;gap:4px}.license-details-cell{max-width:280px;padding:8px!important}.compact-license-list{display:flex;flex-direction:column;gap:12px}.compact-license-item{background-color:#f9f9f9;border-left:3px solid #0078d4;border-radius:6px;padding:8px}.license-name-compact{color:#333;display:block;font-size:.9rem;font-weight:600;margin-bottom:6px}.license-name-header{background-color:#0078d4;border-radius:6px 6px 0 0;color:#fff;display:block;font-size:1rem;font-weight:600;margin:-8px -8px 8px;padding:8px 10px}.license-dates-compact{display:flex;flex-direction:column;font-size:.85rem;gap:4px}.license-date{align-items:center;display:flex;gap:4px}.older-purchase{color:#555}.renewal-soon{color:#d83b01}.renewal-past{color:#d13438;font-weight:500}.renewal-future{color:#107c10}.renewal-unknown{color:#767676;font-style:italic}.license-date:before{background-repeat:no-repeat;background-size:contain;content:"";display:inline-block;height:16px;margin-right:4px;width:16px}.recent-purchase:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23107C10' d='M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.6 5.8-4.5 4.5-2.5-2.5-.7.7 3.2 3.3 5.2-5.2-.7-.8z'/%3E%3C/svg%3E")}.older-purchase:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23555' d='M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm0 14.5a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13z'/%3E%3Cpath fill='%23555' d='M8 3.5V8H5v1.5h4.5v-6H8z'/%3E%3C/svg%3E")}.renewal-soon:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23D83B01' d='M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm-.5 12.8h1v-1.1h-1v1.1zm0-2.2h1v-6h-1v6z'/%3E%3C/svg%3E")}.renewal-past:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23D13438' d='M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm0 14.5a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13z'/%3E%3Cpath fill='%23D13438' d='M10.5 5.5 8 8 5.5 5.5l-1 1L7 9l-2.5 2.5 1 1L8 10l2.5 2.5 1-1L9 9l2.5-2.5-1-1z'/%3E%3C/svg%3E")}.renewal-future:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23107C10' d='M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm0 14.5a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13z'/%3E%3Cpath fill='%23107C10' d='M8 3.5V8H5v1.5h4.5v-6H8z'/%3E%3C/svg%3E")}.renewal-unknown:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23767676' d='M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm0 14.5a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13z'/%3E%3Cpath fill='%23767676' d='M7.5 10.7h1V12h-1v-1.3zm0-8.2h1v7h-1v-7z'/%3E%3C/svg%3E")}.results-table{border-collapse:initial;border-radius:6px;border-spacing:0;box-shadow:0 2px 8px #00000014;overflow:hidden}.table-header th{background-color:#f0f0f0;border-bottom:2px solid #ddd;color:#333;font-weight:600;padding:12px 10px;text-align:left}.results-table tbody tr{transition:background-color .2s}.results-table tbody tr:hover{background-color:#0078d40d}.even-row{background-color:#fff}.odd-row{background-color:#f9f9f9}.results-table td{border-bottom:1px solid #eee;padding:10px}.no-licenses{color:#767676;font-style:italic;padding:4px}.filter-header{background-color:var(--primary-color);border-radius:var(--border-radius) var(--border-radius) 0 0;padding:16px 20px;position:relative;transition:all .2s ease}.filter-header:hover{background-color:var(--primary-dark)}.filter-title{color:#fff;font-size:1.2rem;font-weight:600;letter-spacing:.5px}.filter-header .expand-icon{align-items:center;background-color:#fff3;border-radius:50%;color:#fff;display:flex;font-size:12px;height:24px;justify-content:center;transition:all .3s ease;width:24px}.filter-header:hover .expand-icon{background-color:#ffffff4d;transform:scale(1.1)}.filter-controls{background-color:#fff;border:1px solid var(--primary-light);border-radius:0 0 var(--border-radius) var(--border-radius);border-top:none;box-shadow:0 4px 12px #673ab714;padding:22px 20px}.table-controls-container{border-radius:var(--border-radius);box-shadow:0 4px 16px #673ab726;margin-bottom:var(--spacing-lg);overflow:hidden}.controls-header{background-color:#f9f9f9;border-bottom:1px solid #e0e0e0;border-radius:var(--border-radius) var(--border-radius) 0 0;padding:15px}.controls-title{border-left:4px solid var(--primary-color);font-size:1.2rem;font-weight:600;padding-left:8px}.filter-section{border-bottom:1px solid #673ab71a}.filter-group{margin-bottom:var(--spacing-sm)}.filter-group:last-child{margin-right:0}.filter-group-header{color:var(--primary-dark);font-size:1rem}.filter-options{margin-top:var(--spacing-sm)}.tag{margin-bottom:5px;margin-right:5px}.chart-container{border-radius:var(--border-radius);margin-top:var(--spacing-md)}.bulk-summary-panel,.chart-container{border:1px solid var(--border-color);box-shadow:var(--shadow-sm);padding:var(--spacing-md)}.bulk-summary-panel{background-color:#f9f9f9;border-radius:var(--border-radius);margin-bottom:var(--spacing-lg)}.bulk-summary-panel h3{border-bottom:1px solid var(--border-color);color:var(--primary-dark);font-size:1.3rem;margin-bottom:var(--spacing-md);margin-top:0;padding-bottom:var(--spacing-sm)}.summary-stats{grid-gap:var(--spacing-md);gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:var(--spacing-md)}.summary-stat-item{background-color:#fff;border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);padding:var(--spacing-md);text-align:center}.stat-label{color:var(--text-light);font-size:.9rem;margin-bottom:5px}.stat-value{color:var(--primary-dark);font-size:1.8rem}.stat-value.highlight{color:#107c10}.stat-value.warning{color:#d13438}.file-upload-container{margin-bottom:var(--spacing-md)}@media screen and (max-width:768px){.dashboard-stats,.tenant-stats{grid-template-columns:1fr}.table-controls{align-items:flex-start;flex-direction:column}.filter-group{margin-bottom:var(--spacing-sm);margin-right:0;width:100%}}@media screen and (max-width:480px){.tenant-header.purple{align-items:flex-start;flex-direction:column}.summary-stats{grid-template-columns:1fr}}.license-badge{align-items:center;border-radius:4px;cursor:default;display:inline-flex;font-size:.9rem;font-weight:500;justify-content:center;min-width:80px;padding:4px 8px;position:relative;text-align:center}.licensed{background-color:#0078d426;border:1px solid #0078d44d;color:#0078d4}.unlicensed{background-color:#d1d1d14d;border:1px solid #d1d1d180;color:#555}.license-badge.licensed:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%230078D4' d='M8 1c2.21 0 4 1.79 4 4 0 .5-.1.98-.27 1.43L14.7 9.4c.39.39.39 1.02 0 1.41l-1.7 1.7a.996.996 0 0 1-1.41 0L8.62 9.54c.36.3-.12.41-.62.41-2.21 0-4-1.79-4-4s1.79-4 4-4zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z'/%3E%3C/svg%3E")}.license-badge.licensed:before,.license-badge.unlicensed:before{background-repeat:no-repeat;background-size:contain;content:"";display:inline-block;height:16px;margin-right:6px;width:16px}.license-badge.unlicensed:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23555' d='M8 1c2.21 0 4 1.79 4 4 0 .5-.1.98-.27 1.43L14.7 9.4c.39.39.39 1.02 0 1.41l-1.7 1.7a.996.996 0 0 1-1.41 0L8.62 9.54c.36.3-.12.41-.62.41-2.21 0-4-1.79-4-4s1.79-4 4-4zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z'/%3E%3C/svg%3E");opacity:.5}.license-badge{transition:all .2s ease}.license-badge:hover{box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.status-badge{justify-content:center;min-width:80px;text-align:center;transition:all .2s ease}.status-badge.enabled{background-color:#107c1026;border:1px solid #107c104d;color:#107c10}.status-badge.disabled,.status-badge.suspended{background-color:#d1343826;border:1px solid #d134384d;color:#d13438}.status-badge.enabled:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23107C10' d='M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.6 5.8-4.5 4.5-2.5-2.5-.7.7 3.2 3.3 5.2-5.2-.7-.8z'/%3E%3C/svg%3E")}.status-badge.disabled:before,.status-badge.enabled:before,.status-badge.suspended:before{background-repeat:no-repeat;background-size:contain;content:"";display:inline-block;height:16px;margin-right:6px;width:16px}.status-badge.disabled:before,.status-badge.suspended:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23D13438' d='M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm0 14.5a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13z'/%3E%3Cpath fill='%23D13438' d='M10.5 5.5 8 8 5.5 5.5l-1 1L7 9l-2.5 2.5 1 1L8 10l2.5 2.5 1-1L9 9l2.5-2.5-1-1z'/%3E%3C/svg%3E")}.primary-btn{align-items:center;border:none;border-radius:4px;box-shadow:0 2px 4px #673ab733;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:500;justify-content:center;overflow:hidden;padding:10px 16px;position:relative;transition:all .2s}.primary-btn:hover{box-shadow:0 4px 8px #673ab74d;transform:translateY(-1px)}.primary-btn:active{box-shadow:0 1px 2px #673ab733;transform:translateY(0)}.primary-btn:before{content:"↺";font-size:1.1rem;font-weight:700;margin-right:8px}.filter-actions{align-items:center;display:flex;gap:12px}.reset-filters-btn{align-items:center;background-color:#fff3;border:1px solid #ffffff4d;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:.85rem;font-weight:500;overflow:hidden;padding:5px 10px;position:relative;transition:all .2s ease}.reset-filters-btn:before{content:"↺";font-weight:700;margin-right:5px}.reset-filters-btn:hover{background-color:#ffffff4d;transform:translateY(-1px)}.reset-filters-btn:active{background-color:#ffffff26;transform:translateY(0)}:root{--primary-color:#673ab7;--primary-light:#9575cd;--primary-dark:#4527a0;--primary-text:#fff;--secondary-color:#f5f5f5;--border-color:#e0e0e0;--text-color:#333;--text-light:#666;--success-color:#4caf50;--warning-color:#ff9800;--danger-color:#f44336;--info-color:#2196f3;--shadow-sm:0 1px 3px #0000001a;--shadow-md:0 4px 6px #0000001a;--border-radius:8px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px}body{color:#333;color:var(--text-color)}.analyzer-container{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.page-header{margin-bottom:24px;margin-bottom:var(--spacing-lg);text-align:center}.page-header h1{color:#4527a0;color:var(--primary-dark);font-size:2.5rem;margin-bottom:8px;margin-bottom:var(--spacing-sm)}.page-header .subtitle{color:#666;color:var(--text-light);font-size:1.1rem}.tab-navigation{border-bottom:2px solid #e0e0e0;border-bottom:2px solid var(--border-color);display:flex;margin-bottom:20px;position:relative}.nav-tab{background-color:initial;border:none;color:#666;color:var(--text-light);cursor:pointer;font-size:16px;font-weight:500;padding:12px 25px;position:relative;transition:all .3s ease}.nav-tab:hover{background-color:#673ab70d}.nav-tab.active,.nav-tab:hover{color:#673ab7;color:var(--primary-color)}.nav-tab.active{font-weight:600}.nav-tab.active:after{background-color:#673ab7;background-color:var(--primary-color);bottom:-2px;content:"";height:3px;left:0;position:absolute;width:100%}.tab-container{background-color:#fff;border-radius:var(--border-radius);box-shadow:0 1px 3px #0000001a;box-shadow:var(--shadow-sm);margin-bottom:24px;margin-bottom:var(--spacing-lg);overflow:hidden}.tabs{background-color:#f5f5f5;background-color:var(--secondary-color);border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color)}.tab-btn{background-color:initial;flex:1 1;padding:15px 20px;text-align:center}.tab-btn:hover{background-color:#673ab70d;border-bottom:3px solid #9575cd;border-bottom:3px solid var(--primary-light)}.active-tab{background-color:#fff;border-bottom:3px solid #673ab7;border-bottom:3px solid var(--primary-color);color:#673ab7;color:var(--primary-color);font-weight:600}.tab-content{padding:24px;padding:var(--spacing-lg)}.tenant-form-container{margin-bottom:24px;margin-bottom:var(--spacing-lg)}.tenant-form{background-color:#f5f5f5;background-color:var(--secondary-color);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--border-radius);box-shadow:0 1px 3px #0000001a;box-shadow:var(--shadow-sm);padding:24px;padding:var(--spacing-lg)}.form-group{margin-bottom:16px;margin-bottom:var(--spacing-md)}.form-label{color:#333;color:var(--text-color);display:block;font-weight:500;margin-bottom:8px;margin-bottom:var(--spacing-sm)}.form-input{border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:4px;font-size:16px;padding:10px;width:100%}.form-input:focus{border-color:#673ab7;border-color:var(--primary-color);box-shadow:0 0 0 2px #673ab733;outline:none}.submit-btn{background-color:#673ab7;color:var(--primary-text);font-size:16px;transition:background-color .2s}.submit-btn:hover{background-color:#4527a0;background-color:var(--primary-dark)}.submit-btn:disabled{background-color:#9575cd;background-color:var(--primary-light)}.results-container{border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);margin-top:24px;margin-top:var(--spacing-lg);overflow:hidden}.results-container h3{background-color:#f5f5f5;background-color:var(--secondary-color);color:#4527a0;color:var(--primary-dark);font-weight:600;margin:0}.results-container h3,.table-controls-container{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color);padding:16px;padding:var(--spacing-md)}.table-controls-container{background-color:#fafafa}.controls-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px;margin-bottom:var(--spacing-md)}.controls-title{color:#4527a0;color:var(--primary-dark);font-size:1.1rem;font-weight:500;margin:0}.export-btn{background-color:#673ab7;background-color:var(--primary-color);padding:8px 15px}.export-btn:hover{background-color:#4527a0;background-color:var(--primary-dark)}.export-btn:disabled{background-color:#9575cd;background-color:var(--primary-light)}.export-btn .export-icon{font-size:16px;margin-right:5px}.table-controls{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;gap:var(--spacing-md)}.filter-controls{display:flex;flex-wrap:wrap;gap:8px;gap:var(--spacing-sm);margin-top:8px;margin-top:var(--spacing-sm)}.filter-section{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color);margin-bottom:16px;margin-bottom:var(--spacing-md);padding-bottom:16px;padding-bottom:var(--spacing-md)}.filter-section:last-child{border-bottom:none;margin-bottom:0}.filter-row{display:flex;flex-wrap:wrap;gap:8px;gap:var(--spacing-sm)}.filter-group{margin-right:16px;margin-right:var(--spacing-md)}.filter-group-header{color:#673ab7;color:var(--primary-color)}.filter-group-header,.filter-group-label{font-weight:500;margin-bottom:8px;margin-bottom:var(--spacing-sm)}.filter-group-label{color:#333;color:var(--text-color)}.expand-icon{color:#673ab7;color:var(--primary-color);cursor:pointer}.filter-options{display:flex;flex-wrap:wrap;gap:8px;gap:var(--spacing-sm);margin-bottom:8px;margin-bottom:var(--spacing-sm)}.filter-btn{border:1px solid #e0e0e0;border:1px solid var(--border-color);color:#333;color:var(--text-color);font-size:14px;font-weight:400}.filter-btn:hover{background-color:#673ab70d;border-color:#9575cd;border-color:var(--primary-light)}.filter-btn.active-btn{background-color:#673ab7;border-color:#4527a0;color:#fff}.filter-btn.active-btn:hover{background-color:#4527a0;color:#fff}.primary-btn{background-color:#673ab7;background-color:var(--primary-color);color:#fff}.primary-btn:hover{background-color:#4527a0;background-color:var(--primary-dark)}.secondary-btn{background-color:#fff;border:1px solid #673ab7;border:1px solid var(--primary-color);color:#673ab7;color:var(--primary-color)}.secondary-btn:hover{background-color:#673ab70d}.active-btn{background-color:#673ab7;background-color:var(--primary-color);border-color:#4527a0;border-color:var(--primary-dark);color:#fff}.active-btn:hover{background-color:#4527a0;background-color:var(--primary-dark);color:#fff}.table-responsive{margin-bottom:24px}.results-table{border-collapse:collapse;font-size:14px;table-layout:fixed;width:100%}.results-table tr{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color)}.results-table tr.even-row{background-color:#fafafa}.results-table tr.odd-row{background-color:#fff}.results-table tr:hover{background-color:#673ab70d}.results-table td{padding:12px 15px;vertical-align:top;word-break:break-word}.results-table th{background-color:#f5f5f5;background-color:var(--secondary-color);border-bottom:2px solid #e0e0e0;border-bottom:2px solid var(--border-color);color:#4527a0;color:var(--primary-dark);cursor:pointer;font-weight:600;padding:15px;position:sticky;text-align:left;top:0;z-index:2}.results-table th:hover{background-color:#e8e8e8}.error-message{border:1px solid #f44336;color:#b71c1c;margin-bottom:16px;margin-bottom:var(--spacing-md);padding:16px;padding:var(--spacing-md)}.loading-container{padding:40px 0}.spinner{border:4px solid #673ab71a;border-top-color:#673ab7;border-top:4px solid var(--primary-color);height:40px;width:40px}.loading-text{color:#666;color:var(--text-light);font-size:1rem;margin-top:16px;margin-top:var(--spacing-md);text-align:center}.loading-indicator{margin-bottom:8px;margin-bottom:var(--spacing-sm);margin-top:8px;margin-top:var(--spacing-sm)}.loading-dots{display:inline-block;height:16px;position:relative;width:80px}.loading-dots:after,.loading-dots:before{animation:loading-dots 1s ease-in-out infinite;background:#9575cd;background:var(--primary-light);border-radius:50%;content:"";height:16px;position:absolute;top:0;width:16px}.loading-dots:before{animation-delay:-.32s;left:0}.loading-dots:after{animation-delay:.16s;right:0}@keyframes loading-dots{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.error-container{background-color:#ffebee;border-radius:8px;border-radius:var(--border-radius);margin-bottom:16px;margin-bottom:var(--spacing-md);padding:16px;padding:var(--spacing-md)}.error-container h4{color:#b71c1c;margin-top:0}.error-list{margin:0;padding-left:20px}.error-item{color:#d32f2f;margin-bottom:5px}@media screen and (max-width:768px){.tenant-info-grid{grid-template-columns:1fr}.table-controls{align-items:flex-start;flex-direction:column}.filter-group{margin-bottom:8px;margin-bottom:var(--spacing-sm);width:100%}}@media screen and (max-width:480px){.tenant-info-grid{grid-template-columns:1fr}.tenant-header{align-items:flex-start;flex-direction:column}.current-time{margin-left:0;margin-top:8px;margin-top:var(--spacing-sm)}}.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;color:var(--primary-color);font-size:2rem;margin-bottom:16px}.error-container{display:flex;justify-content:center;padding:40px 20px}.error-message{background-color:#fef2f2;border:1px solid #fecaca;border-radius:var(--border-radius);max-width:500px;padding:24px;text-align:center}.error-message p{color:#dc2626;font-size:1.1rem;margin-bottom:16px}.retry-button{background-color:var(--primary-color);border:none;border-radius:var(--border-radius);color:#fff;cursor:pointer;font-size:1rem;padding:10px 20px;transition:background-color .3s ease}.retry-button:hover{background-color:var(--primary-dark)}.data-info{color:var(--text-light);font-size:.9rem;margin-top:8px}.search-section{background-color:#fff;border-radius:var(--border-radius);box-shadow:var(--shadow-sm);margin-bottom:24px;padding:24px}.search-container{margin-bottom:16px;position:relative}.search-input{border:2px solid var(--border-color);border-radius:var(--border-radius);box-sizing:border-box;font-size:1.1rem;padding:16px 48px;transition:border-color .3s ease,box-shadow .3s ease;width:100%}.search-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #673ab71a;outline:none}.search-icon{font-size:1.2rem;left:16px}.clear-search,.search-icon{color:var(--text-light);position:absolute;top:50%;transform:translateY(-50%)}.clear-search{align-items:center;background:none;border:none;cursor:pointer;display:flex;font-size:1.5rem;height:24px;justify-content:center;padding:0;right:16px;width:24px}.clear-search:hover{color:var(--primary-color)}.search-hint{color:var(--text-light);font-style:italic;margin:8px 0}.search-results-info{align-items:center;background-color:#f8f9fa;border-radius:var(--border-radius);display:flex;justify-content:space-between;margin:16px 0;padding:12px 16px}.search-results-info span{color:var(--text-color);font-weight:500}.export-btn{background-color:var(--success-color);border-radius:var(--border-radius);display:flex;gap:8px;padding:8px 16px;transition:background-color .3s ease}.export-btn:hover{background-color:#388e3c}.refresh-btn{background-color:#f5f5f5;border:1px solid var(--border-color);border-radius:var(--border-radius);padding:10px 16px;transition:background-color .3s ease}.refresh-btn:hover{background-color:#e0e0e0}.results-section{margin-top:24px}.no-results{color:var(--text-light);padding:60px 20px;text-align:center}.no-results p{font-size:1.1rem;margin-bottom:8px}.results-container{margin-top:16px}.results-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.user-card{background-color:#fff;border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);padding:24px;transition:transform .2s ease,box-shadow .2s ease}.user-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.user-header{align-items:flex-start;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:18px}.user-avatar{align-items:center;background-color:var(--primary-light);border-radius:50%;display:flex;flex-shrink:0;font-size:1.2rem;height:40px;justify-content:center;margin-right:12px;width:40px}.user-basic-info{flex:1 1;min-width:0}.user-name{color:var(--text-color);font-size:1.5rem;font-weight:600;line-height:1.3}.user-name,.user-upn{word-wrap:break-word;margin:0}.user-upn{align-items:center;color:var(--text-light);display:flex;font-size:.95rem;gap:8px;line-height:1.4}.user-status{flex-shrink:0}.status-badge{font-size:.8rem}.status-badge.enabled{background-color:#e8f5e8;color:#2e7d32}.status-badge.disabled{background-color:#ffebee;color:#c62828}.user-details{display:flex;flex-direction:column;gap:14px}.detail-item{align-items:center;display:flex;font-size:1.1rem;gap:12px;padding:4px 0}.field-icon{color:var(--primary-color);flex-shrink:0;font-size:1.2rem;width:20px}.detail-label{color:var(--text-color);flex-shrink:0;font-size:1.05rem;font-weight:500;min-width:100px}.detail-value{word-wrap:break-word;color:var(--text-light);flex:1 1;line-height:1.4}.object-id{font-family:monospace;font-size:.8rem}.copy-icon{align-items:center;background-color:#f8f9fa;border:1px solid #ddd;border-radius:6px;box-shadow:0 1px 2px #0000001a;color:#666;cursor:pointer;display:inline-flex;font-size:1.1rem;justify-content:center;margin-left:10px;min-height:32px;min-width:32px;padding:6px 8px;transition:all .2s ease}.copy-icon:hover{background-color:var(--primary-color);border-color:var(--primary-color);box-shadow:0 4px 12px #673ab766;color:#fff;transform:translateY(-2px)}.copy-icon:active{box-shadow:0 2px 6px #673ab74d;transform:translateY(0)}.copy-icon.copied{animation:copySuccess .4s ease;background-color:#4caf50!important;border-color:#4caf50!important;box-shadow:0 4px 12px #4caf5066;color:#fff!important;transform:translateY(-2px)}@keyframes copySuccess{0%{transform:translateY(-2px) scale(1)}50%{transform:translateY(-4px) scale(1.05)}to{transform:translateY(-2px) scale(1)}}.user-name .copy-icon{font-size:1.2rem;margin-left:12px;min-height:36px;min-width:36px;padding:8px 10px}.results-limit-notice{background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:var(--border-radius);color:#856404;margin-top:24px;padding:16px;text-align:center}@media (max-width:768px){.results-grid{grid-template-columns:1fr}.user-header{align-items:flex-start;flex-direction:column;gap:12px}.user-basic-info{order:2}.user-status{align-self:flex-end;order:1}.search-results-info{align-items:stretch;flex-direction:column;gap:12px}.search-input{font-size:1rem;padding:14px 40px}}@media (max-width:480px){.search-section,.user-card{padding:16px}.detail-item{align-items:flex-start;flex-direction:column;gap:4px}.detail-label{min-width:auto}}.resource-group-info-panel{background-color:#f9f9f9;border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-lg);padding:var(--spacing-md)}.resource-group-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-md)}.resource-group-header h3{color:var(--primary-dark);font-size:1.3rem;margin:0}.info-section{border-bottom:1px solid var(--border-color);padding-bottom:var(--spacing-md)}.info-row-group,.info-section{margin-bottom:var(--spacing-md)}.locks-section{border-top:1px solid var(--border-color);margin-top:var(--spacing-md);padding-top:var(--spacing-md)}.locks-compact-container,.tags-inline{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.locks-compact-container{margin-top:var(--spacing-sm)}.lock-compact-item{align-items:center;background-color:#f2f2f2;border-radius:4px;display:inline-flex;font-size:.9rem;margin-bottom:5px;margin-right:5px;padding:4px 8px}.lock-compact-item.cannotdelete{background-color:#fdd9d7}.lock-compact-item.readonly{background-color:#fff4ce}.lock-compact-item.notspecified{background-color:#f0f0f0}.lock-tag{margin-right:5px}.lock-tag.cannotdelete{color:#d13438}.lock-tag.readonly{color:#ff8c00}.lock-tag.notspecified{color:#666}.lock-level-value{font-weight:500}.lock-level-value.cannotdelete{color:#d13438}.lock-level-value.readonly{color:#ff8c00}.lock-level-value.notspecified{color:#666}.lock-notes-inline{color:var(--text-light);font-size:.85rem;margin-left:5px}.info-row-group.full-width{margin-bottom:var(--spacing-md);width:100%}.resource-group-content{display:flex;flex-direction:column}.rg-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.rg-info-row{display:flex;flex-wrap:wrap;margin-bottom:var(--spacing-md)}.rg-info-row:last-child{margin-bottom:0}.rg-info-cell{flex:1 1 300px;margin-right:var(--spacing-md)}.rg-info-cell:first-child{min-width:200px}.filter-header{background-color:var(--secondary-color);border-radius:var(--border-radius);cursor:pointer;margin-bottom:var(--spacing-md);padding:10px 15px}.filter-header:hover{background-color:#e8e8e8}.filter-title{color:var(--primary-dark);font-weight:500;margin:0}.filter-header .expand-icon{color:var(--primary-color);font-size:1.5rem;transition:transform .3s ease}.filter-controls{margin-bottom:var(--spacing-md);overflow:hidden}.resource-group-content .table-controls{margin-top:var(--spacing-md)}.filter-header.collapsed{border-radius:var(--border-radius) var(--border-radius) 0 0;margin-bottom:0}.rg-info-cell.full-width{flex:1 1 100%;margin-right:0}.rg-info-cell .filter-controls,.rg-info-cell .filter-group-header,.rg-info-cell .filter-section{margin-bottom:var(--spacing-sm)}.rg-info-cell .filter-options{display:flex;flex-wrap:wrap}.subscription-info-panel{background-color:#f9f9f9;border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-lg);padding:var(--spacing-md)}.subscription-header{border-bottom:1px solid var(--border-color);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm)}.subscription-header h3{color:var(--primary-dark);font-size:1.3rem;margin:0}.subscription-info-content{display:flex;flex-wrap:wrap}.info-item{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:var(--spacing-sm);padding:var(--spacing-xs) 0}.info-item:last-child{border-bottom:none;margin-bottom:0}.info-label{color:var(--primary-dark);font-weight:500;margin-right:var(--spacing-md);white-space:nowrap}.info-value{color:var(--text-color);text-align:right;word-break:break-all}.info-column{flex:1 1 300px;margin-right:var(--spacing-lg)}.wide-column{flex:2 1 600px}.tags-column{flex:1 1 100%;margin-top:var(--spacing-md)}.state-badge{background-color:#e0e0e0;border-radius:12px;color:#555;display:inline-block;font-size:.85rem;font-weight:500;padding:3px 10px;text-transform:uppercase}.state-badge.enabled{background-color:#dff6dd;border:1px solid #5db555;color:#107c10}.state-badge.disabled{background-color:#f7d7d7;border:1px solid #e17476;color:#d13438}.current-time-utc{align-items:center;background-color:#f0f0f0cc;border:1px solid var(--border-color);border-radius:4px;color:var(--text-light);display:flex;font-size:.9rem;margin-left:auto;padding:2px 10px;position:relative}.time-label{color:var(--primary-dark);font-weight:500;margin-right:5px}.time-value-utc{font-family:monospace}.table-responsive{background:#fff;border:1px solid var(--border-color);border-radius:var(--border-radius);margin-bottom:var(--spacing-lg);overflow-x:auto;position:relative}.double-scroll{border-bottom:1px solid var(--border-color);height:15px;margin-bottom:5px;overflow-x:auto;overflow-y:hidden}.double-scroll>div{height:1px}.table-tags-container{display:flex;flex-wrap:wrap;gap:5px;margin-top:3px}.table-tag{align-items:center;background-color:#f2f2f2;border:1px solid #e0e0e0;border-radius:3px;display:inline-flex;font-size:.8rem;max-width:100%;padding:2px 6px}.table-tag,.table-tag-key{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-tag-key{color:var(--primary-dark);font-weight:500;margin-right:3px;max-width:100px}.table-tag-value{color:var(--text-light);font-family:monospace;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.no-tags{color:var(--text-light);font-size:.9rem;font-style:italic}.filter-section.resource-group-filter{display:flex;flex-direction:column;margin-bottom:var(--spacing-md)}.resource-group-filters{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.rg-filter-group{border-bottom:1px solid var(--border-color);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm)}.rg-filter-group .filter-options .filter-btn{margin-right:var(--spacing-sm)}.filter-btn.active-btn{background-color:var(--primary-color);border-color:var(--primary-dark);color:#fff!important;font-weight:500}.filter-btn.active-btn:hover{background-color:var(--primary-dark);color:#fff!important}.rg-filter-group .filter-group-label{color:var(--primary-dark);font-size:1rem;font-weight:500;margin-bottom:var(--spacing-sm)}.resource-group-select{-webkit-appearance:none;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:16px;border:1px solid var(--border-color);border-radius:4px;font-size:.95rem;max-width:400px;padding:8px 30px 8px 12px;width:100%}.resource-group-select:hover{border-color:var(--primary-light);cursor:pointer}.resource-group-select:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #673ab733;outline:none}.rg-filter-group .filter-options{margin-top:var(--spacing-sm)}.file-upload-wrapper{margin-bottom:12px;position:relative}.file-input{height:0;left:-9999px;opacity:0;position:absolute;width:0}.file-input-display{background-color:#f9f9f9;border:1px solid var(--border-color);margin-bottom:8px}.file-input-label{color:var(--text-color);flex:1 1;font-size:.95rem;padding-right:12px}.file-select-btn{background-color:var(--secondary-color);color:var(--text-color);font-weight:500;padding:6px 12px;transition:all .2s}.file-select-btn:hover{background-color:#e0e0e0}.file-select-btn:disabled{background-color:var(--primary-light);cursor:not-allowed;opacity:.7}.file-name-display{background-color:#f5f5f5;border-radius:4px;display:inline-block;margin-left:var(--spacing-sm);max-width:300px;overflow:hidden;padding:8px 16px;text-overflow:ellipsis;white-space:nowrap}.file-help{color:var(--text-light);font-size:.9rem;margin-top:var(--spacing-sm)}.file-help p{margin:4px 0}.form-help-text{color:var(--text-light);font-size:.9rem;font-style:italic;margin-top:8px}.submit-btn.file-selected{animation:pulse 1.5s ease-in-out;opacity:1;position:relative}.submit-btn,.submit-btn.file-selected{background-color:var(--primary-color);cursor:pointer}.submit-btn{border:none;border-radius:4px;box-shadow:0 2px 4px #673ab733;font-size:1rem;font-weight:500;padding:10px 20px;transition:all .2s}.submit-btn:hover:not(:disabled){background-color:var(--primary-dark);box-shadow:0 4px 8px #673ab74d;transform:translateY(-1px)}.submit-btn:disabled{background-color:#ccc;box-shadow:none;color:#666;opacity:.8}@keyframes pulse{0%{box-shadow:0 0 0 0 #673ab766}70%{box-shadow:0 0 0 10px #673ab700}to{box-shadow:0 0 0 0 #673ab700}}.results-header.purple{align-items:center;background-color:var(--primary-color);border-radius:var(--border-radius);color:#fff;display:flex;font-size:1.3rem;font-weight:600;justify-content:space-between;margin-bottom:var(--spacing-md);padding:15px}.export-btn{align-items:center;background-color:#fff;box-shadow:0 2px 4px #0003;color:var(--primary-color);display:inline-flex;font-size:.9rem;padding:8px 12px;transition:all .2s}.export-btn:hover{background-color:#f0f0f0;box-shadow:0 3px 6px #0003;transform:translateY(-1px)}.export-btn:disabled{opacity:.6}.export-icon{font-weight:700;margin-right:6px}.locks-container{background-color:#f9f9f9;border:1px solid var(--border-color);border-radius:var(--border-radius);margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md)}.lock-item{border-bottom:1px solid var(--border-color);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md)}.lock-item.cannotdelete{border-left:3px solid #d13438;padding-left:var(--spacing-sm)}.lock-item.readonly{border-left:3px solid #ff8c00;padding-left:var(--spacing-sm)}.lock-item.notspecified{border-left:3px solid #666;padding-left:var(--spacing-sm)}.lock-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-sm)}.lock-name{font-size:1.1rem;font-weight:500}.lock-level{border-radius:4px;font-weight:500;padding:3px 10px}.lock-level.cannotdelete{background-color:#fdd9d7;color:#d13438}.lock-level.readonly{background-color:#fff4ce;color:#ff8c00}.lock-level.notspecified{background-color:#f0f0f0;color:#666}.lock-notes{background-color:#f5f5f5;border-radius:4px;color:var(--text-color);font-size:.95rem;margin-bottom:var(--spacing-sm);padding:var(--spacing-sm)}.lock-owners{margin-top:var(--spacing-sm)}.owners-label{font-weight:500}.owner-id{color:var(--text-light);font-family:monospace;font-size:.9rem;word-break:break-all}.no-locks-message{color:var(--text-light);font-style:italic}.tags-container{display:flex;flex-wrap:wrap;gap:5px}.tag{background-color:#f2f2f2;border:1px solid #e0e0e0;border-radius:4px;display:inline-flex;font-size:.9rem;padding:2px 8px}.tag-key{color:var(--primary-dark);font-weight:500;margin-right:5px}.tag-value{color:var(--text-light)}.white-text{color:#fff}.resource-group-section .tenant-header h3{color:var(--primary-dark);font-size:1.2rem}.date-info{display:flex;flex-direction:column}.recent-purchase{color:#107c10;font-weight:500}.older-purchase{color:var(--text-color)}.time-value{font-family:monospace;font-size:.9rem}.no-date{color:var(--text-light);font-style:italic}.export-excel-btn{align-items:center;background-color:#107c10;border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:500;margin-left:auto;padding:8px 15px;transition:background-color .2s ease}.export-excel-btn:hover{background-color:#0b5e0b}.export-excel-btn:disabled{background-color:#88c488;cursor:not-allowed}.export-icon{font-size:1.1rem;margin-right:8px}.quota-table{border-collapse:collapse;margin-top:1rem;width:100%}.quota-table td,.quota-table th{border-bottom:1px solid #ddd;padding:12px;text-align:left}.quota-table th{color:#495057;font-weight:600}.quota-table tbody tr:hover,.quota-table th{background-color:#f8f9fa}.quota-name{color:#495057;font-weight:500}.local-name{color:#6c757d;font-style:italic}.current-value,.limit-value{font-family:Courier New,monospace;font-weight:500}.usage-percentage{font-weight:600}.usage-status{text-align:center}.status-badge{border-radius:12px;color:#fff;letter-spacing:.5px;text-transform:uppercase}.status-normal{background-color:#28a745}.status-high{background-color:#fd7e14}.status-critical{background-color:#dc3545}.status-unlimited{background-color:#6c757d}.usage-high{color:#fd7e14;font-weight:600}.usage-critical{color:#dc3545;font-weight:600}.quota-count{color:#6c757d;font-size:.9rem;font-weight:400}.location-header{border-bottom:2px solid #007bff;color:#495057;margin-bottom:1rem;padding-bottom:.5rem}.bulk-summary{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.summary-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:1rem}.stat-item{display:flex;flex-direction:column;gap:.25rem}.stat-label{color:#6c757d;font-size:.875rem}.stat-value{color:#495057;font-size:1.25rem;font-weight:600}.stat-value.success{color:#28a745}.stat-value.error{color:#dc3545}.subscription-result{border:1px solid #dee2e6;border-radius:8px;margin-bottom:2rem;overflow:hidden}.subscription-header{align-items:center;background-color:#f8f9fa;border-bottom:1px solid #dee2e6;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1rem 1.5rem}.subscription-header h4{color:#495057;margin:0}.subscription-stats{display:flex;flex-wrap:wrap;font-size:.875rem;gap:1rem}.subscription-stats span{background-color:#e9ecef;border-radius:4px;color:#495057;padding:.25rem .5rem}.location-section{border-bottom:1px solid #f1f3f4;padding:1.5rem}.location-section:last-child{border-bottom:none}.location-section h5{margin-bottom:1rem;margin-top:0}.errors-section{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;margin-bottom:2rem;padding:1rem}.errors-section h4{color:#721c24;margin-bottom:1rem;margin-top:0}.error-list{max-height:200px;overflow-y:auto}.error-item{background-color:#fff;border:1px solid #f5c6cb;color:#721c24;font-size:.875rem;margin-bottom:.5rem;padding:.5rem}.filter-buttons{gap:.5rem}.filter-btn{border:1px solid #dee2e6;border-radius:4px;color:#495057;font-size:.875rem;padding:.5rem 1rem;transition:all .2s ease}.filter-btn:hover{background-color:#f8f9fa;border-color:#adb5bd}.filter-btn.active{border-color:#0000;color:#fff}.form-help{color:#6c757d;display:block;font-size:.875rem;margin-top:.25rem}.file-info{background-color:#e7f3ff;border:1px solid #b3d9ff;border-radius:4px;color:#0056b3;font-size:.875rem;margin-top:.5rem;padding:.5rem}.alert{border:1px solid #0000;border-radius:var(--border-radius);margin-bottom:var(--spacing-md);padding:var(--spacing-md)}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.alert p{line-height:1.5;margin:0}.no-data{margin:var(--spacing-lg) 0;padding:var(--spacing-lg)}.location-section{background-color:#fff;border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-lg)}.location-section .resource-group-header{background-color:#f8f9fa;border-bottom:1px solid var(--border-color);margin-bottom:0}.location-section .resource-group-header h3{margin:0;padding:var(--spacing-md)}.location-section .table-responsive{border:none;border-radius:0;margin-bottom:0}.locations-section{margin-top:var(--spacing-lg)}.rg-filter-group .filter-options{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.rg-filter-group .filter-options input{border:1px solid var(--border-color);border-radius:var(--border-radius);max-width:300px;padding:var(--spacing-xs) var(--spacing-sm)}.rg-filter-group .filter-options input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #007bff40;outline:none}.aws-cost-analyzer-container{margin:0 auto;max-width:1600px;padding:20px}.page-title{border-bottom:2px solid #f90;padding-bottom:8px}.page-description{margin-bottom:20px}.tab-button{transition:all .3s}.tab-button:hover{background-color:#f4f4f4}.tab-button.active{color:#232f3e;font-weight:700}.tab-content{margin-top:20px}.analyzer-form{background-color:#f9f9f9;border-radius:6px;box-shadow:0 2px 4px #0000000d;margin-bottom:30px}.form-group{width:100%}.form-row{display:flex;flex-wrap:wrap;gap:20px}.form-row .form-group{flex:1 1;min-width:200px}label{color:#333;display:block;font-weight:500;margin-bottom:6px}input,select,textarea{border:1px solid #ddd;border-radius:4px;font-size:15px;padding:10px;width:100%}select{background-color:#fff}.form-hint{color:#666;display:block;font-size:13px;margin-top:5px}.submit-button{font-size:15px;font-weight:500;padding:10px 20px}.submit-button:hover{background-color:#f80}.submit-button:disabled{background-color:#ccc}.cancel-button{background-color:#f1f1f1;border:1px solid #ddd;color:#333;font-size:15px;padding:10px 20px}.cancel-button:hover{background-color:#e5e5e5}.date-range-selection{border-bottom:1px solid #eee;border-top:1px solid #eee;margin-bottom:20px;padding:15px 0}.date-range-label{color:#333;display:block;font-weight:500;margin-bottom:12px}.date-range-options{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px}.date-range-button{background-color:#f1f1f1;border:1px solid #ddd;border-radius:4px;color:#333;cursor:pointer;font-size:14px;padding:8px 12px;transition:all .2s}.date-range-button:hover{background-color:#e5e5e5}.date-range-button.active{background-color:#232f3e;border-color:#232f3e;color:#fff;font-weight:500}.error-message{color:#d32f2f;font-weight:500}.results-container{border-radius:6px;box-shadow:0 2px 8px #0000001a}.results-header{flex-wrap:wrap}.results-header h2{flex:1 0 100%;font-size:22px;margin:0 0 10px}.meta-label{font-size:13px;margin-bottom:3px}.meta-value{font-size:15px;font-weight:500}.highlight-cost{color:#f90;font-size:18px;font-weight:700}.charts-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));margin-bottom:10px}.chart-container{background-color:#f9f9f9;box-shadow:0 1px 3px #0000001a}.chart-container h3{color:#232f3e;font-size:18px;margin-bottom:15px;margin-top:0;text-align:center}.accounts-summary,.error-section,.tables-section{margin-top:30px}.accounts-summary h3,.error-section h3,.tables-section h3{color:#232f3e;font-size:18px;margin-bottom:15px}.cost-table{border-collapse:collapse;width:100%}.cost-table td,.cost-table th{border-bottom:1px solid #eee;padding:12px 15px;text-align:left}.cost-table th{background-color:#f4f4f4;color:#333;font-weight:500}.cost-table tr:hover{background-color:#fafafa}.cost-cell{font-family:monospace;font-size:14px;text-align:right}.percent-cell{color:#666;text-align:right}.error-cell{color:#d32f2f}@media (max-width:768px){.results-meta{flex-direction:column;gap:10px}.charts-grid{grid-template-columns:1fr}.form-row{flex-direction:column;gap:10px}.date-range-options{flex-direction:column;gap:8px}.date-range-button{padding:10px;width:100%}}.checkbox-group-container{display:flex;flex-wrap:wrap;gap:15px;margin-top:8px}.checkbox-group{align-items:center;display:flex;gap:8px;margin-top:5px}.checkbox-group input[type=checkbox]{margin-right:5px;width:auto}.checkbox-group label{cursor:pointer;display:inline;margin-bottom:0}.collapsible-section{background-color:#fff;box-shadow:0 1px 3px #0000001a}.section-header{background-color:#f8f8f8;border-bottom:1px solid #eee;padding:15px 20px}.section-header:hover{background-color:#f0f0f0}.section-header h2{color:#232f3e;font-size:20px;margin:0}.toggle-button{background:none;border:none;color:#555;cursor:pointer;font-size:18px;padding:0 10px}.section-content{padding:20px}.visualization-container{display:flex;flex-direction:column;gap:30px}.visualization-group{border-top:1px solid #eee;padding-top:20px}.visualization-group:first-child{border-top:none;padding-top:0}.visualization-group-title{border-bottom:2px solid #f90;color:#232f3e;display:inline-block;font-size:18px;margin-bottom:15px;padding-bottom:8px}.file-upload-wrapper{display:flex;flex-direction:column;width:100%}.file-input{display:none}.file-input-display{background-color:#fff;justify-content:space-between;min-height:42px;padding:10px}.file-input-label{color:#555;flex-grow:1;overflow:hidden;padding-right:10px;text-overflow:ellipsis;white-space:nowrap}.file-select-btn{background-color:#f1f1f1;border:1px solid #ddd;color:#333;font-size:14px;padding:8px 12px}.file-select-btn:hover{background-color:#e5e5e5}.form-help-text{color:#666;font-size:12px;margin-top:5px}.input-method-toggle{border:1px solid #ddd;border-radius:4px;display:flex;margin-bottom:15px;overflow:hidden}.method-toggle-btn{background-color:#f8f8f8;border:none;color:#555;cursor:pointer;flex:1 1;font-size:14px;padding:10px;text-align:center;transition:background-color .2s}.method-toggle-btn.active{background-color:#232f3e;color:#fff;font-weight:500}.method-toggle-btn:hover:not(.active){background-color:#f0f0f0}.method-toggle-btn:first-child{border-right:1px solid #ddd}.submit-button.file-selected{background-color:#f90}.aws-resource-analyzer-container{background-color:#f8f9fa;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin:0 auto;max-width:1200px;padding:20px}.page-title{color:#232f3e;font-size:28px;margin-bottom:10px}.page-description{color:#555;font-size:16px;line-height:1.5;margin-bottom:25px}.tab-button{background:none;border:none;border-bottom:3px solid #0000;color:#555;cursor:pointer;font-size:16px;padding:10px 20px;transition:all .2s}.tab-button:hover{color:#f90}.tab-button.active{border-bottom:3px solid #f90;color:#f90;font-weight:600}.analyzer-form{background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:20px;padding:20px}.form-group label{font-weight:600}.form-group input[type=text],.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:10px 12px;width:100%}.form-group input[type=text]:focus,.form-group select:focus,.form-group textarea:focus{border-color:#f90;box-shadow:0 0 0 2px #f903;outline:none}.custom-regions-input{margin-top:10px}.checkbox-group-container,.radio-group-container{display:flex;flex-wrap:wrap;gap:15px}.checkbox-group,.radio-group{align-items:center;display:flex;gap:5px}.resource-types-container{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.help-text{color:#666;font-size:12px;margin-top:4px}.submit-button{background-color:#f90;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:600;padding:10px 24px;transition:background-color .2s}.submit-button:hover{background-color:#e88a00}.submit-button:disabled{background-color:#ffc266;cursor:not-allowed}.cancel-button{background-color:#f44336;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:600;padding:10px 24px;transition:background-color .2s}.cancel-button:hover{background-color:#d32f2f}.error-message{background-color:#ffebee;border-left:4px solid #c62828;padding:12px 16px}.results-container{background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-top:20px;padding:20px}.results-header{border-bottom:1px solid #eee;flex-direction:column;gap:15px;padding-bottom:15px}.results-header h2{color:#232f3e;font-size:24px;margin:0}.results-meta{display:flex;flex-wrap:wrap;gap:20px}.meta-item{display:flex;flex-direction:column;gap:2px}.meta-label{color:#666;font-size:12px}.meta-value{color:#333;font-size:14px;font-weight:600}.highlight-count{color:#0066c0;font-size:16px}.export-button{align-self:flex-end;font-weight:600;padding:8px 16px}.export-button:hover{background-color:#1a2533}.export-button:disabled{background-color:#697891}.collapsible-section{border:1px solid #eee;border-radius:6px}.section-header{padding:12px 16px}.section-header h3{color:#232f3e;font-size:18px}.toggle-icon{color:#666}.section-content{padding:16px}.charts-row{margin-bottom:20px}.chart-container{border-radius:6px;box-shadow:0 1px 3px #0000000d;flex:1 1;min-width:300px}.chart-container h4{color:#232f3e;font-size:16px;text-align:center}.account-summary-chart{max-width:none;width:100%}.region-summary{background-color:#f9f9f9;border-radius:6px;margin-bottom:15px;padding:15px}.region-summary h4{color:#232f3e;font-size:16px;margin-bottom:10px;margin-top:0}.resource-type-distribution{display:flex;flex-wrap:wrap;gap:10px}.resource-type-badge{align-items:center;background-color:#eef5fd;border:1px solid #d1e3f8;border-radius:20px;display:flex;gap:8px;padding:4px 12px}.resource-type-name{color:#0066c0;font-size:13px}.resource-type-count{background-color:#0066c0;border-radius:10px;color:#fff;font-size:12px;font-weight:600;padding:2px 6px}.tables-section{margin-top:20px}.table-container{margin-bottom:20px;max-width:100%}.resource-table{font-size:13px;table-layout:fixed}.resource-table td,.resource-table th{border-bottom:1px solid #eee;overflow:hidden;padding:8px 10px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.resource-table td:first-child,.resource-table th:first-child{width:18%}.resource-table td:nth-child(2),.resource-table th:nth-child(2){width:22%}.resource-table td:nth-child(3),.resource-table th:nth-child(3){width:16%}.resource-table td:nth-child(4),.resource-table th:nth-child(4){width:14%}.resource-table td:nth-child(5),.resource-table th:nth-child(5){width:16%}.resource-table th{background-color:#f5f5f5;color:#333;font-weight:600}.resource-table tr:hover{background-color:#f9f9f9}.resource-table td:hover{white-space:normal;word-break:break-word}.resource-table [data-tooltip]{cursor:default;position:relative}.resource-table [data-tooltip]:hover:after{background:#333;border-radius:4px;bottom:100%;box-shadow:0 2px 5px #0003;color:#fff;content:attr(data-tooltip);font-size:12px;left:0;max-width:300px;padding:5px 8px;position:absolute;white-space:normal;word-break:break-word;z-index:100}.error-list{display:flex;flex-direction:column;gap:10px}.error-item{background-color:#ffebee;border-left:3px solid #c62828;border-radius:4px;padding:10px 15px}.error-account{font-weight:600;margin-bottom:4px}.error-region{color:#555;font-size:13px;margin-bottom:4px}.error-message{color:#c62828;font-size:13px}.account-detail-section{padding:15px}@media (max-width:768px){.charts-row{flex-direction:column}.chart-container{min-width:100%}.results-meta{flex-direction:column;gap:10px}}@media (max-width:600px){.radio-group-container{flex-direction:column}.radio-group{width:100%}}.radio-group{background-color:#fff;border:1px solid #dee2e6;border-radius:6px;flex:1 1;padding:15px 20px;transition:all .2s}.radio-group:hover{border-color:#f90;box-shadow:0 0 0 1px #f903}.radio-group input[type=radio]{accent-color:#f90;height:16px;margin-right:12px;width:16px}.radio-group label{color:#333;font-size:15px;gap:8px;width:100%}.radio-group-container{gap:12px;margin-top:10px}.info-icon{color:#0066c0;font-size:14px;margin-left:4px;opacity:.7;transition:opacity .2s}.info-icon:hover{opacity:1}.radio-group input[type=radio]:checked+label{color:#f90;font-weight:600}.region-item,.region-list{display:none}.filter-container{margin-bottom:20px}.table-filters{background-color:#f9f9f9;border:1px solid #eee;border-radius:6px;padding:15px}.filter-section,.table-filters{margin-bottom:15px}.filter-section h4{color:#333;font-size:14px;margin-bottom:10px;margin-top:0}.filter-button{background-color:#f2f2f2;border:1px solid #ddd;border-radius:20px;color:#333;cursor:pointer;font-size:12px;padding:5px 12px;transition:all .2s}.filter-button:hover{background-color:#e6e6e6}.filter-button.active{background-color:#f90;border-color:#f90;color:#fff}.filter-button.show-more{background-color:#fff;border:1px dashed #aaa;color:#666}.clear-filters-button{background-color:#f44336;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;margin-top:10px;padding:6px 12px}.clear-filters-button:hover{background-color:#d32f2f}.resource-count{color:#666;font-size:13px;margin-top:15px;text-align:right}.specific-region-dropdown{margin-left:12px;margin-top:12px}.region-dropdown{-webkit-appearance:menulist;appearance:menulist;background-color:#fff;color:#333;cursor:pointer;font-size:14px;max-width:300px;padding:8px 12px;width:100%}.region-dropdown:focus{border-color:#f90;box-shadow:0 0 0 2px #f903;outline:none}.analyzer-container{max-width:100%;overflow-x:hidden}.resource-table{border-collapse:collapse;margin-top:20px;overflow-x:auto;table-layout:auto;white-space:nowrap;width:100%}.resource-table th{background-color:#f0f0f0;border-bottom:2px solid #ddd;font-weight:700;padding:12px 15px;position:sticky;text-align:left;top:0;z-index:10}.resource-table td{border-bottom:1px solid #eee;max-width:200px;overflow:hidden;padding:10px 15px;text-overflow:ellipsis}.resource-name{font-weight:500}.resource-table tr:hover{background-color:#f5f5f5}.instance-state{border-radius:12px;color:#fff;display:inline-block;font-size:12px;font-weight:500;min-width:80px;padding:4px 8px;text-align:center}.instance-list{margin-top:20px;overflow-x:auto;padding-bottom:10px}.visualizations{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:20px}.chart-container{box-shadow:0 2px 4px #0000001a}.filter-section{background-color:#fff;border:1px solid #f0f0f0;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:20px;padding:20px}.filter-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:12px}.filter-header h4{color:#232f3e;font-size:17px;margin:0}.clear-filters-btn{align-items:center;background-color:#f2f2f2;border:1px solid #ddd;border-radius:4px;color:#444;cursor:pointer;display:flex;font-size:13px;gap:6px;padding:6px 12px;transition:all .2s}.clear-filters-btn:hover:not(:disabled){background-color:#e6e6e6;border-color:#ccc}.clear-filters-btn:disabled{cursor:default;opacity:.5}.clear-filters-btn:before{content:"×";font-size:16px;font-weight:700}.filter-group{margin-bottom:15px}.filter-group h5{align-items:center;color:#666;display:flex;font-size:14px;gap:8px;margin:0 0 10px}.filter-group h5:after{background-color:#f0f0f0;content:"";flex:1 1;height:1px}.filter-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.filter-btn{align-items:center;background-color:#fff;border:1px solid #ddd;border-radius:20px;cursor:pointer;display:inline-flex;font-size:13px;padding:6px 12px;transition:all .2s}.filter-btn.active{background-color:#e7f2fd;border-color:#0073bb;color:#0073bb;font-weight:500}.filter-btn:hover:not(.active){background-color:#f9f9f9;border-color:#aaa}.show-less-btn,.show-more-btn{background:none;border:none;color:#0073bb;cursor:pointer;font-size:13px;padding:6px;text-decoration:underline}.region-detail{background-color:#f9f9f9;border-radius:8px;margin-bottom:15px;padding:15px}.region-metrics{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:10px}.account-result-item{background-color:#f9f9f9;border-radius:8px;margin-bottom:15px;padding:15px}.account-result-header{align-items:center;display:flex;justify-content:space-between}.status-badge{border-radius:4px;font-size:12px;font-weight:500;padding:4px 8px}.status-badge.success{background-color:#d4edda;color:#155724}.status-badge.error{background-color:#f8d7da;color:#721c24}@media (max-width:768px){.region-metrics,.visualizations{grid-template-columns:1fr}}.table-container{overflow-x:auto;padding-bottom:8px;width:100%}.table-container th{background-color:#f0f0f0;position:sticky;top:0;z-index:1}.resource-table tbody tr:nth-child(2n){background-color:#f9f9f9}.tooltip{display:inline-block;position:relative}.tooltip:hover:after{background-color:#333;border-radius:4px;bottom:100%;color:#fff;content:attr(data-tooltip);font-size:12px;left:50%;padding:5px 10px;position:absolute;transform:translateX(-50%);white-space:nowrap;z-index:1}.collapsible-section{border:1px solid #ddd;border-radius:8px;margin-bottom:20px;overflow:hidden}.section-header{padding:15px}.section-header:hover{background-color:#e9e9e9}.section-content{border-top:1px solid #ddd;padding:15px}.toggle-icon{font-size:14px;transition:transform .2s}.form-group input[type=text],.form-group textarea{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:10px;width:100%}.form-group textarea{min-height:100px}.cancel-btn,.export-btn,.submit-btn{border:none;border-radius:4px;cursor:pointer;font-weight:500;padding:10px 15px;transition:background-color .2s}.submit-btn{background-color:#f90;border:1px solid #e88b00;color:#fff}.submit-btn:hover{background-color:#e88b00}.submit-btn:disabled{background-color:#ffcc80;border-color:#ffcc80;cursor:not-allowed}.cancel-btn{background-color:#f8f8f8;border:1px solid #ddd;color:#333}.cancel-btn:hover{background-color:#eee}.radio-group-container{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;gap:20px;margin-bottom:10px}.radio-group{align-items:center;gap:8px;white-space:nowrap}.region-dropdown{border:1px solid #ddd;border-radius:4px;margin-left:10px;padding:5px}.error-message{background-color:#f8d7da;margin:20px 0;padding:10px 15px}.header-section{background-color:#232f3e;border-radius:8px;color:#fff;margin-bottom:20px;padding:20px}.header-section h1{color:#f90;margin-bottom:10px}.header-section .description{color:#f0f0f0;margin-bottom:0}.tab-btn{background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;font-size:16px;font-weight:500;padding:10px 20px;transition:all .2s}.tab-btn.active{border-bottom-color:#f90;color:#f90}.tab-btn:hover{color:#e88b00}.bulk-accounts-tab,.single-account-tab{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.form-group{border-bottom:1px solid #eee;margin-bottom:20px;padding-bottom:20px}.form-group:last-child{border-bottom:none}.info-icon{background-color:#f90;border-radius:50%;color:#fff;cursor:help;display:inline-block;font-size:12px;height:16px;line-height:16px;margin-left:5px;text-align:center;width:16px}.form-actions{display:flex;gap:10px;justify-content:flex-end}.filter-tag{background-color:#e7f2fd;border:1px solid #b3d7f5;border-radius:20px;display:inline-flex;font-size:13px;margin-bottom:0;margin-right:0;padding:4px 8px 4px 12px}.filter-tag,.filter-tag button{align-items:center;color:#0073bb}.filter-tag button{background:none;border:none;cursor:pointer;display:flex;font-size:16px;font-weight:700;justify-content:center;margin-left:5px;padding:0 2px}.filter-tag button:hover{color:#005999}.active-filters{align-items:center;background-color:#f9f9f9;border-radius:6px;display:flex;flex-wrap:wrap;gap:10px;margin-top:15px;padding:10px 15px}.results-header-container{margin-bottom:25px}.results-header{background-color:#fff;border:1px solid #eee;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.account-header{display:flex;flex-direction:column;margin-bottom:25px}.account-header h2{color:#232f3e;font-size:22px;font-weight:500;margin:0 0 12px}.account-badge{align-items:center;background-color:#f8f9fa;border-radius:4px;color:#444;display:flex;font-size:16px;font-weight:500;padding:8px 12px;width:fit-content}.account-type-badge{border-radius:4px;display:inline-block;font-size:13px;font-weight:500;margin-left:15px;padding:3px 10px}.account-type-badge.root-account{background-color:#f90;border:1px solid #e88b00;color:#fff}.account-type-badge.member-account{background-color:#e7f2fd;border:1px solid #b3d7f5;color:#0073bb}.account-details-list{display:flex;flex-direction:row;flex-wrap:nowrap;gap:15px;justify-content:space-between;margin-bottom:20px}.account-detail-item{background-color:#f9f9f9;border-left:4px solid #f90;border-radius:6px;display:flex;flex:1 1;flex-direction:column;min-width:0;padding:12px 15px}.card-label{color:#666;font-size:13px;margin-bottom:4px}.card-value{font-size:16px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.export-button-container{margin-top:25px;text-align:center}.export-btn{background-color:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;letter-spacing:.5px;padding:10px 20px;text-transform:uppercase;transition:background-color .2s}.export-btn:hover{background-color:#218838}.export-btn:disabled{background-color:#8fd19e;cursor:not-allowed}.summary-stats-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:15px}.stats-section{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #00000014;height:100%;padding:15px}.stats-section-title{border-bottom:1px solid #eee;color:#232f3e;font-size:17px;margin:0 0 15px;padding-bottom:10px}.stats-cards-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.stats-card{background-color:#f9f9f9;border-radius:6px;box-shadow:0 1px 2px #0000000d;padding:15px;text-align:center;transition:transform .2s}.stats-card:hover{box-shadow:0 3px 5px #0000001a;transform:translateY(-2px)}.stats-card-value{color:#232f3e;font-size:22px;font-weight:600;margin-bottom:5px}.stats-card-label{color:#666;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stats-more-card{background-color:#f0f0f0;border-top:4px solid #999}@media (max-width:1200px){.summary-stats-container{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}@media (max-width:992px){.account-details-list{flex-wrap:wrap}.account-detail-item{flex:1 1 47%;margin-bottom:10px}}@media (max-width:768px){.summary-stats-container{grid-template-columns:1fr}.stats-cards-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}.stats-card-value{font-size:18px}.stats-card-label{font-size:12px}.account-details-list{flex-direction:column}.account-detail-item{flex:1 1 100%}}.analyze-btn-container{display:flex;justify-content:flex-start;margin-bottom:30px;margin-top:-20px;position:relative;z-index:10}.analyze-btn{background-color:#f90;border:1px solid #e88b00;border-radius:4px;color:#fff;cursor:pointer;font-size:15px;font-weight:500;padding:10px 20px;transition:background-color .2s}.analyze-btn:hover{background-color:#e88b00}.filter-check{color:#0073bb;font-size:12px;margin-left:5px}.filter-header h4 span{color:#0073bb;font-size:14px;font-weight:400;margin-left:6px}.active-filters strong{color:#555;font-size:13px;margin-right:8px}.list-header{border-bottom:1px solid #eee;display:flex;flex-direction:column;gap:10px;margin-bottom:15px;padding-bottom:10px}.instance-count{color:#555;font-size:14px}.instance-count strong{color:#333}.instance-count span{color:#0073bb;font-weight:500}.account-info-container{display:flex;flex-direction:column;gap:10px}.org-info{background-color:#f8f9fa;border-radius:4px;color:#555;font-size:14px;padding:5px 12px;width:fit-content}.account-tab{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.aws-invoice-analyzer{display:flex;flex-direction:column;height:100%;padding:20px}.page-header{margin-bottom:20px}.page-header h2{color:#232f3e;margin-bottom:10px}.page-header .description{color:#666;font-size:.9rem}.tab-container{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;flex:1 1;overflow:auto;padding:20px}.tabs{border-bottom:1px solid #ddd;display:flex;margin-bottom:20px}.tab{background:none;border:none;color:#555;cursor:pointer;font-size:1rem;font-weight:500;padding:10px 20px;transition:all .2s}.tab:hover{color:#f90}.tab.active{border-bottom:3px solid #f90;color:#f90}.section-header{align-items:center;background-color:#f5f5f5;border-radius:5px;cursor:pointer;display:flex;justify-content:space-between;margin:20px 0 15px;padding:12px 15px;transition:background-color .2s}.section-header:hover{background-color:#eee}.section-header h3{color:#333;font-size:1.1rem;margin:0}.toggle-icon{color:#555;font-size:.8rem;transition:transform .3s}.toggle-icon.expanded{transform:rotate(0deg)}.toggle-icon.collapsed{transform:rotate(-90deg)}.analysis-form{margin-bottom:30px}.form-group{margin-bottom:15px}.form-group label{color:#333;display:block;font-weight:500;margin-bottom:8px}.form-group input[type=number],.form-group input[type=text],.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:4px;font-size:.9rem;padding:10px;width:100%}.form-group textarea{min-height:80px;resize:vertical}.checkbox-label{align-items:center;cursor:pointer;display:flex;font-weight:400}.checkbox-label input{margin-right:8px}.radio-group{display:flex;gap:20px}.radio-group label{align-items:center;cursor:pointer;display:flex;font-weight:400;margin-bottom:0}.radio-group input{margin-right:8px}.form-actions{margin-top:20px}.primary-button{background-color:#f90;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:10px 20px;transition:background-color .2s}.primary-button:hover{background-color:#e68a00}.primary-button:disabled{background-color:#ccc;cursor:not-allowed}.analysis-results{margin-top:30px}.results-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.results-header-left{align-items:center;display:flex;gap:15px}.results-header h3{color:#232f3e;margin:0}.back-button{align-items:center;background-color:#f0f0f0;border-radius:4px;color:#333;display:flex;font-size:.9rem;padding:6px 12px;transition:all .2s ease}.back-button:hover{background-color:#e0e0e0}.export-button{background-color:#232f3e;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 15px;transition:background-color .2s}.export-button:hover{background-color:#1a2530}.export-button:disabled{background-color:#ccc;cursor:not-allowed}.summary-cards{display:flex;gap:20px;margin-bottom:30px}.summary-card{background-color:#f8f8f8;border-radius:8px;box-shadow:0 2px 5px #0000000d;flex:1 1;padding:15px;text-align:center}.summary-card h4{color:#555;font-size:.9rem;margin-bottom:10px;margin-top:0}.card-value{color:#232f3e;font-size:1.3rem;font-weight:700}.visualizations{margin-bottom:30px}.chart-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 5px #0000000d;margin-bottom:20px;padding:15px}.chart-container h4{color:#333;font-size:1rem;margin-bottom:15px;margin-top:0}.charts-row{display:flex;flex-wrap:wrap;gap:20px}.charts-row .chart-container{flex:1 1;min-width:300px}.data-table{border-collapse:collapse;margin-bottom:30px;width:100%}.data-table td,.data-table th{border-bottom:1px solid #ddd;padding:12px 15px;text-align:left}.data-table th{background-color:#f5f5f5;color:#333;font-weight:600}.data-table tbody tr:hover{background-color:#f9f9f9}.data-table .selected-row{background-color:#f0f7ff}.download-link{background:none;border:none;border-radius:4px;color:#06c;cursor:pointer;font-size:.9rem;font-weight:500;margin-right:8px;padding:4px 8px;text-decoration:none;transition:background-color .2s}.download-link:hover{background-color:#0066cc1a}.download-link.pdf-link{color:#e74c3c}.download-link.pdf-link:hover{background-color:#e74c3c1a}.download-link.csv-link{color:#27ae60}.download-link.csv-link:hover{background-color:#27ae601a}.download-link.xlsx-link{color:#2980b9}.download-link.xlsx-link:hover{background-color:#2980b91a}.download-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.pdf-link{color:#e74c3c}.csv-link{color:#27ae60}.xlsx-link{color:#2980b9}.official-badge{color:#27ae60;font-size:.9rem;font-weight:700}.estimated-badge,.official-badge{display:inline-block;margin-left:6px}.estimated-badge{background-color:#f1c40f;border-radius:3px;color:#333;font-size:.7rem;padding:2px 5px}.invoice-metadata{background-color:#f8f8f8;border-radius:6px;margin-bottom:20px;padding:15px}.invoice-metadata h4{color:#333;font-size:1rem;margin-bottom:12px;margin-top:0}.metadata-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.metadata-item{display:flex;margin-bottom:6px}.metadata-label{color:#666;font-weight:500;margin-right:6px;min-width:100px}.metadata-value{color:#333}.additional-metadata{border-top:1px dashed #ddd;margin-top:20px;padding-top:15px}.additional-metadata h4{color:#333;font-size:1rem;margin-bottom:12px;margin-top:0}.invoice-detail-section{margin-bottom:20px}.invoice-detail-section h4{color:#333;font-size:1rem;margin-bottom:12px;margin-top:0}.nested-table{border-collapse:collapse;font-size:.9rem;width:100%}.nested-table td,.nested-table th{border-bottom:1px solid #eee;padding:8px 12px;text-align:left}.nested-table th{background-color:#f5f5f5;color:#333;font-weight:600}.bulk-analysis-container{margin-bottom:30px}.bulk-tabs{display:flex;margin-bottom:20px}.bulk-tab{background-color:#f5f5f5;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:.9rem;margin-right:10px;padding:8px 15px;transition:all .2s}.bulk-tab:hover{background-color:#eee}.bulk-tab.active{background-color:#f90;border-color:#f90;color:#fff}.error-message{background-color:#fdecea;border-left:4px solid #f44336;border-radius:4px;margin-bottom:20px;padding:15px}.error-message p{color:#d32f2f;margin:0}.warning-message{background-color:#fff8e1;border-left:4px solid #ffc107;border-radius:4px;margin-bottom:20px;padding:15px}.warning-message p{color:#856404;margin:0}.month-select-row{align-items:center;display:flex;gap:10px;margin-bottom:10px}.month-select-row select{flex:1 1}.remove-month-btn{background-color:#f44336;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;padding:8px 12px;transition:background-color .2s}.remove-month-btn:hover{background-color:#d32f2f}.add-month-btn{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;margin-top:10px;padding:8px 15px;transition:background-color .2s}.add-month-btn:hover{background-color:#43a047}.add-month-btn:disabled{background-color:#ccc;cursor:not-allowed}.empty-months-message{color:#888;font-style:italic;margin-bottom:10px}.view-details-button{background-color:#2196f3;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;margin-left:8px;padding:6px 10px;transition:background-color .2s}.view-details-button:hover{background-color:#1976d2}.detail-row{background-color:#f8f8f8}.detail-row td{padding:15px 20px}@media (max-width:768px){.charts-row,.summary-cards{flex-direction:column}.charts-row .chart-container{min-width:auto}}.info-cards-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-bottom:30px}.info-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 5px #0000000d;padding:20px;transition:all .2s ease}.info-card:hover{box-shadow:0 5px 15px #0000001a;transform:translateY(-2px)}.info-card h4{border-bottom:1px solid #f0f0f0;color:#232f3e;font-size:1.1rem;margin-bottom:15px;margin-top:0;padding-bottom:10px}.card-content{padding:5px 0}.trend-indicator{font-size:1.2rem;font-weight:500;margin-bottom:15px;text-align:center}.trend-up{color:#e74c3c}.trend-down{color:#27ae60}.card-stat{border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:8px 0}.card-stat:last-child{border-bottom:none}.stat-label{color:#666;font-weight:500}.stat-value{color:#333;font-size:.95rem;font-weight:700}.region-distribution,.top-services{display:flex;flex-direction:column;gap:12px}.region-item,.service-item{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.region-name,.service-name{flex:1 1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.region-cost,.service-cost{color:#333;font-weight:600;min-width:80px;text-align:right}.region-percentage{color:#f90;font-weight:600;min-width:50px;text-align:right}.service-bar{background-color:#f0f0f0;border-radius:4px;flex:1 1;height:8px;min-width:100px;overflow:hidden}.service-bar-fill{background-color:#f90;border-radius:4px;height:100%}.no-data{color:#999;font-style:italic;padding:15px 0;text-align:center}.period-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:15px}.period-button{background-color:#f5f5f5;border:1px solid #ddd;border-radius:4px;cursor:pointer;flex:1 1;font-size:.9rem;min-width:120px;padding:10px 15px;text-align:center;transition:all .2s}.period-button:hover{background-color:#e9e9e9;border-color:#ccc}.period-button.active{background-color:#f90;border-color:#f90;color:#fff;font-weight:500}.custom-period-container{background-color:#f9f9f9;border:1px solid #eee;border-radius:6px;margin-bottom:20px;padding:15px}.date-range-row{display:flex;flex-wrap:wrap;gap:20px}.date-picker{flex:1 1;min-width:200px}.date-picker label{color:#333;display:block;font-weight:500;margin-bottom:8px}.date-inputs{display:flex;gap:10px}.date-inputs select{border:1px solid #ddd;border-radius:4px;flex:1 1;font-size:.9rem;padding:8px 10px}@media (max-width:768px){.date-range-row,.period-buttons{flex-direction:column}.date-range-row{gap:15px}}.metadata-card{grid-column:span 2}.metadata-scrollable{max-height:300px;overflow-y:auto;padding-right:10px}.metadata-scrollable::-webkit-scrollbar{width:6px}.metadata-scrollable::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.metadata-scrollable::-webkit-scrollbar-thumb{background:#ddd;border-radius:10px}.metadata-scrollable::-webkit-scrollbar-thumb:hover{background:#ccc}.metadata-separator{border-top:1px dashed #ddd;color:#666;font-weight:600;margin:10px 0;padding-top:10px}.empty-metadata{color:#666;font-style:italic;grid-column:1/-1;padding:20px;text-align:center}.file-upload-group{margin-bottom:25px}.file-upload-container{align-items:center;display:flex;margin-bottom:10px}.file-upload-container input[type=file]{background-color:#f8f8f8;border:1px solid #ddd;border-radius:4px;flex:1 1;padding:8px}.file-upload-container input[type=file].file-error{background-color:#fff8f8;border-color:#f44336}.reset-button{align-items:center;background-color:#e0e0e0;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:12px;height:28px;justify-content:center;margin-left:10px;transition:all .2s;width:28px}.reset-button:hover{background-color:#d0d0d0;color:#333}.file-info{align-items:center;display:flex;font-size:.9rem;margin-bottom:8px}.file-name{color:#2196f3;font-weight:500;margin-right:5px}.file-size{color:#666;font-size:.8rem}.file-error-message{color:#f44336;font-size:.9rem;margin-bottom:8px;margin-top:5px}.upload-progress-container{background-color:#f0f0f0;border-radius:3px;height:6px;margin-bottom:15px;overflow:hidden;position:relative}.upload-progress-bar{background-color:#4caf50;border-radius:3px;height:100%;transition:width .3s ease}.upload-progress-text{color:#666;font-size:.8rem;position:absolute;right:5px;top:-15px}.file-info-text{background-color:#f8f8f8;border-left:3px solid #2196f3;border-radius:4px;margin-top:10px;padding:10px 15px}.file-info-text p{color:#666;font-size:.85rem;margin:5px 0}.file-input-display{align-items:center;background-color:#f8f8f8;border:1px solid #ddd;border-radius:4px;display:flex;gap:10px;margin-bottom:10px;padding:8px 12px}.file-input-display .file-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-select-btn{background-color:#2196f3;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 15px;transition:background-color .2s;white-space:nowrap}.file-select-btn:hover{background-color:#0b7dda}.hidden-file-input{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.account-detail-container{background-color:#fff;border-radius:6px;box-shadow:0 1px 3px #0000001a;padding:10px}.account-detail-header{border-bottom:1px solid #eee;margin-bottom:15px;padding-bottom:10px}.account-detail-header h4{color:#232f3e;font-size:1.1rem;margin:0}.detail-section{background-color:#fff;border-radius:6px;box-shadow:0 1px 3px #0000000d;margin-bottom:20px;padding:15px}.detail-section h5{border-bottom:1px solid #f0f0f0;color:#333;font-size:1rem;margin-bottom:15px;margin-top:0;padding-bottom:8px}.data-table tbody tr{cursor:pointer;transition:background-color .2s}.data-table tbody tr:hover{background-color:#f5f5f5}.data-table .selected-row{background-color:#e6f2ff}.select-file-button{background-color:#2196f3;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;margin-left:15px;padding:10px 20px;transition:background-color .2s}.select-file-button:hover{background-color:#0b7dda}.job-progress-container{display:flex;flex-direction:column;gap:.5rem;width:100%}.job-progress-container.progress-small{gap:.25rem}.progress-header{align-items:center;display:flex;font-size:.9rem;justify-content:space-between}.progress-label{align-items:center;color:#495057;display:flex;font-weight:600;gap:.5rem}.progress-text{color:#212529}.progress-text-small{align-items:center;color:#495057;display:flex;font-size:.75rem;font-weight:600;gap:.25rem}.progress-bar-container{position:relative;width:100%}.progress-bar{border-radius:6px;box-shadow:inset 0 1px 2px #0000001a;height:12px}.progress-bar.progress-small{border-radius:3px;height:6px}.progress-fill{border-radius:inherit;overflow:hidden;transition:width .4s ease}.progress-running .progress-fill{background:linear-gradient(90deg,#007bff,#0056b3)}.progress-completed .progress-fill{background:linear-gradient(90deg,#28a745,#1e7e34)}.progress-failed .progress-fill{background:linear-gradient(90deg,#dc3545,#bd2130)}.progress-cancelled .progress-fill,.progress-default .progress-fill{background:linear-gradient(90deg,#6c757d,#545b62)}.progress-bar:hover{box-shadow:inset 0 1px 2px #0000001a,0 0 0 2px #007bff1a}.progress-completed .progress-fill{box-shadow:0 0 4px #28a7454d}.progress-failed .progress-fill{box-shadow:0 0 4px #dc35454d}.progress-bar[role=progressbar]{position:relative}.progress-bar[role=progressbar]:focus{outline:2px solid #007bff;outline-offset:2px}@media (max-width:768px){.progress-header{font-size:.8rem}.progress-bar{height:10px}.progress-bar.progress-small{height:5px}.progress-text-small{font-size:.7rem}}.my-jobs-container{background:#f8f9fa;margin:0 auto;max-width:1200px;min-height:calc(100vh - 4rem);padding:2rem}.my-jobs-header{align-items:flex-start;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;margin-bottom:2rem;padding:1.5rem}.header-title{align-items:center;display:flex;gap:2rem}.header-title h1{color:#212529;font-size:2rem;font-weight:600;margin:0}.auto-refresh-indicator{font-size:.85rem}.refresh-text{font-weight:500}.my-jobs-controls{align-items:center;display:flex;gap:1rem}.status-filter{background:#fff;border:1px solid #ced4da;border-radius:6px;color:#495057;font-size:.9rem;padding:.5rem 1rem}.status-filter:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.refresh-btn{align-items:center;background:linear-gradient(135deg,#6b46c1,#553c9a);border:none;border-radius:8px;box-shadow:0 2px 8px #6b46c14d;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.5rem 1rem;transition:all .3s ease;white-space:nowrap}.refresh-btn:hover:not(:disabled){background:linear-gradient(135deg,#553c9a,#6b46c1);box-shadow:0 4px 12px #6b46c166;transform:translateY(-1px)}.refresh-btn:disabled{box-shadow:0 2px 8px #6b46c14d;cursor:not-allowed;opacity:.6;transform:none}.btn{border-radius:6px;font-size:.9rem;font-weight:500;padding:.5rem 1rem}.btn-success:hover:not(:disabled){background:#1e7e34;border-color:#1c7430}.btn-warning{background:#ffc107;border:1px solid #ffc107;color:#212529}.btn-warning:hover:not(:disabled){background:#e0a800;border-color:#d39e00;color:#212529}.btn-danger{background:#dc3545;border:1px solid #dc3545;color:#fff}.btn-danger:hover:not(:disabled){background:#c82333;border-color:#bd2130}.jobs-summary{color:#6c757d;font-size:.9rem;margin-bottom:1rem}.success-message{animation:slideIn .3s ease-out;background:#d4edda;border:1px solid #c3e6cb;border-radius:8px;color:#155724;margin-bottom:1rem;padding:1rem}.success-content{align-items:center;display:flex;gap:.5rem}.success-icon{font-size:1.2rem}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.error-message{align-items:center;background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;color:#721c24;display:flex;justify-content:space-between;margin-bottom:1rem;padding:1rem}.no-jobs{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;color:#6c757d;padding:4rem 2rem;text-align:center}.no-jobs-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.no-jobs h3{color:#495057;margin:0 0 1rem}.no-jobs p{line-height:1.5;margin:.5rem 0}.jobs-list{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.jobs-table{width:100%}.table-header{background:#f8f9fa;border-bottom:2px solid #e9ecef;color:#495057;font-size:.85rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.table-header,.table-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 2fr;padding:1rem}.table-row{align-items:center;border-bottom:1px solid #f1f3f4;transition:background-color .2s ease}.table-row:hover{background:#f8f9fa}.table-row:last-child{border-bottom:none}.col-type{display:flex;flex-direction:column;gap:.25rem}.job-type-title{color:#212529;font-size:.95rem;font-weight:600}.job-id-short{background:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;color:#6c757d;font-family:Courier New,monospace;font-size:.75rem;padding:.125rem .375rem;width:fit-content}.col-status{display:flex;justify-content:flex-start}.status-badge{border-radius:16px;font-size:.75rem;gap:.375rem;padding:.375rem .75rem;white-space:nowrap}.col-created{color:#6c757d;font-size:.85rem}.created-time{white-space:nowrap}.col-progress{flex:1.5 1;min-width:180px;padding:0 .5rem}.progress-container{display:flex;flex-direction:column;gap:.5rem}.items-count{align-items:center;display:flex;font-size:.85rem;gap:.25rem;justify-content:center}.processed{color:#28a745;font-weight:600}.separator{color:#6c757d}.total{color:#495057}.failed-count{color:#dc3545;font-weight:500}.col-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.download-btn,.view-details-btn{font-size:.8rem;padding:.375rem .75rem;white-space:nowrap}.spinner-small{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:currentcolor;height:12px;width:12px}.pagination{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;gap:1rem;justify-content:center;margin-top:2rem;padding:1rem}.page-info{color:#495057;font-weight:500}.page-btn{padding:.5rem 1rem}@media (max-width:1024px){.table-header,.table-row{grid-template-columns:2fr 1fr 1.5fr 1.5fr}.col-created{display:none}}@media (max-width:768px){.my-jobs-container{padding:1rem}.my-jobs-header{align-items:stretch}.header-title,.my-jobs-header{flex-direction:column;gap:1rem}.header-title{align-items:flex-start}.my-jobs-controls{justify-content:space-between}.jobs-table{overflow-x:auto}.table-header,.table-row{grid-template-columns:2fr 1fr 2fr;min-width:500px}.col-created,.col-progress{display:none}.col-actions{flex-direction:column;gap:.25rem;justify-content:center}.download-btn,.view-details-btn{font-size:.75rem;justify-content:center;padding:.25rem .5rem;width:100%}.pagination{flex-direction:column;gap:.5rem}}@media (max-width:480px){.my-jobs-container{padding:.5rem}.table-header,.table-row{grid-template-columns:1fr 1fr;min-width:350px}.col-status{display:none}.col-type{padding-right:1rem}.download-btn,.view-details-btn{font-size:.7rem;padding:.2rem .4rem}}.job-details-container{background:#f8f9fa;margin:0 auto;max-width:1200px;min-height:calc(100vh - 4rem);padding:2rem}.job-details-header{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem;padding:1.5rem}.header-top{justify-content:space-between;margin-bottom:1.5rem}.header-actions,.header-top{align-items:center;display:flex}.header-actions{gap:1rem}.back-button{background:linear-gradient(135deg,#6b46c1,#553c9a);border:none;border-radius:8px;box-shadow:0 2px 8px #6b46c14d;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.back-button:hover{background:linear-gradient(135deg,#553c9a,#6b46c1);box-shadow:0 4px 12px #6b46c166;transform:translateY(-1px)}.download-btn-header,.refresh-btn-header{align-items:center;background:linear-gradient(135deg,#6b46c1,#553c9a);border:none;border-radius:8px;box-shadow:0 2px 8px #6b46c14d;color:#fff;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease;white-space:nowrap}.download-btn-header:hover:not(:disabled),.refresh-btn-header:hover:not(:disabled){background:linear-gradient(135deg,#553c9a,#6b46c1);box-shadow:0 4px 12px #6b46c166;transform:translateY(-1px)}.job-title-section{margin-bottom:1rem;text-align:center}.job-title-section h1{color:#212529;font-size:2rem;font-weight:600;margin:0 0 .5rem}.job-status-badge{margin-bottom:1rem}.status-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.5rem 1rem}.status-badge.status-pending{background:#fff3cd;border:1px solid #ffeaa7;color:#856404}.status-badge.status-running{background:#d1ecf1;border:1px solid #bee5eb;color:#0c5460}.status-badge.status-completed{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.status-badge.status-failed{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.status-badge.status-cancelled{background:#e2e3e5;border:1px solid #d6d8db;color:#383d41}.auto-refresh-indicator{align-items:center;background:#e8f4fd;border:1px solid #bee5eb;border-radius:20px;color:#0c5460;display:flex;font-size:.9rem;gap:.5rem;justify-content:center;margin:0 auto;padding:.5rem 1rem;width:fit-content}.refresh-icon{font-size:1rem;transition:transform .5s ease}.refresh-icon.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.refreshing-text{color:#007bff;font-weight:500;margin-left:.5rem}.job-details-content{display:flex;flex-direction:column;gap:2rem}.job-info-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr}.job-info-section,.job-metrics-section,.job-parameters-section,.job-timestamps-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem}.job-info-section h3,.job-metrics-section h3,.job-parameters-section h3,.job-timestamps-section h3{border-bottom:2px solid #e9ecef;color:#212529;font-size:1.3rem;font-weight:600;margin:0 0 1.5rem;padding-bottom:.5rem}.info-item,.timestamp-item{align-items:center;border-bottom:1px solid #f8f9fa;display:flex;justify-content:space-between;padding:.75rem 0}.info-item:last-child,.timestamp-item:last-child{border-bottom:none}.info-item label,.timestamp-item label{color:#495057;font-size:.95rem;font-weight:600}.job-id-full{background:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;font-family:Courier New,monospace;font-size:.85rem;padding:.25rem .5rem;word-break:break-all}.status-text{align-items:center;display:inline-flex;font-weight:600;gap:.5rem}.status-text.status-pending{color:#856404}.status-text.status-running{color:#0c5460}.status-text.status-completed{color:#155724}.status-text.status-failed{color:#721c24}.status-text.status-cancelled{color:#383d41}.progress-section{margin-bottom:1.5rem}.progress-text{color:#495057;font-weight:600;margin-top:.5rem;text-align:center}.metrics-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(4,1fr)}.metric-item{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1rem;text-align:center}.metric-value{color:#212529;display:block;font-size:1.8rem;font-weight:700}.metric-value.success{color:#28a745}.metric-value.failed{color:#dc3545}.metric-label{color:#6c757d;display:block;font-size:.85rem;font-weight:500;margin-top:.25rem}.parameters-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.parameter-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1rem;transition:all .2s ease}.parameter-card:hover{border-color:#007bff;box-shadow:0 2px 4px #007bff1a}.parameter-label{border-bottom:1px solid #dee2e6;color:#495057;font-size:.9rem;font-weight:600;margin-bottom:.5rem;padding-bottom:.25rem;text-transform:capitalize}.parameter-value{color:#212529}.parameter-text{font-size:.95rem}.parameter-json,.parameter-text{line-height:1.4;word-break:break-word}.parameter-json{background:#fff;border:1px solid #dee2e6;border-radius:4px;color:#495057;font-size:.85rem;margin:0;overflow-x:auto;padding:.75rem;white-space:pre-wrap}.timestamps-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:1fr 1fr}.job-error-section{background:#fff;border-left:4px solid #dc3545;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem}.job-error-section h3{color:#dc3545;font-size:1.3rem;font-weight:600;margin:0 0 1rem}.error-message-content{background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;color:#721c24;font-family:Courier New,monospace;font-size:.9rem;line-height:1.4;padding:1rem;white-space:pre-wrap;word-break:break-word}.job-status-info{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem}.failed-info,.no-results-info{border-radius:8px;font-size:.95rem;line-height:1.4;padding:1rem}.no-results-info{background:#fff3cd;border:1px solid #ffeaa7;color:#856404}.failed-info{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s ease}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background:linear-gradient(135deg,#6b46c1,#553c9a);border:none;box-shadow:0 2px 8px #6b46c14d;color:#fff}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#553c9a,#6b46c1);box-shadow:0 4px 12px #6b46c166;transform:translateY(-1px)}.btn-secondary{background:linear-gradient(135deg,#6b46c1,#553c9a);border:none;box-shadow:0 2px 8px #6b46c14d;color:#fff}.btn-secondary:hover:not(:disabled){background:linear-gradient(135deg,#553c9a,#6b46c1);box-shadow:0 4px 12px #6b46c166;transform:translateY(-1px)}.btn-success{background:linear-gradient(135deg,#6b46c1,#553c9a);border:none;box-shadow:0 2px 8px #6b46c14d;color:#fff}.btn-success:hover:not(:disabled){background:linear-gradient(135deg,#553c9a,#6b46c1);box-shadow:0 4px 12px #6b46c166;transform:translateY(-1px)}.spinner{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:currentcolor;height:16px;width:16px}.job-details-error{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:3rem;text-align:center}.job-details-error h2{color:#dc3545;margin-bottom:1rem}.error-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem}@media (max-width:768px){.job-details-container{padding:1rem}.header-top{align-items:stretch;flex-direction:column;gap:1rem}.header-actions{flex-wrap:wrap;justify-content:center}.job-title-section h1{font-size:1.5rem}.job-info-grid{grid-template-columns:1fr}.metrics-grid{grid-template-columns:repeat(2,1fr)}.parameters-grid,.timestamps-grid{grid-template-columns:1fr}.download-btn-header,.refresh-btn-header{font-size:.9rem;padding:.6rem 1.2rem}}@media (max-width:480px){.job-details-container{padding:.5rem}.header-actions{flex-direction:column;gap:.5rem}.download-btn-header,.refresh-btn-header{justify-content:center;width:100%}.parameters-grid{gap:.5rem}.parameter-card{padding:.75rem}}.progress-bar{background:#e9ecef;border-radius:4px;height:8px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,#007bff,#0056b3);border-radius:4px;height:100%;position:relative;transition:width .3s ease}
/*# sourceMappingURL=main.9a0945b1.css.map*/