.twe-tooltip-wrapper{position:relative;display:inline-flex}.twe-tooltip{position:fixed;z-index:2147483646;background:#6b7280eb;color:var(--white);padding:6px 8px;border-radius:6px;font-size:12px;line-height:1;white-space:nowrap;box-shadow:0 10px 22px #0f172a1f;-webkit-backdrop-filter:saturate(110%) blur(2px);backdrop-filter:saturate(110%) blur(2px);border:1px solid rgba(255,255,255,.08)}.twe-tooltip-wrapper{position:relative;display:inline-flex;align-items:center}.view-toggle{display:flex;border:1px solid var(--gray-200);border-radius:var(--radius-md);overflow:hidden;background:var(--white);position:relative;z-index:2}.view-toggle-button{display:flex;align-items:center;justify-content:center;padding:var(--space-2);border:none;background:transparent;color:var(--gray-500);cursor:pointer;transition:all var(--transition);width:36px;height:36px;outline:none}.view-toggle-button:focus{outline:none;box-shadow:none}.view-toggle-button:hover{background:var(--gray-50);color:var(--gray-700)}.view-toggle-button.active{background:var(--primary);color:var(--white)}.view-toggle-button:not(:last-child){border-right:1px solid var(--gray-200)}.project-tree{display:flex;flex-direction:column;flex:1;min-height:0}.project-tree-header{padding:var(--space-4);border-bottom:1px solid var(--gray-200);background:linear-gradient(180deg,var(--gray-50) 0%,var(--white) 100%)}.project-tree-header h3{font-size:1rem;font-weight:600;color:var(--gray-900);margin:0}.project-tree-content{flex:1;padding:0;overflow-y:auto;min-height:0;box-sizing:border-box}.project-tree-header-item{padding:var(--space-2) var(--space-2) 0 var(--space-2);margin-bottom:var(--space-3)}.project-tree-projects{padding:0 var(--space-2)}.env-toggle{display:flex;gap:6px;padding:6px}.env-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:none;border-radius:var(--radius);background:var(--gray-100);color:var(--gray-700);cursor:pointer;transition:all .15s ease;position:relative}.env-toggle>*+* .env-btn:before,.env-toggle .env-btn+.env-btn:before{content:"";position:absolute;left:-1px;top:4px;bottom:4px;width:1px;background:var(--gray-200);opacity:.7}.env-toggle .env-btn.active:before,.env-toggle .env-btn.active+.env-btn:before,.env-toggle>*:has(.env-btn.active)+* .env-btn:before{opacity:0}.env-btn.active{background:var(--btn-active-bg);color:var(--gray-900)}.project-controls{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-2)}.project-node{width:100%;position:relative}.project-node.level-1.has-spacing-after{margin-bottom:var(--space-1)}.project-node.is-expanded{background-color:#94a3b814;border-radius:var(--radius-lg);margin:var(--space-1) 0;overflow:hidden}.project-node.is-expanded .project-node-content,.project-node.is-expanded .project-children .project-node-content{border-radius:0}.project-node.is-expanded>.project-node-content{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.project-node.is-expanded .project-node-content:hover{background:#94a3b81f}.project-node-content{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2);cursor:pointer;transition:all var(--transition);min-height:30px;border-radius:var(--radius);margin:0;box-sizing:border-box}.project-node-content:hover{background:#94a3b81a}.project-node-content[data-is-root=true]{padding-left:12px}.project-node-content[data-is-root=true] .project-icon{margin-left:2px}.project-node-content.selected,.project-node-content.selected:hover,.project-node.is-expanded .project-node-content.selected,.project-node.is-expanded .project-node-content.selected:hover{background:var(--primary-light);color:var(--gray-900);font-weight:500}.project-expand-button{display:flex;align-items:center;justify-content:center;width:14px;height:14px;color:var(--gray-400);flex-shrink:0;transition:color var(--transition)}.project-expand-spacer{width:14px;height:14px;flex-shrink:0}.project-icon{display:flex;align-items:center;justify-content:center;width:14px;height:14px;color:var(--gray-500);flex-shrink:0}.project-icon svg{width:14px;height:14px;display:block;stroke-width:2}.project-node-content.selected .project-icon{color:var(--primary)}.project-name{flex:1;font-size:.875rem;color:var(--gray-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-name[data-tooltip]{position:relative}.project-name[data-tooltip]:hover:after{content:attr(title);position:absolute;top:-28px;left:0;transform:translateY(-2px);background:#1f2937eb;color:var(--white);font-size:12px;line-height:1;padding:6px 8px;border-radius:6px;white-space:nowrap;pointer-events:none;z-index:1000}.project-node-content.selected .project-name{color:var(--gray-900)}.project-count{font-size:.75rem;color:var(--gray-400);background:var(--gray-100);padding:var(--space-1) var(--space-2);border-radius:var(--radius-lg);min-width:20px;text-align:center;flex-shrink:0}.project-node-content.selected .project-count{background:var(--primary);color:var(--white)}.project-children{overflow:hidden}.project-tree-content::-webkit-scrollbar{width:4px}.project-tree-content::-webkit-scrollbar-track{background:transparent}.project-tree-content::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--radius)}.project-tree-content::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.project-node-content.empty{font-style:italic;opacity:.7}.project-count .empty-count{background:var(--background-tertiary, #f3f4f6);color:var(--text-secondary, #6b7280);font-style:italic;border:1px dashed var(--border-color, #d1d5db)}.project-icon svg{transition:color .2s ease}.project-node-content.empty .project-icon svg{color:var(--text-secondary, #6b7280)}.project-node-content.in-active-path .project-name{color:var(--primary);font-weight:500}.project-node-content.selected{background:var(--btn-active-bg)}.project-node-content.selected .project-name{color:var(--primary);font-weight:500}.project-node-content.selected .project-count{background:var(--primary);color:#fff}.project-tree-header-item .project-node-content.selected{background:var(--primary-light)!important}.status-ribbons{position:absolute;top:0;right:11.5px;display:flex;gap:4px;z-index:5;pointer-events:none}.status-ribbons.list{right:11.5px}.status-ribbon{position:relative;width:19px;--h-collapsed: 22px;--h-expanded: 40px;--cut-height: 16px;height:var(--h-collapsed);transition:height .12s ease-out;flex:0 0 auto;filter:drop-shadow(1px 1px 2px rgba(0,0,0,.2));contain:layout style paint;transform:translateZ(0);backface-visibility:hidden}.ribbon-body{position:relative;width:100%;height:100%;display:flex;align-items:flex-start;justify-content:center;box-sizing:border-box;padding:4px 4px 0;font-size:7.5px;font-weight:700;letter-spacing:.05px;text-transform:uppercase;text-align:center;background:var(--ribbon-bg-color, #ccc);background-image:var(--ribbon-bg-image);clip-path:polygon(0 0,100% 0,100% 75%,50% 100%,0 75%);color:transparent;transition:color .1s ease-out;transform:translateZ(0);-webkit-font-smoothing:antialiased}.status-ribbon.new .ribbon-body{--ribbon-bg-color: #48AEB1;--ribbon-bg-image: none}.status-ribbon.uat .ribbon-body{--ribbon-bg-color: #ff997d;--ribbon-bg-image: none}.dashboard-card:hover .status-ribbon{filter:drop-shadow(2px 2px 4px rgba(0,0,0,.3))}.ribbon-label{display:inline-block}.status-ribbons.list .ribbon-body{padding-top:4px;font-size:8px;letter-spacing:.2px}.dashboard-card:hover .status-ribbon{height:var(--h-expanded)}.dashboard-card:hover .status-ribbon.new{transition-delay:0ms}.dashboard-card:hover .status-ribbon.uat{transition-delay:25ms}.dashboard-card:hover .status-ribbon .ribbon-body{color:#fffffff2;padding-top:8px}@media (max-width: 480px){.status-ribbons.list .status-ribbon{width:28px;height:36px}.status-ribbons.list .ribbon-body{font-size:8px;padding-top:5px}}@media (prefers-reduced-motion: reduce){.status-ribbon,.ribbon-body{transition:none}}@media (min-resolution: 2dppx){.status-ribbon{transition-duration:.08s}}.dashboard-card{background:linear-gradient(180deg,#94a3b81a,#94a3b80f),var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:.5px solid var(--card-border-color);outline:1px solid transparent;transition:box-shadow .15s ease,outline-color .15s ease;cursor:pointer;position:relative;overflow:visible;isolation:isolate;z-index:0;min-width:280px;contain:layout style;transform:translateZ(0)}.dashboard-card:hover{box-shadow:var(--shadow-lg);outline-color:#0ea5e98c}.card-clipper{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:inherit;overflow:hidden;z-index:1}.dashboard-content{padding:var(--space-4);display:flex;flex-direction:column;flex-grow:1;position:relative;height:100%}.wb-link,.wb-link-inline{cursor:pointer;text-decoration:none;color:inherit}.wb-link:hover,.wb-link-inline:hover .wb-inline-text{text-decoration:underline;color:var(--primary)}.wb-inline-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-card.grid{display:flex;flex-direction:column;width:100%;max-width:none;min-height:190px;height:auto;margin:0;justify-content:space-between}.dashboard-card.list{display:flex;flex-direction:column;width:100%;height:42px;margin:0;justify-content:center}.dashboard-card.list .dashboard-content{padding:0 10px;display:flex;align-items:center;justify-content:center;height:100%}.list-row-condensed{display:grid;grid-template-columns:25% 1px minmax(0,1fr) 1px 15%;align-items:center;gap:0;width:100%;height:100%}.dashboard-card.list .list-row-condensed{padding-right:65px}.list-col.title{display:flex;align-items:center;min-width:0;padding-right:8px;gap:6px}.list-favorite-badge{position:static!important;bottom:auto!important;right:auto!important;flex-shrink:0;width:20px!important;height:20px!important;display:inline-flex;align-items:center;justify-content:center;overflow:hidden}.list-favorite-badge svg{width:16px;height:16px;transform:scale(2.5);transform-origin:center;color:#fff}.list-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.9rem;font-weight:600;line-height:1.1;color:var(--gray-900)}.list-sep{width:1px;height:22px;background:var(--gray-200);justify-self:center}.list-col.path{display:flex;align-items:center;gap:10px;color:var(--gray-600);font-size:.75rem;min-width:0;padding-left:8px}.list-breadcrumb-item{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-breadcrumb-item{max-width:100%}.list-breadcrumb-sep{color:var(--gray-400);margin:0 4px;flex-shrink:0}.list-col.updated{display:flex;align-items:center;gap:6px;justify-content:flex-start;color:var(--gray-500);font-size:.75rem;padding-left:8px}.dashboard-card.list .dashboard-header{margin-bottom:0;border-bottom:none;min-height:auto;padding:0}.dashboard-card.list .dashboard-title{font-size:.9rem;line-height:1.1;margin-top:0}.dashboard-card.list .dashboard-title span{-webkit-line-clamp:1}.dashboard-card.list .hierarchy{display:none}.dashboard-card.list .dashboard-meta{margin-top:0;padding-top:0;border-top:none}.list-meta{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2)}.breadcrumbs{display:flex;align-items:center;gap:var(--space-1);flex:3;font-size:.75rem;color:var(--gray-600)}.breadcrumb-item{white-space:nowrap;flex-shrink:0;padding:0;border-radius:0;background:none;cursor:default;color:var(--gray-600);font-weight:400}.breadcrumb-item:hover{background:none;color:var(--gray-600)}.breadcrumb-separator{color:var(--gray-400);flex-shrink:0}.list-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.badge-favorite-list{background:#8677c4;color:var(--white);box-shadow:0 1px 3px #8677c44d;width:22px;height:22px;border-radius:50%;padding:0;display:flex;align-items:center;justify-content:center}.dashboard-thumbnail{display:none}.dashboard-header{display:flex;justify-content:flex-start;align-items:center;margin-bottom:var(--space-2);padding:0 var(--space-4) 0 0;position:relative;border-bottom:1px solid var(--gray-200);min-height:51px}.dashboard-card.has-ribbons .dashboard-header{padding-right:32.5px}.dashboard-card.ribbons-2 .dashboard-header{padding-right:57.5px}.dashboard-card.list.has-ribbons .dashboard-header{padding-right:32.5px}.dashboard-card.list.ribbons-2 .dashboard-header{padding-right:57.5px}.dashboard-title{font-size:.95rem;font-weight:600;color:var(--gray-900);margin:-6px 0 0;line-height:1.3}.dashboard-title span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;width:100%}.hierarchy{font-size:.8rem;color:#8f959e;padding-left:14px;padding-right:var(--space-4);margin-bottom:auto;margin-top:-4px;flex-grow:1;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.level{display:flex;align-items:center;color:#8f959e;margin:2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative}.level>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hierarchy-icon{margin-right:var(--space-2);flex-shrink:0;color:#8f959e}.project-level{padding-left:0;font-weight:400;color:#8f959e}.sub-project-level{padding-left:14px}.workbook-level{padding-left:30px}.sub-project-level:before{content:"";position:absolute;left:4px;top:0;width:1px;height:10px;background-color:#8f959e}.sub-project-level:after{content:"";position:absolute;left:4px;top:10px;width:8px;height:1px;background-color:#8f959e}.workbook-level:before{content:"";position:absolute;left:20px;top:0;width:1px;height:10px;background-color:#8f959e}.workbook-level:after{content:"";position:absolute;left:20px;top:10px;width:8px;height:1px;background-color:#8f959e}.current-dashboard{font-weight:400;color:inherit}.project-path{margin-bottom:var(--space-3)}.path-level{display:flex;align-items:center;gap:var(--space-2);font-size:.8rem;color:var(--gray-600)}.path-level.child{margin-top:var(--space-1);padding-left:var(--space-4);color:var(--gray-800);font-weight:500}.workbook-name{font-size:.75rem;color:var(--gray-500);font-style:italic;margin-top:auto;padding-top:var(--space-3)}.dashboard-project{font-size:.875rem;color:var(--gray-600);margin:0;font-weight:500}.dashboard-workbook{font-size:.75rem;color:var(--gray-500);margin:0;font-style:italic}.dashboard-meta{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:var(--space-2);border-top:1px solid var(--gray-200)}.badge-favorite-corner{position:absolute;bottom:var(--space-2);right:var(--space-2);background:#8677c4;color:var(--white);box-shadow:0 2px 4px #8677c44d;width:25px;height:25px;border-radius:50%;padding:0;display:flex;align-items:center;justify-content:center;font-weight:600}.badge-favorite-corner svg{width:16px;height:16px;transform:scale(1.25);transform-origin:center;color:#fff}.badge-favorite-corner.list-favorite-badge{width:20px!important;height:20px!important;display:inline-flex;align-items:center;justify-content:center;overflow:hidden}.badge-favorite-corner.list-favorite-badge svg{width:16px!important;height:16px!important;transform:scale(2.5)!important;transform-origin:center}.dashboard-date{display:flex;align-items:center;gap:var(--space-1);font-size:.75rem;color:var(--gray-500);margin-top:0}.dashboard-action{display:flex;align-items:center;gap:var(--space-1);font-size:.75rem;color:var(--primary);font-weight:500}.badge{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-lg);font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.badge-new{background:linear-gradient(135deg,#22c55e,#16a34a);color:var(--white);box-shadow:0 2px 4px #22c55e4d;padding:var(--space-1) var(--space-3) var(--space-1) 8px;font-size:.6rem}.badge-uat{background:linear-gradient(135deg,#fb923c,#f97316);color:var(--white);box-shadow:0 2px 4px #fb923c4d;padding:var(--space-1) var(--space-3) var(--space-1) 8px;font-size:.6rem}.badge-favorite{background:linear-gradient(135deg,#ef4444,#dc2626);color:var(--white);box-shadow:0 2px 4px #ef44444d;width:24px;height:24px;border-radius:50%;padding:0;justify-content:center}.dashboard-badges-list{display:flex;gap:var(--space-2);flex-wrap:wrap}.search-highlight{background:var(--warning-light);color:var(--warning);padding:0 2px;border-radius:var(--radius-sm);font-weight:600}.workbook-highlight{color:var(--primary)}.dashboard-card.workbook-related:not(:hover){outline-style:solid;outline-width:1px;outline-color:#0ea5e94d;outline-offset:0}.dashboard-card:hover .dashboard-action{color:var(--primary-hover)}.dashboard-card:hover .badge-favorite{transform:scale(1.1)}.dashboard-card:hover .badge-favorite-corner{background:#6b5b98}.list-breadcrumbs{display:flex;align-items:center;gap:var(--space-1);flex:3;font-size:.75rem;color:var(--gray-600)}.list-breadcrumb-item{white-space:nowrap;flex-shrink:0;padding:0;border-radius:0;background:none;cursor:default;color:var(--gray-600);font-weight:400}.list-breadcrumb-separator{color:var(--gray-400);flex-shrink:0}@media (max-width: 768px){.dashboard-card.list .breadcrumbs{flex-direction:column;align-items:flex-start;gap:var(--space-1)}.dashboard-card.list .breadcrumb-item{max-width:none}.dashboard-card.list .list-meta{flex-direction:column;align-items:stretch;gap:var(--space-2)}.dashboard-badges-list{justify-content:flex-start}}.filter-groups{display:flex;gap:var(--space-3);align-items:center}.filter-buttons{display:flex;background:var(--gray-100);border-radius:var(--radius);padding:2px;gap:2px;height:calc(var(--control-h) + 2px)}.filter-buttons .twe-tooltip-wrapper{display:inline-flex;position:relative}.filter-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-1);padding:0 var(--space-3);border:none;border-radius:calc(var(--radius) - 2px);background:transparent;color:var(--gray-600);font-size:.8125rem;font-weight:500;cursor:pointer;transition:background-color .2s ease,color .2s ease,opacity .2s ease;white-space:nowrap;height:calc(var(--control-h) + 2px - 4px);min-width:72px;position:relative}.filter-btn:focus{outline:none}.filter-btn:hover:not(.active){background:var(--gray-50);color:var(--gray-700)}.filter-btn.active{background:var(--btn-active-bg);color:var(--gray-900);box-shadow:0 1px 2px #00000014}.filter-btn-new.active{color:#48aeb1}.filter-btn-uat.active{color:#ff997d}.filter-btn-favorites{min-width:70px;padding:0}.filter-btn-favorites.active{color:#8677c4}.filter-btn-dev.active{color:#2563eb}.filter-btn-archive.active{color:#64748b}.filter-buttons.aux .filter-btn{min-width:72px;position:relative}.filter-buttons .twe-tooltip-wrapper+.twe-tooltip-wrapper .filter-btn:before,.filter-buttons .filter-btn+.filter-btn:before{content:"";position:absolute;left:-1px;top:4px;bottom:4px;width:1px;background:var(--gray-200);opacity:.7}.filter-buttons .filter-btn.active:before,.filter-buttons .filter-btn.active+.filter-btn:before,.filter-buttons .twe-tooltip-wrapper:has(.filter-btn.active)+.twe-tooltip-wrapper .filter-btn:before{opacity:0}.filter-buttons.aux .filter-btn.off{background:var(--gray-100);color:var(--gray-500);box-shadow:none}.filter-buttons.aux .filter-btn.off:hover{background:var(--gray-200);color:var(--gray-600)}.filter-buttons.aux .filter-btn.active{background:var(--btn-active-bg);box-shadow:0 1px 2px #00000014}.filter-buttons.aux .filter-btn-dev.active{color:#2563eb}.filter-buttons.aux .filter-btn-archive.active{color:var(--gray-700)}@media (max-width: 1024px){.filter-btn span{display:none}.filter-btn{min-width:32px}}.sort-menu{position:absolute;top:calc(100% + 6px);right:0;background:var(--panel-bg, #fff);border:1px solid var(--gray-200);border-radius:var(--radius);box-shadow:0 8px 24px #0000001f;padding:6px;min-width:180px;z-index:50}.sort-item.active{background:var(--primary-light)}.search-bar-container{position:relative;margin-left:7px}.search-bar{position:relative;display:flex;align-items:center;width:300px;max-width:100%;height:var(--control-h)}.search-icon{position:absolute;left:var(--space-3);color:var(--gray-400);pointer-events:none;z-index:1}.search-input{width:100%;padding:var(--space-2) var(--space-10) var(--space-2) var(--space-10);border:1px solid var(--gray-200);border-radius:var(--radius-md);background:var(--white);font-size:.875rem;color:var(--gray-900);transition:all var(--transition)}.search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.search-input::placeholder{color:var(--gray-400)}.search-clear{position:absolute;right:var(--space-3);display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:var(--gray-100);border-radius:50%;color:var(--gray-500);cursor:pointer;transition:all var(--transition)}.search-clear:hover{background:var(--gray-200);color:var(--gray-700)}@media (max-width: 768px){.search-bar{width:100%;min-width:200px}}.search-scope-filters{position:absolute;top:calc(100% + 8px);left:0;display:flex;gap:8px;padding:10px 12px;background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-md);box-shadow:0 4px 12px #00000014;z-index:10}.scope-filter{padding:6px 14px;border:1.5px solid #e0e7ff;border-radius:16px;background:transparent;color:var(--gray-600);font-size:.813rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;outline:none}.scope-filter:focus,.scope-filter:focus-visible{outline:none;box-shadow:none}.scope-filter:hover{border-color:#93c5fd;background:#93c5fd14;color:var(--gray-700);transform:translateY(-1px)}.scope-filter.active{border-color:#60a5fa;background:#60a5fa26;color:#1e40af}.scope-filter.active:hover{border-color:#3b82f6;background:#3b82f633}.dashboard-grid{padding:var(--content-top) var(--space-6) var(--space-6) var(--content-top);height:100%;display:flex;flex-direction:column}.dashboard-grid-header{margin-bottom:var(--space-4);display:flex;align-items:center;gap:var(--space-6);padding-left:0}.dashboard-grid-header h2{font-size:1.5rem;font-weight:600;color:var(--gray-900);margin:0;flex-shrink:0}.dashboard-grid-header p{font-size:.875rem;color:var(--gray-600);margin:0}.dashboard-grid-wrapper{position:relative;flex:1;overflow:auto;padding:2px 8px;scrollbar-gutter:stable}.dashboard-grid-content{width:100%;min-height:100%}.dashboard-grid.grid .dashboard-grid-content{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-6);align-content:start;justify-content:start;padding:0}@media (max-width: 1200px){.dashboard-grid.grid .dashboard-grid-content{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (min-width: 1400px){.dashboard-grid.grid .dashboard-grid-content{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (min-width: 1600px){.dashboard-grid.grid .dashboard-grid-content{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}.dashboard-grid.list .dashboard-grid-content{display:flex;flex-direction:column;gap:var(--space-1);padding:2px 14px 2px 0}.list-group,.list-row{display:none}.list-row .dashboard-card.list{height:80px;min-width:280px}.dashboard-grid-empty{display:flex;align-items:center;justify-content:center;flex:1;min-height:400px;padding:var(--space-8)}.empty-state{text-align:center;max-width:400px}.empty-state h3{color:var(--gray-600);margin-bottom:var(--space-3)}.empty-state p{color:var(--gray-500);margin:0}@media (max-width: 768px){.dashboard-grid{padding:var(--space-4)}.dashboard-grid.grid .dashboard-grid-content{grid-template-columns:1fr;gap:var(--space-4)}.dashboard-grid-header{margin-bottom:var(--space-4)}}.dashboard-controls{display:flex;align-items:center;gap:var(--space-6);flex:1}.sort-wrapper{position:relative}.sort-menu{position:absolute;top:calc(100% + 6px);right:0;background:var(--panel-bg, #fff);border:1px solid var(--gray-200);border-radius:var(--radius);box-shadow:0 8px 24px #0000001f;padding:6px;min-width:200px;z-index:50}.filter-btn.filter-btn-sort{position:relative;padding:0 28px 0 8px;min-width:96px}.filter-btn.filter-btn-sort .dir{opacity:.85}.filter-btn.filter-btn-sort .caret{position:absolute;right:8px;opacity:.7;transition:transform .15s ease}.filter-btn.filter-btn-sort.open .caret{transform:rotate(180deg)}.filter-btn.filter-btn-sort.open{background:var(--gray-50);box-shadow:inset 0 0 0 1px var(--gray-200)}.filter-btn.filter-btn-sort:hover{background:var(--gray-50)}.sort-group{padding:4px 4px 8px}.sort-group+.sort-group{border-top:1px solid var(--gray-200);padding-top:8px;margin-top:6px}.sort-group-title{display:flex;align-items:center;gap:6px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--gray-500);padding:4px 6px}.sort-group-icon{font-size:12px;opacity:.8}.sort-group-icon-svg{opacity:.8}.sort-item{display:flex;align-items:center;gap:8px;width:100%;background:transparent;border:none;border-radius:6px;color:var(--gray-800);padding:8px 10px;cursor:pointer}.sort-item .arrow{margin-left:auto;opacity:.75}.sort-item:hover{background:var(--gray-50)}.sort-menu .sort-item.active{background:var(--primary-light)!important;color:var(--gray-900)!important}.sort-menu .sort-item.active:hover{background:var(--primary-light)!important}html.theme-dark .filter-btn.filter-btn-sort.open,html.theme-dark .filter-btn.filter-btn-sort:hover{background:#94a3b824;box-shadow:inset 0 0 0 1px #94a3b859}html.theme-dark .sort-menu{background:linear-gradient(180deg,#0b1220fa,#0f172af5);border-color:#94a3b840;box-shadow:0 14px 32px #0000008c}html.theme-dark .sort-group+.sort-group{border-top-color:#94a3b833}html.theme-dark .sort-group-title{color:var(--gray-500)}html.theme-dark .sort-item{color:var(--gray-700)}html.theme-dark .sort-item .arrow{opacity:.65;color:var(--gray-600)}html.theme-dark .sort-item:hover{background:#94a3b81f}html.theme-dark .sort-menu .sort-item.active{background:#2563eb59!important;color:var(--gray-900)!important;box-shadow:inset 0 0 0 1px #3b82f666}.dashboard-controls .search-bar{max-width:300px}.workbook-connections{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:4}.workbook-connections path{transition:opacity .2s ease}.workbook-dashboards{font-size:.8rem;color:var(--gray-700);padding-left:14px;padding-right:var(--space-4);margin-top:-4px;margin-bottom:auto;flex-grow:1;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.workbook-dashboards-grid{display:grid;gap:4px 16px;overflow:hidden}.workbook-dashboards-grid.cols-2{grid-template-columns:1fr 1fr}.workbook-dashboards-grid.cols-1{grid-template-columns:1fr}.workbook-dashboards-item{display:flex;align-items:center;min-width:0;font-size:.82rem;color:var(--gray-700)}.workbook-dashboards-item .wd-link{display:flex;align-items:center;flex:1;min-width:0;text-align:left}.wd-link,.wd-link-inline{background:transparent;border:none;padding:0;margin:0;color:inherit;font:inherit;cursor:pointer;text-decoration:none}.wd-link:hover .wd-item-text,.wd-link-inline:hover .wd-inline-text{text-decoration:underline;color:var(--primary)}.workbook-dashboards-item .wd-item-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wd-doc-icon{color:var(--gray-600);margin-right:8px;flex-shrink:0}.wd-doc-icon-inline{color:var(--gray-600);margin:0 8px;vertical-align:middle;position:relative;top:1px}.wd-doc-icon-inline.first{margin-left:0}.wd-inline-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:34ch}.wd-more{color:var(--gray-500);font-style:italic}.workbook-card-wrap{position:relative;width:100%;height:100%}.workbook-underlay{position:absolute;top:0;left:0;width:100%;height:100%;transform:translate(6px,6px);border-radius:var(--radius-lg);background:var(--workbook-underlay-bg);border:1px solid var(--workbook-underlay-border);box-shadow:0 4px 12px #0000000f;pointer-events:none}.workbook-card-wrap.list .workbook-underlay{transform:translate(4px,2px)}.dashboard-card.workbook-card{position:relative;z-index:1}.dashboard-card.workbook-card .card-clipper{z-index:1}.dashboard-card.workbook-card .dashboard-content{position:relative;z-index:2}.dashboard-card.workbook-card.list .list-row-condensed{grid-template-columns:25% 1px minmax(0,1fr) 1px 15%}.dashboard-card.workbook-card.list .list-breadcrumb-item{display:inline-flex;align-items:center;min-width:0}.dashboard-card.workbook-card.list .wb-link-inline{display:inline-flex;align-items:center;min-width:0;max-width:100%}.dashboard-card.workbook-card.list .wd-inline-text{min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-switcher{position:relative;display:inline-flex;align-items:center;gap:12px;margin-left:8px}.site-switcher-inline{display:inline-flex;align-items:center;gap:4px;font-size:1.75rem;color:var(--gray-500);font-weight:400;background:transparent;border:none;cursor:pointer;padding:4px 8px;margin:0;line-height:1.75rem;border-radius:4px;transition:background-color .2s ease}.site-switcher-inline:hover{background:var(--gray-100)}.site-text{margin-left:4px;display:flex;align-items:center;gap:8px}.site-separator{color:var(--gray-400);font-size:1.75rem;font-weight:300;-webkit-user-select:none;user-select:none;pointer-events:none;margin:0;visibility:hidden}.site-switcher-button{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,var(--white) 0%,var(--gray-50) 100%);color:var(--gray-800);padding:6px 12px;border-radius:8px;font-size:1rem;font-weight:400;border:1px solid var(--gray-200);box-shadow:0 1px 2px #0000000d;transition:all .2s ease;cursor:pointer;transform:translateY(var(--xheight-adjust))}.site-switcher-button:hover{background:linear-gradient(135deg,var(--gray-50) 0%,var(--gray-100) 100%);border-color:var(--gray-300);box-shadow:0 2px 4px #00000014;transform:translateY(var(--xheight-adjust))}.site-switcher-button.open{background:linear-gradient(135deg,var(--primary-light) 0%,var(--primary-light) 100%);border-color:var(--primary);color:var(--primary);box-shadow:none}.site-switcher-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.site-name{font-weight:400;color:var(--text-primary, var(--gray-900))}.site-switcher-chevron{transition:transform .2s ease;color:var(--gray-400);flex-shrink:0}.site-switcher-button.open .site-switcher-chevron{color:var(--primary)}.site-switcher-dropdown{position:relative}.site-switcher-trigger{display:none}.site-switcher-trigger:hover,.site-switcher-trigger.open{background:var(--background-hover, #f1f5f9)}.site-switcher-current{display:flex;align-items:center;gap:8px;font-weight:500}.site-switcher-chevron{transition:transform .2s ease;color:var(--text-secondary, #64748b)}.site-switcher-chevron.rotated{transform:rotate(180deg)}.site-switcher-menu{position:absolute;top:100%;left:-8px;min-width:260px;z-index:50;margin-top:4px;background:var(--white);border:1px solid var(--border-color, #e2e8f0);border-radius:6px;box-shadow:0 4px 6px -1px #0000001a;overflow:hidden;--site-option-h: 36px}.site-switcher-search-wrap{padding:8px;border-bottom:1px solid var(--border-color, #e2e8f0)}.site-switcher-search{width:100%;height:var(--control-h, 32px);padding:0 10px;border:1px solid var(--gray-200);border-radius:6px;outline:none;font-size:14px;transition:all .2s ease;color:var(--text-primary, var(--gray-900));background:var(--white)}.site-switcher-search:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}.site-switcher-options{max-height:calc(var(--site-option-h) * 10);overflow:auto}.site-switcher-option{width:100%;display:flex;align-items:center;min-height:var(--site-option-h);padding:8px 12px;text-align:left;background:none;border:none;font-size:14px;cursor:pointer;transition:background-color .2s ease;color:var(--text-primary, var(--gray-900))}.site-switcher-option:hover{background:var(--background-hover, #f1f5f9)}.site-switcher-option.active{background:var(--primary-light, #dbeafe);color:var(--primary-dark, #1e40af);font-weight:500}.site-switcher-empty{padding:12px;color:var(--text-secondary, var(--gray-500));font-size:13px}.site-transition-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.site-transition-content{background:var(--white);padding:24px;border-radius:8px;display:flex;flex-direction:column;align-items:center;gap:12px;box-shadow:0 10px 15px -3px #0000001a}.site-transition-content span{font-weight:500;color:var(--text-primary, var(--gray-900))}.breadcrumbs{display:flex;align-items:center;gap:var(--space-1);padding:0 0 0 var(--space-4);margin:0;font-size:1rem;color:var(--gray-600);overflow-x:auto;white-space:nowrap;transform:translateY(var(--xheight-adjust))}.breadcrumb-item{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:4px;cursor:pointer;transition:all .2s ease;color:var(--gray-500);min-width:max-content}.breadcrumb-item:hover{background:var(--gray-100);color:var(--gray-600)}.breadcrumb-item.active{color:var(--gray-500);font-weight:400;cursor:default}.breadcrumb-item.active:hover{background:var(--gray-100);color:var(--gray-600)}.breadcrumb-separator{color:var(--text-muted, #94a3b8);flex-shrink:0}@media (max-width: 768px){.breadcrumbs{padding:6px 12px;font-size:13px}.breadcrumb-item{padding:3px 6px;gap:4px}.breadcrumb-item span{max-width:120px;overflow:hidden;text-overflow:ellipsis}}.granularity-toggle{min-width:auto}.granularity-toggle .view-toggle-button{width:36px;height:36px;padding:var(--space-2)}.slot-machine{display:inline-flex;align-items:center;gap:0;height:36px}.slot-cabinet{display:inline-flex;align-items:center;gap:0;position:relative;padding:3px;border-radius:10px;background:linear-gradient(180deg,#f8fafc,#e2e8f0);box-shadow:0 0 0 1px #00000014,0 2px 6px #00000014}.slot-window{position:relative;display:grid;grid-template-columns:repeat(3,28px);gap:3px;padding:5px 6px;background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:7px;box-shadow:inset 0 1px 2px #0000000a}.slot-reel{position:relative;width:28px;height:28px;overflow:hidden;border-radius:5px;background:#f8fafc;box-shadow:inset 0 1px 2px #0000000d}.slot-reel-strip{will-change:transform}.slot-symbol{height:28px;display:flex;align-items:center;justify-content:center}.slot-token{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;color:#fff;border-radius:999px;box-shadow:0 1px 3px #00000026}.slot-symbol[data-key=favorites] .slot-token{background:linear-gradient(180deg,#2badee,#0b73da)}.slot-symbol[data-key=new] .slot-token{background:linear-gradient(180deg,#e23636,#cf1726)}.slot-symbol[data-key=uat] .slot-token{background:linear-gradient(180deg,#28bd5a,#1b9859)}.slot-symbol[data-key=randomProject] .slot-token{background:linear-gradient(180deg,#f9c31f,#e9980c)}.is-win .slot-window{animation:winBlink .45s ease-in-out 0s 5}.is-spinning .slot-window{box-shadow:inset 0 1px 2px #0000000a,0 0 10px #3b82f626}.is-spinning .slot-reel-strip{filter:saturate(1.05) brightness(1.01)}@keyframes winBlink{0%,to{box-shadow:inset 0 1px 2px #0000000a}50%{box-shadow:inset 0 1px 2px #0000000a,0 0 12px #facc1566}}.slot-handle{position:relative;width:28px;height:40px;display:inline-flex;align-items:center;justify-content:center;margin-left:4px;background:transparent;border:none;cursor:pointer;transition:all .15s ease}.slot-handle:disabled{opacity:.5;cursor:default}.handle-base{position:relative;width:10px;height:6px;margin-top:20px;background:linear-gradient(180deg,#9ca3af,#6b7280);border-radius:2px;box-shadow:0 1px 2px #00000026}.handle-rod{position:absolute;width:3px;height:20px;bottom:4px;left:50%;transform:translate(-50%);background:linear-gradient(90deg,#9ca3af,#d1d5db,#9ca3af);border-radius:1.5px;transition:transform .28s cubic-bezier(.22,1,.36,1);transform-origin:bottom center}.handle-knob{position:absolute;width:10px;height:10px;border-radius:999px;top:-6px;left:50%;transform:translate(-50%);background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.9) 0%,transparent 40%),linear-gradient(180deg,#ef4444,#dc2626,#b91c1c);box-shadow:0 2px 4px #00000040}.slot-handle.pulled .handle-rod{transform:translate(-50%) rotate(25deg)}.slot-handle.spinning .handle-rod{transform:translate(-50%) rotate(10deg)}.slot-handle:not(.pulled):not(.spinning) .handle-rod{animation:leverBounce .35s cubic-bezier(.34,1.56,.64,1)}@keyframes leverBounce{0%{transform:translate(-50%) rotate(10deg)}50%{transform:translate(-50%) rotate(-4deg)}75%{transform:translate(-50%) rotate(2deg)}to{transform:translate(-50%) rotate(0)}}.slot-outcome{display:none}html.theme-dark .slot-cabinet{background:linear-gradient(180deg,#374151,#1f2937);box-shadow:0 0 0 1px #ffffff14,0 2px 6px #0000004d}html.theme-dark .slot-window{background:#1f2937;border-color:#ffffff0f;box-shadow:inset 0 1px 2px #0003}html.theme-dark .slot-reel{background:#111827;box-shadow:inset 0 1px 2px #0000004d}html.theme-dark .handle-base{background:linear-gradient(180deg,#6b7280,#4b5563)}html.theme-dark .handle-rod{background:linear-gradient(90deg,#6b7280,#9ca3af,#6b7280)}html.theme-dark .handle-knob{background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.7) 0%,transparent 40%),linear-gradient(180deg,#f87171,#dc2626,#991b1b);box-shadow:0 2px 4px #0006}html.theme-dark .is-spinning .slot-window{box-shadow:inset 0 1px 2px #0003,0 0 10px #60a5fa33}html.theme-dark .is-win .slot-window{animation:winBlinkDark .45s ease-in-out 0s 5}@keyframes winBlinkDark{0%,to{box-shadow:inset 0 1px 2px #0003}50%{box-shadow:inset 0 1px 2px #0003,0 0 12px #facc1559}}.christmas-decorations-container{position:absolute;left:0;bottom:calc(-1 * var(--content-top) - 16px);width:82px;height:60px;pointer-events:none;z-index:1001}.xmas-santa-container{position:absolute;right:calc(100% + 8px);bottom:0;width:82px;height:auto;pointer-events:auto;cursor:pointer;transition:transform .15s ease}.xmas-santa-container:hover{transform:scale(1.02)}.xmas-santa{width:82px;height:auto;filter:drop-shadow(0 2px 4px rgba(0,0,0,.12));-webkit-user-select:none;user-select:none}.xmas-santa-container.wiggle-light{animation:santaWiggleLight .4s ease}.xmas-santa-container.wiggle-medium{animation:santaWiggleMedium .5s ease}.xmas-santa-container.wiggle-strong{animation:santaWiggleStrong .6s ease}@keyframes santaWiggleLight{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}@keyframes santaWiggleMedium{0%,to{transform:rotate(0)}20%{transform:rotate(-6deg)}40%{transform:rotate(6deg)}60%{transform:rotate(-4deg)}80%{transform:rotate(4deg)}}@keyframes santaWiggleStrong{0%,to{transform:rotate(0) scale(1)}10%{transform:rotate(-10deg) scale(1.05)}20%{transform:rotate(10deg) scale(1.05)}30%{transform:rotate(-8deg) scale(1.03)}40%{transform:rotate(8deg) scale(1.03)}50%{transform:rotate(-6deg) scale(1.02)}60%{transform:rotate(6deg) scale(1.02)}70%{transform:rotate(-4deg) scale(1.01)}80%{transform:rotate(4deg) scale(1.01)}90%{transform:rotate(-2deg)}}.christmas-snow-overlay{position:fixed;top:0;left:0;right:0;height:100vh;pointer-events:none;z-index:9000;overflow:hidden}.snow-l1,.snow-l2,.snow-l3,.snow-l4,.snow-l5{position:absolute;top:-100%;left:0;right:0;width:100%;height:200%;opacity:.55;will-change:transform}.snow-l1{background-image:radial-gradient(1.5px 1.5px at 15% 20%,rgba(86,146,255,.8) 50%,transparent),radial-gradient(2px 2px at 35% 40%,rgba(86,146,255,.75) 50%,transparent),radial-gradient(1px 1px at 55% 60%,rgba(86,146,255,.85) 50%,transparent),radial-gradient(1.5px 1.5px at 75% 80%,rgba(86,146,255,.8) 50%,transparent),radial-gradient(2px 2px at 25% 90%,rgba(86,146,255,.75) 50%,transparent),radial-gradient(1px 1px at 85% 30%,rgba(86,146,255,.85) 50%,transparent),radial-gradient(1.5px 1.5px at 45% 70%,rgba(86,146,255,.8) 50%,transparent),radial-gradient(2px 2px at 65% 10%,rgba(86,146,255,.75) 50%,transparent);background-size:400px 400px;animation:snow-fall-slow 25s linear infinite}.snow-l2{background-image:radial-gradient(2.5px 2.5px at 20% 30%,rgba(96,165,250,.7) 50%,transparent),radial-gradient(3px 3px at 40% 80%,rgba(96,165,250,.65) 50%,transparent),radial-gradient(2px 2px at 60% 40%,rgba(96,165,250,.75) 50%,transparent),radial-gradient(2.5px 2.5px at 80% 70%,rgba(96,165,250,.7) 50%,transparent),radial-gradient(3px 3px at 30% 15%,rgba(96,165,250,.65) 50%,transparent),radial-gradient(2px 2px at 70% 55%,rgba(96,165,250,.75) 50%,transparent);background-size:350px 350px;animation:snow-fall-medium 20s linear infinite;animation-delay:-5s}.snow-l3{background-image:radial-gradient(3.5px 3.5px at 25% 45%,rgba(147,197,253,.6) 50%,transparent),radial-gradient(4px 4px at 50% 70%,rgba(147,197,253,.55) 50%,transparent),radial-gradient(3px 3px at 75% 25%,rgba(147,197,253,.65) 50%,transparent),radial-gradient(3.5px 3.5px at 35% 85%,rgba(147,197,253,.6) 50%,transparent);background-size:450px 450px;animation:snow-fall-fast 15s linear infinite;animation-delay:-10s}.snow-l4{background-image:radial-gradient(1px 1px at 10% 35%,rgba(86,146,255,.9) 50%,transparent),radial-gradient(.5px .5px at 30% 65%,rgba(86,146,255,.95) 50%,transparent),radial-gradient(1px 1px at 50% 15%,rgba(86,146,255,.9) 50%,transparent),radial-gradient(.5px .5px at 70% 45%,rgba(86,146,255,.95) 50%,transparent),radial-gradient(1px 1px at 90% 75%,rgba(86,146,255,.9) 50%,transparent),radial-gradient(.5px .5px at 20% 95%,rgba(86,146,255,.95) 50%,transparent),radial-gradient(1px 1px at 60% 5%,rgba(86,146,255,.9) 50%,transparent),radial-gradient(.5px .5px at 80% 55%,rgba(86,146,255,.95) 50%,transparent),radial-gradient(1px 1px at 40% 25%,rgba(86,146,255,.9) 50%,transparent);background-size:300px 300px;animation:snow-fall-very-slow 30s linear infinite;animation-delay:-15s;opacity:.45}.snow-l5{background-image:radial-gradient(2px 2px at 18% 42%,rgba(96,165,250,.75) 50%,transparent),radial-gradient(1px 1px at 38% 12%,rgba(96,165,250,.8) 50%,transparent),radial-gradient(3px 3px at 58% 72%,rgba(96,165,250,.65) 50%,transparent),radial-gradient(1.5px 1.5px at 78% 32%,rgba(96,165,250,.78) 50%,transparent),radial-gradient(2.5px 2.5px at 28% 62%,rgba(96,165,250,.7) 50%,transparent),radial-gradient(1px 1px at 88% 92%,rgba(96,165,250,.8) 50%,transparent);background-size:380px 380px;animation:snow-fall-drift 22s linear infinite;animation-delay:-7s;opacity:.5}@keyframes snow-fall-slow{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes snow-fall-medium{0%{transform:translateY(0) translate(-20px)}to{transform:translateY(100%) translate(20px)}}@keyframes snow-fall-fast{0%{transform:translateY(0) translate(15px)}to{transform:translateY(100%) translate(-15px)}}@keyframes snow-fall-very-slow{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes snow-fall-drift{0%{transform:translateY(0) translate(-10px)}to{transform:translateY(100%) translate(10px)}}@keyframes snow-twinkle{0%,to{filter:brightness(1) saturate(1)}25%{filter:brightness(1.15) saturate(1.1)}50%{filter:brightness(1.25) saturate(1.2)}75%{filter:brightness(1.1) saturate(1.05)}}.snow-l1{animation:snow-fall-slow 28s linear infinite,snow-twinkle 4s ease-in-out infinite;animation-delay:0s,0s}.snow-l2{animation:snow-fall-medium 24s linear infinite,snow-twinkle 5s ease-in-out infinite;animation-delay:-3s,1s}.snow-l3{animation:snow-fall-fast 20s linear infinite,snow-twinkle 3.5s ease-in-out infinite;animation-delay:-6s,2s}.snow-l4{animation:snow-fall-very-slow 35s linear infinite;animation-delay:-11s}.snow-l5{animation:snow-fall-drift 26s linear infinite,snow-twinkle 4.5s ease-in-out infinite;animation-delay:-8.5s,.5s}:global(.theme-dark) .snow-l1{background-image:radial-gradient(1.5px 1.5px at 15% 20%,rgba(255,255,255,.8) 50%,transparent),radial-gradient(2px 2px at 35% 40%,rgba(255,255,255,.75) 50%,transparent),radial-gradient(1px 1px at 55% 60%,rgba(255,255,255,.85) 50%,transparent),radial-gradient(1.5px 1.5px at 75% 80%,rgba(255,255,255,.8) 50%,transparent),radial-gradient(2px 2px at 25% 90%,rgba(255,255,255,.75) 50%,transparent),radial-gradient(1px 1px at 85% 30%,rgba(255,255,255,.85) 50%,transparent),radial-gradient(1.5px 1.5px at 45% 70%,rgba(255,255,255,.8) 50%,transparent),radial-gradient(2px 2px at 65% 10%,rgba(255,255,255,.75) 50%,transparent);opacity:.3}:global(.theme-dark) .snow-l2{background-image:radial-gradient(2.5px 2.5px at 20% 30%,rgba(255,255,255,.7) 50%,transparent),radial-gradient(3px 3px at 40% 80%,rgba(255,255,255,.65) 50%,transparent),radial-gradient(2px 2px at 60% 40%,rgba(255,255,255,.75) 50%,transparent),radial-gradient(2.5px 2.5px at 80% 70%,rgba(255,255,255,.7) 50%,transparent),radial-gradient(3px 3px at 30% 15%,rgba(255,255,255,.65) 50%,transparent),radial-gradient(2px 2px at 70% 55%,rgba(255,255,255,.75) 50%,transparent);opacity:.25}:global(.theme-dark) .snow-l3{background-image:radial-gradient(3.5px 3.5px at 25% 45%,rgba(255,255,255,.6) 50%,transparent),radial-gradient(4px 4px at 50% 70%,rgba(255,255,255,.55) 50%,transparent),radial-gradient(3px 3px at 75% 25%,rgba(255,255,255,.65) 50%,transparent),radial-gradient(3.5px 3.5px at 35% 85%,rgba(255,255,255,.6) 50%,transparent);opacity:.2}:global(.theme-dark) .snow-l4{background-image:radial-gradient(1px 1px at 10% 35%,rgba(255,255,255,.9) 50%,transparent),radial-gradient(.5px .5px at 30% 65%,rgba(255,255,255,.95) 50%,transparent),radial-gradient(1px 1px at 50% 15%,rgba(255,255,255,.9) 50%,transparent),radial-gradient(.5px .5px at 70% 45%,rgba(255,255,255,.95) 50%,transparent),radial-gradient(1px 1px at 90% 75%,rgba(255,255,255,.9) 50%,transparent),radial-gradient(.5px .5px at 20% 95%,rgba(255,255,255,.95) 50%,transparent),radial-gradient(1px 1px at 60% 5%,rgba(255,255,255,.9) 50%,transparent),radial-gradient(.5px .5px at 80% 55%,rgba(255,255,255,.95) 50%,transparent),radial-gradient(1px 1px at 40% 25%,rgba(255,255,255,.9) 50%,transparent);opacity:.22}:global(.theme-dark) .snow-l5{background-image:radial-gradient(2px 2px at 18% 42%,rgba(255,255,255,.75) 50%,transparent),radial-gradient(1px 1px at 38% 12%,rgba(255,255,255,.8) 50%,transparent),radial-gradient(3px 3px at 58% 72%,rgba(255,255,255,.65) 50%,transparent),radial-gradient(1.5px 1.5px at 78% 32%,rgba(255,255,255,.78) 50%,transparent),radial-gradient(2.5px 2.5px at 28% 62%,rgba(255,255,255,.7) 50%,transparent),radial-gradient(1px 1px at 88% 92%,rgba(255,255,255,.8) 50%,transparent);opacity:.24}.interactive-snow{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:9000}.garland-svg{position:absolute;left:0;right:0;bottom:-11px;height:22px;width:100%;pointer-events:none;z-index:2;overflow:visible}.garland-wire{opacity:.85}.garland-bulb{opacity:1;animation:bulb-twinkle 2.5s ease-in-out infinite alternate}@keyframes bulb-twinkle{0%{opacity:.88;filter:url(#glow) brightness(.96)}to{opacity:1;filter:url(#glow) brightness(1.14)}}:global(.theme-dark) .garland-wire{stroke:#6b7280}:global(.theme-dark) .garland-bulb{opacity:.95}html.slot-win-celebration .garland-bulb{animation:bulb-celebration .45s ease-in-out 5!important}@keyframes bulb-celebration{0%,to{opacity:.75;filter:url(#glow) brightness(1)}50%{opacity:1;filter:url(#glow) brightness(1.7) saturate(1.25)}}.workspace-layout{display:flex;flex-direction:column;height:100vh;overflow:hidden;--content-top: 12px;--control-h: 32px;--grid-left-pad: var(--content-top);position:relative}.workspace-layout:before{content:"";position:fixed;left:0;width:calc(var(--sidebar-width, 290px) + 5px);right:auto;bottom:0;height:8.8vh;pointer-events:none;z-index:2;background-image:url(../xmas/scenery.png);background-repeat:repeat-x;background-position:left calc(100% + 10px);background-size:auto 8.8vh;opacity:.8;-webkit-mask-image:linear-gradient(to top,rgba(0,0,0,1) 70%,rgba(0,0,0,0) 100%);mask-image:linear-gradient(to top,#000 70%,#0000)}:global(.theme-dark) .workspace-layout:before{background-image:url(../xmas/scenery.png);opacity:.725}.workspace-header{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--space-4);padding:var(--content-top) var(--space-6);background:linear-gradient(135deg,var(--gray-50) 0%,var(--white) 100%);border-bottom:none;box-shadow:none;z-index:1000;position:relative}.workspace-title{display:inline-flex;align-items:center;gap:12px;--xheight-adjust: 2px}.workspace-title h1{font-size:1.75rem;font-weight:600;color:var(--gray-900);margin:0}.workspace-title p{font-size:.875rem;color:var(--gray-600);margin:0;margin-top:var(--space-1)}.workspace-controls{display:flex;align-items:center;gap:var(--space-3);position:relative;z-index:2}.save-indicator{font-size:.85rem;font-weight:500;margin-left:6px}.save-indicator.success{color:var(--primary)}.save-indicator.error{color:var(--danger)}.cv-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:1000}.cv-modal{background:#fff;border-radius:10px;padding:16px;width:360px;box-shadow:0 10px 20px #00000026;display:flex;flex-direction:column;gap:12px}.cv-modal h4{margin:0;font-size:1rem;color:var(--gray-900)}.cv-field{display:flex;flex-direction:column;gap:6px}.cv-field .cv-input{height:var(--control-h);border:1px solid var(--gray-200);border-radius:8px;padding:0 10px;font-size:.9rem}.cv-field .cv-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.cv-check{display:flex;align-items:center;gap:8px;color:var(--gray-700)}.cv-actions{display:flex;justify-content:flex-end;gap:8px}.env-toggle{display:inline-flex;background:var(--gray-100);border-radius:var(--radius);padding:2px;gap:2px;height:calc(var(--control-h) + 2px);max-width:100%}.env-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);padding:0 var(--space-2);height:calc(var(--control-h) + 2px - 4px);border:none;border-radius:calc(var(--radius) - 2px);background:transparent;color:var(--gray-600);font-weight:500;cursor:pointer;transition:background-color .2s ease,color .2s ease;min-width:0;font-size:.8125rem}.env-btn:focus{outline:none;box-shadow:none}.env-btn:hover:not(.active){background:var(--gray-50);color:var(--gray-700)}.env-btn.active{background:var(--btn-active-bg);color:var(--gray-900);box-shadow:0 1px 2px #00000014}.env-btn.env-dev.active{color:var(--gray-900)}.env-btn.env-archive.active{color:var(--gray-700)}.env-btn.env-uat.active,.env-btn.env-prod-uat.active{color:var(--gray-900)}.filter-button{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--gray-100);border:1px solid var(--gray-200);border-radius:var(--radius-md);font-size:.875rem;font-weight:500;color:var(--gray-700);cursor:pointer;transition:all var(--transition)}.filter-button:hover,.filter-button.active{background:var(--primary);border-color:var(--primary);color:var(--white)}.workspace-content{display:grid;grid-template-columns:290px 1fr;flex:1;overflow:hidden;overflow-x:hidden}.workspace-resize-handle{position:relative;width:10px;cursor:col-resize;background:transparent;transition:box-shadow var(--transition);align-self:stretch;min-height:100%;z-index:1}.workspace-resize-handle:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;transform:translate(-50%);background:var(--gray-200);transition:box-shadow var(--transition),background-color var(--transition)}.workspace-resize-handle:hover:before,.workspace-resize-handle.dragging:before{box-shadow:0 0 0 1px #64748b59,0 0 10px #64748b40,0 0 18px #64748b29}.workspace-resize-handle.snap-default:before{box-shadow:0 0 0 1px #64748b8c,0 0 0 3px #64748b38,0 0 16px #64748b33}.workspace-main{flex:1;overflow:hidden;background:var(--gray-50);position:relative;z-index:1;scrollbar-gutter:stable;padding-right:6px}.workspace-loading{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--gray-50)}.workspace-loading-blank{height:100vh;background:var(--white)}.loading-spinner{font-size:1.125rem;color:var(--gray-600)}.loading-box{display:flex;flex-direction:column;align-items:center;gap:8px}.loading-ring{width:32px;height:32px;border:3px solid var(--gray-200);border-top-color:var(--primary);border-radius:50%;animation:twe-spin .8s linear infinite}.loading-text{color:var(--gray-600)}@keyframes twe-spin{to{transform:rotate(360deg)}}.workspace-sidebar{width:290px;background:linear-gradient(180deg,var(--gray-50) 0%,var(--white) 100%);border-right:none;overflow:hidden;flex-shrink:0;display:flex;flex-direction:column;position:relative;z-index:1}.workspace-sidebar .env-toggle{margin:12px var(--space-2) 6px var(--space-2);align-self:stretch;justify-content:stretch;width:calc(100% - (var(--space-2) * 2));gap:2px}.workspace-sidebar .env-toggle .env-btn,.workspace-sidebar .env-toggle .twe-tooltip-wrapper{flex:1}.workspace-sidebar .env-toggle .twe-tooltip-wrapper>.env-btn{width:100%}@media (max-width: 768px){.workspace-header{flex-direction:column;gap:var(--space-4);padding:var(--space-3)}.workspace-controls{width:100%;justify-content:space-between}.workspace-content{flex-direction:column}.workspace-sidebar{width:100%;border-right:none;border-bottom:1px solid var(--gray-200);max-height:200px}}.loading-screen{display:flex;align-items:center;justify-content:center;width:100%;height:100vh;background:linear-gradient(135deg,var(--gray-50) 0%,var(--white) 100%)}.loading-content{text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-6)}.loading-spinner{width:64px;height:64px;color:var(--primary)}.loading-icon{width:100%;height:100%}.loading-title{font-size:1.5rem;font-weight:600;color:var(--gray-900);margin:0}.loading-subtitle{font-size:1rem;color:var(--gray-600);margin:0}.error-screen{display:flex;align-items:center;justify-content:center;width:100%;height:100vh;background:linear-gradient(135deg,var(--gray-50) 0%,var(--white) 100%)}.error-content{text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-6);max-width:400px;padding:var(--space-8)}.error-icon{color:var(--danger)}.error-title{font-size:1.5rem;font-weight:600;color:var(--gray-900);margin:0}.error-message{font-size:1rem;color:var(--gray-600);margin:0;line-height:1.6}.error-retry-button{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);background:var(--primary);color:var(--white);border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:background var(--transition)}.error-retry-button:hover{background:var(--primary-hover)}.app{width:100%;height:100vh;overflow:hidden;display:flex;flex-direction:column;background:linear-gradient(135deg,var(--gray-50) 0%,var(--white) 100%)}:root{--primary: #2563eb;--primary-hover: #1d4ed8;--primary-light: #dbeafe;--secondary: #64748b;--secondary-light: #f1f5f9;--success: #10b981;--success-light: #d1fae5;--warning: #f59e0b;--warning-light: #fef3c7;--danger: #ef4444;--danger-light: #fee2e2;--info: #06b6d4;--info-light: #cffafe;--white: #ffffff;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-sm: .25rem;--radius: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--transition-fast: .15s ease;--transition: .2s ease;--transition-slow: .3s ease;--btn-active-bg: var(--white);--card-border: var(--gray-200);--card-border-color: rgba(229, 231, 235, .5);--workbook-underlay-bg: var(--gray-100);--workbook-underlay-border: var(--gray-200)}.theme-dark{--primary: #3b82f6;--primary-hover: #60a5fa;--primary-light: #1e3a8a;--secondary: #94a3b8;--secondary-light: #0b1220;--success: #22c55e;--success-light: #052e1a;--warning: #f59e0b;--warning-light: #3a2500;--danger: #ef4444;--danger-light: #3a0d0d;--info: #06b6d4;--info-light: #072d35;--text-primary: #e2e8f0;--text-secondary: #94a3b8;--border-color: #334155;--background-hover: #0f1b2d;--primary-dark: #93c5fd;--btn-active-bg: linear-gradient(180deg, rgba(148,163,184,.2) 0%, rgba(148,163,184,.1) 100%), var(--white);--white: #0f172a;--gray-50: #0b1220;--gray-100: #0f1b2d;--gray-200: #1e293b;--gray-300: #334155;--gray-400: #475569;--gray-500: #64748b;--gray-600: #94a3b8;--gray-700: #cbd5e1;--gray-800: #e2e8f0;--gray-900: #f1f5f9;--workbook-underlay-bg: var(--gray-100);--workbook-underlay-border: var(--gray-200);--card-border: var(--gray-200);--card-border-color: rgba(51, 65, 85, .45)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--gray-50);color:var(--gray-900);line-height:1.5;overflow:hidden}#root{width:100%;height:100vh;overflow:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--gray-100);border-radius:var(--radius)}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--radius)}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}*:focus{outline:2px solid var(--primary);outline-offset:2px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fade-in{animation:fadeIn .3s ease-out}.animate-slide-in{animation:slideIn .4s ease-out}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}
