@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";.sidebar{width:220px;min-width:220px;background:#fff;display:flex;flex-direction:column;height:100vh;position:sticky;top:0;overflow-y:auto;border-right:1px solid #e8eaed}.sidebar-header{padding:18px 16px;border-bottom:1px solid #e8eaed;display:flex;align-items:center;gap:10px}.sidebar-logo-icon{flex-shrink:0;line-height:0}.sidebar-header-text h2{font-size:14px;font-weight:700;margin:0;color:#1a1a2e;line-height:1.2}.sidebar-version{font-size:11px;color:#6b7280;font-weight:400}.sidebar-nav{flex:1;padding:8px 0;overflow-y:auto}.sidebar-group-btn{display:flex;align-items:center;width:100%;padding:10px 16px;background:none;border:none;border-left:3px solid transparent;color:#6b7280;cursor:pointer;font-size:13px;font-weight:500;font-family:inherit;transition:all .15s ease;text-align:left;line-height:1.3}.sidebar-group-btn:hover{background:#f5f7fa;color:#1a1a2e}.sidebar-group-btn.active{background:#f0f6ff;border-left-color:#0078d4;font-weight:600;color:#0078d4}.sidebar-group-icon{margin-right:10px;font-size:15px;width:20px;text-align:center;flex-shrink:0}.sidebar-group-label{flex:1}.sidebar-bottom{margin-top:auto;border-top:1px solid #e8eaed}.sidebar-cost-savings{padding:12px 12px 0}.sidebar-cost-savings-link{display:block;padding:12px 14px;background:linear-gradient(135deg,#fef3cd,#fde68a);border:1px solid #f6d55c;border-radius:8px;text-decoration:none;color:#1a1a2e;transition:all .2s ease}.sidebar-cost-savings-link:hover{transform:translateY(-1px);box-shadow:0 3px 10px #f6d55c59}.sidebar-cost-savings-link.active{box-shadow:0 3px 10px #f6d55c59;border-color:#e5b800}.sidebar-cost-savings-header{margin-bottom:6px}.sidebar-cost-savings-badge{font-size:10px;font-weight:700;letter-spacing:.8px;color:#92600a;text-transform:uppercase}.sidebar-cost-savings-body{display:flex;align-items:center;justify-content:space-between}.sidebar-cost-savings-label{font-size:13px;font-weight:600;color:#1a1a2e}.sidebar-cost-savings-arrow{font-size:16px;opacity:.7;transition:transform .2s}.sidebar-cost-savings-link:hover .sidebar-cost-savings-arrow{transform:translate(3px);opacity:1}.sidebar-tenant-context{padding:12px 14px;margin:8px 12px 0;background:#f5f7fa;border-radius:6px}.sidebar-tenant-title{font-size:10px;font-weight:700;letter-spacing:.8px;color:#6b7280;text-transform:uppercase;margin-bottom:4px}.sidebar-tenant-id{font-size:11px;color:#1a1a2e;font-family:Consolas,Monaco,monospace;word-break:break-all;line-height:1.4}.sidebar-footer{padding:12px 14px;font-size:10px;color:#9ca3af;text-align:center;line-height:1.4}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:#0000001a;border-radius:2px}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:#0000001a;border-radius:2px}.main-wrapper{flex:1;display:flex;flex-direction:column;min-height:100vh;overflow:hidden}.app-header{display:flex;align-items:center;justify-content:space-between;padding:10px 24px;background:#fff;border-bottom:1px solid #e8eaed;z-index:10;gap:16px}.header-left{display:flex;flex-direction:column;gap:2px;min-width:0}.header-brand{font-size:11px;font-weight:500;color:#9ca3af;letter-spacing:.2px}.header-breadcrumb{display:flex;align-items:center;gap:6px;font-size:13px}.breadcrumb-item{color:#6b7280;font-weight:400}.breadcrumb-current{color:#1a1a2e;font-weight:600}.breadcrumb-separator{color:#d1d5db;font-size:11px}.header-center{flex:1;display:flex;justify-content:center;max-width:400px}.header-search{position:relative;width:100%}.header-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);pointer-events:none}.header-search-input{width:100%;padding:8px 16px 8px 36px;border:1px solid #e8eaed;border-radius:8px;font-size:13px;font-family:inherit;background:#f5f7fa;color:#1a1a2e;outline:none;transition:border-color .15s,box-shadow .15s,background .15s}.header-search-input:focus{border-color:#0078d4;box-shadow:0 0 0 2px #0078d41f;background:#fff}.header-search-input::placeholder{color:#9ca3af}.header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.sub-tabs{display:flex;align-items:center;gap:0;padding:0 24px;background:#fff;border-bottom:1px solid #e8eaed}.sub-tab{display:inline-flex;align-items:center;padding:12px 18px;border:none;border-bottom:2px solid transparent;background:none;color:#6b7280;font-size:13px;font-weight:500;text-decoration:none;transition:all .15s ease;white-space:nowrap}.sub-tab:hover{color:#0078d4;background:#f5f7fa}.sub-tab.active{color:#0078d4;border-bottom-color:#0078d4;font-weight:600}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#16213e 40%,#0f3460);padding:20px}.login-card{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:460px;width:100%;padding:44px}.login-header{text-align:center;margin-bottom:36px}.login-logo{font-size:48px;margin-bottom:12px}.login-header h1{font-size:26px;font-weight:700;color:#1a1a2e;margin-bottom:8px}.login-header p{color:#8a8a8a;font-size:13px;line-height:1.5}.login-form{display:flex;flex-direction:column;gap:18px}.form-field{display:flex;flex-direction:column;gap:6px}.cost-savings{display:flex;flex-direction:column;gap:24px}.cost-total-banner{background:linear-gradient(135deg,#0f4c8a,#1a73c8,#0078d4);border-radius:12px;padding:32px 40px;color:#fff;box-shadow:0 4px 20px #0078d44d}.cost-total-inner{display:flex;align-items:center;gap:28px}.cost-total-icon{font-size:56px;flex-shrink:0}.cost-total-content{flex:1}.cost-total-label{font-size:14px;opacity:.85;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.cost-total-amount{font-size:52px;font-weight:800;line-height:1.1;letter-spacing:-.02em}.cost-total-period{font-size:24px;font-weight:400;opacity:.8}.cost-total-yearly{font-size:16px;opacity:.75;margin-top:4px}.cost-total-stats{display:flex;gap:32px;flex-shrink:0}.cost-stat{text-align:center}.cost-stat-value{font-size:32px;font-weight:700}.cost-stat-label{font-size:12px;opacity:.75;text-transform:uppercase;letter-spacing:.05em}.cost-items-grid{display:flex;flex-direction:column;gap:12px}.cost-item-card{background:#fff;border-radius:8px;border:1px solid #e1e1e1;border-left:4px solid #0078d4;padding:20px 24px;box-shadow:0 1px 4px #0000000f;transition:box-shadow .15s}.cost-item-card:hover{box-shadow:0 4px 12px #0000001a}.cost-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px;gap:12px}.cost-item-title-row{display:flex;align-items:center;gap:10px}.cost-item-icon{font-size:22px;flex-shrink:0}.cost-item-title{font-size:15px;font-weight:600;margin:0;color:#111}.cost-item-badges{display:flex;gap:8px;flex-shrink:0}.cost-item-description{font-size:13px;color:#605e5c;margin:0 0 12px;line-height:1.5}.cost-item-details{background:#f7f8fa;border-radius:6px;padding:10px 14px;margin-bottom:14px}.cost-item-detail-row{font-size:12px;color:#444;padding:2px 0;font-family:Consolas,Courier New,monospace}.cost-item-more{color:#888;font-style:italic;font-family:inherit}.cost-item-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:12px;border-top:1px solid #f0f0f0}.cost-item-action{font-size:12px;color:#0078d4;font-weight:500;flex:1}.cost-item-saving{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0}.cost-item-saving-label{font-size:11px;color:#888;text-transform:uppercase;letter-spacing:.04em}.cost-item-saving-amount{font-size:18px;font-weight:700;color:#107c10}.voucher-section{background:#fff;border-radius:12px;border:1px solid #e1e1e1;padding:40px;box-shadow:0 2px 8px #0000000f}.voucher-header{text-align:center;margin-bottom:32px}.voucher-title{font-size:24px;font-weight:700;color:#111;margin:0 0 8px}.voucher-subtitle{font-size:14px;color:#605e5c;max-width:600px;margin:0 auto}.voucher-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:28px}.voucher-card{position:relative;border:2px solid #e1e1e1;border-radius:10px;padding:28px 24px;display:flex;flex-direction:column;gap:16px;transition:border-color .2s,box-shadow .2s,transform .15s;cursor:default}.voucher-card:hover{border-color:var(--accent-color, #0078d4);box-shadow:0 4px 16px #0000001a;transform:translateY(-2px)}.voucher-card--highlight{border-color:var(--accent-color, #107c10);box-shadow:0 4px 20px #107c1026}.voucher-card--selected{border-color:var(--accent-color, #0078d4)!important;box-shadow:0 4px 20px #0078d433!important}.voucher-badge-top{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--accent-color, #107c10);color:#fff;font-size:11px;font-weight:700;padding:3px 14px;border-radius:20px;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.voucher-name{font-size:18px;font-weight:700;color:var(--accent-color, #0078d4)}.voucher-price{font-size:32px;font-weight:800;color:#111;line-height:1}.voucher-price-note{font-size:14px;font-weight:400;color:#888}.voucher-features{list-style:none;padding:0;margin:0;flex:1;display:flex;flex-direction:column;gap:8px}.voucher-feature{font-size:13px;color:#333;display:flex;gap:8px;align-items:flex-start}.voucher-check{color:var(--accent-color, #107c10);font-weight:700;flex-shrink:0}.voucher-btn{width:100%;padding:10px 16px;border-radius:6px;border:2px solid;background:transparent;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,color .15s;margin-top:auto}.voucher-btn:hover{background:var(--accent-color)!important;color:#fff!important}.voucher-cta{background:#f0f6ff;border:1px solid #c7e0f4;border-radius:8px;padding:20px 28px;display:flex;justify-content:space-between;align-items:center;gap:20px}.voucher-cta-text{font-size:14px;color:#333}.voucher-cta-btn{background:#0078d4;color:#fff;text-decoration:none;padding:10px 24px;border-radius:6px;font-size:14px;font-weight:600;white-space:nowrap;transition:background .15s}.voucher-cta-btn:hover{background:#106ebe}.vm-sizing-section{background:#fff;border-radius:12px;border:1px solid #e1e1e1;padding:32px 40px;box-shadow:0 2px 8px #0000000f}.vm-sizing-header{margin-bottom:24px}.vm-sizing-title{font-size:20px;font-weight:700;color:#111;margin:0 0 6px}.vm-sizing-subtitle{font-size:13px;color:#605e5c;margin:0}.vm-sizing-loading{display:flex;align-items:center;gap:12px;padding:24px 0;font-size:14px;color:#605e5c}.vm-sizing-error{color:#d13438;font-size:13px;padding:12px;background:#fdf3f3;border-radius:6px}.vm-sizing-empty{color:#888;font-size:14px;padding:16px 0}.vm-sizing-table-wrap{overflow-x:auto}.vm-sizing-table{width:100%;border-collapse:collapse;font-size:13px}.vm-sizing-table th{background:#f7f8fa;padding:10px 14px;text-align:left;font-size:12px;font-weight:600;color:#444;text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid #e1e1e1;white-space:nowrap}.vm-sizing-table td{padding:10px 14px;border-bottom:1px solid #f0f0f0;vertical-align:middle}.vm-sizing-table tfoot td{border-top:2px solid #e1e1e1;border-bottom:none;padding:12px 14px;background:#f7f8fa}.vm-row--oversized{background:#fff8f0}.vm-name{font-weight:600;color:#111}.vm-sub{font-size:11px;color:#888}.metric--low{color:#d13438;font-weight:600}.metric--ok{color:#107c10;font-weight:500}.metric--na{color:#bbb;font-style:italic}.recommendation{background:#e6f4ea;color:#107c10;padding:2px 6px;border-radius:4px;font-size:12px}.saving-amount{color:#107c10;font-size:14px}@media (max-width: 900px){.cost-total-inner{flex-direction:column;text-align:center}.cost-total-stats{justify-content:center}.voucher-grid{grid-template-columns:1fr}.voucher-cta{flex-direction:column;text-align:center}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f7fa;color:#1a1a2e}#root{min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;background:#f0f2f5;padding:2px 6px;border-radius:3px;font-size:12px}.app-container{display:flex;min-height:100vh}.main-content{flex:1;padding:24px 28px;overflow-y:auto;background:#f5f7fa}.page-header{margin-bottom:20px}.page-title{font-size:22px;font-weight:700;color:#1a1a2e;margin-bottom:4px}.page-subtitle{font-size:13px;color:#6b7280}.card{background:#fff;border-radius:10px;padding:24px;box-shadow:0 1px 3px #0000000f;margin-bottom:16px;border:1px solid #e8eaed}.stat-card{background:#fff;border-radius:10px;padding:22px;box-shadow:0 1px 3px #0000000f;text-align:center;border:1px solid #e8eaed;border-left:4px solid #0078d4;transition:transform .15s,box-shadow .15s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.stat-value{font-size:34px;font-weight:700;color:#0078d4;margin-bottom:4px;line-height:1.1}.stat-label{font-size:11px;color:#6b7280;text-transform:uppercase;letter-spacing:.8px;font-weight:600}.resource-search{margin-bottom:16px}.resource-search-inner{position:relative;display:flex;align-items:center;max-width:400px}.resource-search-icon{position:absolute;left:12px;color:#9ca3af;pointer-events:none}.resource-search-input{width:100%;padding:10px 36px 10px 38px;border:1px solid #e8eaed;border-radius:8px;font-size:14px;font-family:inherit;background:#fff;color:#1a1a2e;transition:border-color .15s,box-shadow .15s;outline:none}.resource-search-input:focus{border-color:#0078d4;box-shadow:0 0 0 2px #0078d41f}.resource-search-input::placeholder{color:#9ca3af}.resource-search-clear{position:absolute;right:8px;background:none;border:none;font-size:18px;color:#9ca3af;cursor:pointer;padding:2px 6px;line-height:1;border-radius:4px}.resource-search-clear:hover{background:#f0f2f5;color:#1a1a2e}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none}.sortable-header:hover{color:#0078d4!important}.loading-state{display:flex;align-items:center;justify-content:center;height:200px;color:#6b7280;font-size:14px}.card{overflow-x:auto}table{width:100%;min-width:max-content}th{font-weight:700!important;font-size:12px!important;text-transform:uppercase;letter-spacing:.5px;color:#1a1a2e!important;white-space:nowrap;position:relative}td{white-space:nowrap;overflow:hidden}th{resize:horizontal;overflow:hidden}
