html,body{height:100%}body{overflow:hidden}:root{--scs-header-height: 44px;--scs-sidebar-collapsed-width: 64px;--scs-sidebar-expanded-width: 184px}header{position:sticky;top:0;z-index:1100;background-color:#fff}header nav{padding:6px 20px;min-height:var(--scs-header-height)}header .logo img{height:32px;width:auto;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));transition:all .2s ease}.app-shell{height:100vh;display:flex;flex-direction:column;overflow:hidden}.breadcrumb-shell{position:sticky;top:var(--scs-header-height);z-index:1050;background-color:#fff}.app-main{flex:1 1 auto;min-height:0;display:flex;overflow:hidden}.side-nav{background-color:#fff;border-right:1px solid #e8e8e8;padding:20px 10px;overflow-y:auto;overflow-x:hidden;height:100%;width:var(--scs-sidebar-collapsed-width);transition:width .3s ease;flex:0 0 auto;position:relative}.side-nav.open{width:var(--scs-sidebar-expanded-width)}.side-nav.collapsed{overflow:visible}.side-nav .item{align-items:center}.side-nav .item svg{color:inherit}.side-nav .item{color:#22436a;display:flex;font-size:.875rem;opacity:.6;padding:10px;transition:all .3s ease}.side-nav .item:hover{background:#e56d2914;border-radius:6px;cursor:pointer;opacity:1;transform:translate(1px);transition:all .2s ease}.side-nav .item:hover a{opacity:1;color:#e56d29;font-weight:600}.side-nav .item:hover svg{color:#e56d29}.side-nav .item a{color:#22436a;opacity:.6}.side-nav .item a:hover{color:#e56d29}.side-nav .item a:hover svg{color:#e56d29}.side-nav .item svg{font-size:2rem;margin-right:10px}.side-nav .menu-toggle-handle{position:relative;width:100%;height:40px;background-color:transparent;border:none;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#6b7280;transition:all .2s ease;margin-bottom:20px}.side-nav .menu-toggle-handle svg{font-size:18px;transition:transform .2s ease}.side-nav .menu-toggle-handle:hover{background-color:#e56d291a;color:#e56d29}.side-nav .menu-toggle-handle:hover svg{transform:rotate(180deg)}.side-nav .nav-signout{position:sticky;top:100%;margin-top:20px;cursor:pointer;color:#6b7280;transition:all .2s ease;padding:8px;border-radius:8px;display:flex;align-items:center;justify-content:center}.side-nav .nav-signout svg{font-size:20px}.side-nav .nav-signout:hover{background-color:#d32f2f1a;color:#d32f2f;transform:scale(1.05)}.side-nav .nav-signout .nav-signout-expanded{display:flex;align-items:center;gap:12px;padding:0 8px}.side-nav .nav-signout .nav-signout-expanded span{font-size:.875rem;font-weight:500;white-space:nowrap}.side-nav.open .nav-signout{width:100%;justify-content:flex-start;padding:12px 16px}.side-nav.open .nav-signout:hover{transform:scale(1.02)}.content-wrapper{flex:1 1 auto;min-width:0;min-height:0;background-color:#f7f9fc;overflow:hidden;display:flex;flex-direction:column}.content-wrapper>*{flex:1 1 auto;min-height:0}.side-nav.collapsed{width:var(--scs-sidebar-collapsed-width)}.nav-item{position:relative;margin-bottom:1rem}.nav-link{display:flex}.nav-link svg{color:inherit}.nav-link{align-items:center;color:#22436a;gap:.5rem;text-decoration:none}.nav-link-collapsed{display:flex}.nav-link-collapsed svg{color:inherit}.nav-link-collapsed{align-items:center;justify-content:center;color:#22436a;gap:.5rem;text-decoration:none}.label{margin-left:.5rem}.submenu{padding-left:1.5rem;margin-top:.5rem;display:flex;flex-direction:column}.submenu-item{color:#22436a;text-decoration:none;padding:.5rem .75rem;border-radius:4px;font-size:.875rem;opacity:.7;transition:all .2s ease}.submenu-item:hover{color:#e56d29;background-color:#e56d2914;opacity:1}.submenu.popout{position:absolute;left:50px;top:0;background:#fff;padding:.75rem;border-radius:8px;z-index:2000;min-width:180px;box-shadow:0 8px 24px #0000001f;border:1px solid #e8e8e8;display:flex;flex-direction:column;gap:4px}.submenu.popout:before{content:"";position:absolute;left:-20px;top:0;bottom:0;width:20px;background:transparent}.submenu.popout .submenu-item{color:#22436a;padding:8px 12px;border-radius:4px;font-size:.875rem;transition:all .2s ease}.submenu.popout .submenu-item:hover{background-color:#e56d2914;color:#e56d29}.submenu.popout .submenu-item.active{background-color:#e56d291f;color:#e56d29;font-weight:600}.menu-toggle{position:absolute;bottom:1rem;left:1rem;cursor:pointer;color:#fff}.mobile-submenu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1f1f1f;color:#fff;z-index:9999;display:flex;flex-direction:column;padding:2rem 1rem}.back-btn{background:none;border:none;color:#fff;font-size:1.25rem;margin-bottom:1rem;text-align:left}.nav-link.active,.nav-link-collapsed.active,.submenu-item.active{color:#e56d29;background:#e56d2914;border-radius:6px;padding:8px 12px;margin:4px 0;border-left:3px solid #e56d29;font-weight:600}.nav-link.active svg,.nav-link-collapsed.active svg,.submenu-item.active svg{color:#e56d29}.separator-row .MuiDataGrid-cell{font-weight:700;background-color:#f5f5f5;pointer-events:none}.MuiDataGrid-virtualScroller{padding-bottom:64px!important}.role--accordion--summary{background-color:#1976d2!important;color:#fff!important;height:42px;min-height:auto!important}.role--accordion--summary>div{margin:0}.role--accordion--summary.Mui-expanded{min-height:inherit!important}.role--accordion--summary p{font-size:1.125rem;font-weight:700!important}.role--accordion--summary svg{color:#fff}.role--accordion--content{display:flex;flex-wrap:wrap;padding:30px!important}.role--permission{margin:0 30px 30px 0;width:calc((100% - 60px)*.3)}.role--permission:nth-child(3n){margin-right:0}.role--permission p{color:#000000a6;font-size:.875rem;margin:0}.hierarchy-selector--display{border-radius:4px;padding:9px 1rem;transition:background-color .4s ease}.hierarchy-selector--display:hover{cursor:pointer;background-color:var(--var-color-primary-clear)}.selections{align-items:center;border:1px solid var(--var-color-primary-light);border-radius:8px;display:flex;flex-wrap:wrap;height:calc((100vh - 123px)*.8);margin:calc((100vh - 123px)*.1) auto;width:80%}.selections--wrapper{margin:0 auto;min-width:500px}.selections--wrapper>div{align-items:center;display:flex;margin-bottom:20px;width:100%}.selections--wrapper>div h3{color:var(--var-color-primary-dark);display:inline-block;font-size:1.5rem;margin:0;width:200px}.selections--form-input{width:calc(100% - 230px)}.selections h1{color:var(--var-color-primary-dark);font-size:2.5rem;text-align:center;margin-bottom:1.5em;width:100%}.specs-grid{flex:1 1 auto;height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}.specs-grid .MuiDataGrid-root{flex:1 1 auto;height:100%;min-height:0}@media (max-width: 768px){.specs-grid{height:100%;min-height:0}}@media (max-width: 480px){.specs-grid{height:100%;min-height:0}}.specs-grid .MuiDataGrid-root{transition:opacity .2s ease-in-out;font-size:.875rem}.specs-grid .MuiDataGrid-root.MuiDataGrid-root--loading{opacity:.8}@media (max-width: 768px){.specs-grid .MuiDataGrid-root{font-size:.8rem}}@media (max-width: 480px){.specs-grid .MuiDataGrid-root{font-size:.75rem}}.specs-grid .MuiDataGrid-columnHeaders{min-height:40px!important;background-color:#f8f9fa;border-bottom:2px solid #dee2e6}@media (max-width: 768px){.specs-grid .MuiDataGrid-columnHeaders{min-height:36px!important}}.specs-grid .MuiDataGrid-row{transition:background-color .15s ease-in-out;min-height:52px!important}@media (max-width: 768px){.specs-grid .MuiDataGrid-row{min-height:48px!important}}@media (max-width: 480px){.specs-grid .MuiDataGrid-row{min-height:44px!important}}.specs-grid .MuiDataGrid-cell{padding:8px 16px}@media (max-width: 768px){.specs-grid .MuiDataGrid-cell{padding:6px 12px}}@media (max-width: 480px){.specs-grid .MuiDataGrid-cell{padding:4px 8px}}.specs-grid .MuiDataGrid-columnHeaderTitle{font-weight:600;font-size:inherit}.specs-grid .MuiDataGrid-virtualScroller{overflow:auto!important;-webkit-overflow-scrolling:touch}.specs-grid .MuiDataGrid-footerContainer{min-height:52px}@media (max-width: 768px){.specs-grid .MuiDataGrid-footerContainer{min-height:45px;padding:0 8px}.specs-grid .MuiDataGrid-footerContainer .MuiTablePagination-toolbar{padding-left:8px;padding-right:8px}.specs-grid .MuiDataGrid-footerContainer .MuiTablePagination-selectLabel,.specs-grid .MuiDataGrid-footerContainer .MuiTablePagination-displayedRows{font-size:.75rem}}.specs-grid .MuiDataGrid-main{min-height:450px}@media (max-width: 768px){.specs-grid .MuiDataGrid-main{min-height:300px}}.specs-grid .MuiDataGrid-overlay{background:#fffc;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.specs-grid .changed-row-added{border-left:3px solid #1b5e20;background-color:#1b5e200a}.specs-grid .changed-row-changed{border-left:3px solid #e65100;background-color:#e651000a}.specs-grid .changed-row-removed{border-left:3px solid #c62828;background-color:#c628280a;opacity:.7}.specs-grid .removed-item{background-color:#c6282814;opacity:.6}.specs-grid .removed-item .MuiDataGrid-cell{color:#666;text-decoration:line-through}.specs-grid .added-item{background-color:#1b5e2014}.specs-grid .added-item .MuiDataGrid-cell{color:#1b5e20;font-weight:500}.specs-grid .subsection-first-row,.specs-grid .subsection-last-row,.specs-grid .subsection-single-row{border-top:none!important;border-bottom:none!important}.specs-grid body.dragging-spec .subsection-first-row{border-top:2px solid #757575!important}.specs-grid body.dragging-spec .subsection-last-row{border-bottom:2px solid #757575!important}.specs-grid body.dragging-spec .subsection-single-row{border-top:2px solid #757575!important;border-bottom:2px solid #757575!important}.specs-grid .blur-during-drag{opacity:.3!important;filter:blur(2px)!important;transform:scale(.98)!important;transition:all .3s ease!important;pointer-events:none!important;background-color:#80808026!important;position:relative!important;margin:0!important;padding:0!important}.specs-grid .blur-during-drag:before{content:""!important;position:absolute!important;top:0!important;left:-20px!important;right:-20px!important;bottom:0!important;background:#8080801f!important;pointer-events:none!important;z-index:1!important}.specs-grid .blur-during-drag .MuiDataGrid-cell{background-color:#8080801a!important;position:relative!important}.specs-grid .blur-during-drag .MuiDataGrid-cell:before{content:""!important;position:absolute!important;top:0!important;left:-10px!important;right:-10px!important;bottom:0!important;background:#80808014!important;z-index:-1!important}.specs-grid .blur-during-drag *{position:relative!important;z-index:2!important}.specs-grid .highlight-drag-zone{box-shadow:inset 0 0 0 2px #2196f399!important;transform:scale(1.02)!important;transition:all .3s ease!important;z-index:10!important;position:relative!important}.specs-grid .drop-target-zone{background-color:#7575750d!important;border:1px dashed rgba(117,117,117,.3)!important;transition:all .3s ease!important}.specs-grid .drop-target-zone:hover{background-color:#75757514!important;border-color:#75757580!important}.specs-grid .MuiDataGrid-row[draggable=true]{cursor:grab!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important}.specs-grid .MuiDataGrid-row[draggable=true]:hover{background-color:#00000005!important}.specs-grid .MuiDataGrid-row[draggable=true]:active{cursor:grabbing!important}.specs-grid .MuiDataGrid-row{transition:transform .4s cubic-bezier(.25,.46,.45,.94),opacity .3s ease,background-color .3s ease,box-shadow .3s ease,border .3s ease!important}.specs-grid body.dragging-spec .MuiDataGrid-row{transition:transform .2s cubic-bezier(.4,0,.2,1),opacity .2s ease,background-color .2s ease,box-shadow .2s ease!important}.specs-grid .highlight-drag-zone{animation:dragPulse 2s infinite ease-in-out,dragFloat 1s ease-in-out infinite alternate!important;box-shadow:0 8px 25px #2196f366!important}@keyframes dragPulse{0%,to{box-shadow:inset 0 0 0 2px #2196f366,0 0 #2196f333!important}50%{box-shadow:inset 0 0 0 2px #2196f399,0 0 8px #2196f34d!important}}.specs-grid .drop-target-zone{animation:dropTargetGlow 3s infinite ease-in-out!important}@keyframes dropTargetGlow{0%,to{border-color:#7575754d!important;transform:translateY(0)!important}50%{border-color:#75757580!important;transform:translateY(-1px)!important}}@keyframes dragFloat{0%{transform:scale(1.02) translateY(0)!important}to{transform:scale(1.02) translateY(-3px)!important}}.specs-grid .currently-dragging{z-index:1000!important;position:relative!important;box-shadow:0 15px 35px #2196f380!important;animation:dragMove .3s ease-in-out infinite alternate!important;background-color:transparent!important;filter:none!important;opacity:1!important}.specs-grid .currently-dragging .MuiDataGrid-cell{background-color:transparent!important}.specs-grid .currently-dragging .MuiDataGrid-cell:before{display:none!important}.specs-grid .currently-dragging:before{display:none!important}@keyframes dragMove{0%{transform:translateY(-1px)!important}to{transform:translateY(-2px)!important}}.specs-grid .just-moved{animation:justMoved .6s ease-out!important;z-index:5!important;position:relative!important}@keyframes justMoved{0%{background-color:#4caf5026!important;transform:scale(1.02)!important;box-shadow:0 4px 12px #4caf504d!important}to{background-color:transparent!important;transform:scale(1)!important;box-shadow:none!important}}.specs-grid body.dragging-spec,.specs-grid body.dragging-spec *{cursor:grabbing!important}.specs-grid body.dragging-spec .MuiDataGrid-toolbarContainer,.specs-grid body.dragging-spec .MuiDataGrid-footerContainer{opacity:.3!important;transition:opacity .3s ease!important}.specs-grid body.dragging-spec .MuiDataGrid-main{background:linear-gradient(135deg,#2196f305,#2196f303)!important}.specs-main-actions{display:flex;justify-content:space-between;margin-bottom:.5rem}@media (max-width: 768px){.specs-main-actions{flex-direction:column;gap:8px;margin-bottom:.75rem}}@media (max-width: 768px){.specs-grid .MuiBox-root[style*="backgroundColor: rgb(255, 255, 255)"]{padding:8px 12px!important;margin-bottom:8px!important}.specs-grid .MuiBox-root[style*="backgroundColor: rgb(255, 255, 255)"] .MuiChip-root{font-size:.7rem!important;height:24px!important}.specs-grid .MuiBox-root[style*="backgroundColor: rgb(255, 255, 255)"] .MuiButton-root{font-size:.7rem!important;padding:4px 8px!important}}.changed-row-added:hover{background-color:#1b5e2014!important}.changed-row-changed:hover{background-color:#e6510014!important}.changed-row-removed:hover{background-color:#c6282814!important}.added-item:hover{background-color:#1b5e201f!important}.options{display:flex;flex-direction:column;height:100%;min-height:0}.options-grid{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;height:100%}.options-grid .MuiDataGrid-root{flex:1 1 auto;height:100%;min-height:0}.options-grid.is-loading .MuiDataGrid-row{transition:opacity .3s ease;opacity:.7}.options-progress{position:sticky;top:0;z-index:1200}.options-progress .MuiLinearProgress-root{height:3px;background-color:#007bff1a}.options-progress .MuiLinearProgress-root .MuiLinearProgress-bar{background:linear-gradient(90deg,#007bff,#0056b3,#007bff);background-size:200% 100%;animation:progressShine 2s infinite}@keyframes progressShine{0%{background-position:-200% 0}to{background-position:200% 0}}:root{--var-color-primary-main: #3c78b4;--var-color-primary-main-rgb: 60, 120, 180;--var-color-primary-light: #6299ce;--var-color-primary-light-rgb: 98, 153, 206;--var-color-primary-lighter: #c9daee;--var-color-primary-lighter-rgb: 201, 218, 238;--var-color-primary-clear: #e7eef7;--var-color-primary-crear-rgb: 231, 238, 247;--var-color-primary-clearer: #f3f6fc;--var-color-primary-clearer-rgb: 243, 246, 252;--var-color-primary-dark: #22436a;--var-color-primary-dark-rgb: 34, 67, 106}h1{color:var(--var-color-primary-dark);font-size:2rem;margin:0 0 .5em}a{color:var(--var-color-primary-main);text-decoration:none;transition:all .4s ease-in-out}a:hover{color:var(--var-color-primary-light)}.MuiDataGrid-cell p{margin:0}.MuiTooltip-popper{pointer-events:none}
