.app-shell{--side: #008ac4;--side-2: #006fa0;--as-border: #e2e8f0;--as-text: #0f172a;display:grid;grid-template-columns:280px 1fr;min-height:100vh;transition:grid-template-columns .2s ease}.app-shell.is-collapsed{grid-template-columns:64px 1fr}.as-sidebar{background:linear-gradient(180deg,var(--side) 0%,var(--side-2) 100%);color:#fff;padding:0 0 20px;position:sticky;top:0;height:100vh;overflow-y:auto;z-index:60}.as-sidebar::-webkit-scrollbar{width:6px}.as-sidebar::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.as-sidebar-top{position:absolute;top:0;left:0;right:0;height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;z-index:2}.as-sidebar-company{color:#fff;font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.2px}.is-collapsed .as-sidebar-company{display:none}.is-collapsed .as-sidebar{padding:0 0 12px}.is-collapsed .as-sidebar-top{position:static;height:auto;padding:12px 0;justify-content:center}.as-menu{padding:48px 0 12px}.as-group-head{display:flex;align-items:center;gap:10px;padding:11px 14px;cursor:pointer;font-size:12px;font-weight:600;letter-spacing:.2px;text-transform:uppercase;color:#ffffffd9;transition:background .15s;white-space:nowrap}.as-group-head:hover{background:#ffffff0d}.as-group.open .as-group-head{background:linear-gradient(90deg,#f9d36a,#f5b840);color:#1f2937}.as-ic{width:28px;height:28px;border-radius:6px;background:#fff;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.as-lbl{flex:1}.as-caret{opacity:.8;display:inline-flex;align-items:center}.as-sub{list-style:none;margin:0;padding:6px 0;background:#0000002e}.as-sub-item{padding:10px 20px 10px 14px;font-size:14.5px;cursor:pointer;color:#ffffffc7;transition:all .15s;font-weight:300}.as-sub-item:hover{background:#ffffff0f;color:#fff}.as-sub-item.active{background:#fff;color:#1f2937;font-weight:400}.is-collapsed .as-menu{padding:0;display:flex;flex-direction:column;align-items:stretch;overflow:visible}.is-collapsed .as-group-head{padding:12px 0;justify-content:center;text-transform:none;gap:0}.is-collapsed .as-group-head .as-ic{width:32px;height:32px;border-radius:8px}.is-collapsed .as-group-head .as-ic svg{width:22px;height:22px}.is-collapsed .as-group-head .as-lbl,.is-collapsed .as-group-head .as-caret,.is-collapsed .as-sub{display:none}.is-collapsed .as-group.open .as-group-head{border-radius:0}.is-collapsed .as-group{position:relative}.as-flyout{display:none}.is-collapsed .as-flyout{display:block;position:absolute;left:100%;top:0;padding-left:8px;min-width:220px;z-index:100;opacity:0;visibility:hidden;transform:translate(-4px);transition:opacity .12s,transform .12s;pointer-events:none}.is-collapsed .as-group:hover>.as-group-head .as-flyout,.is-collapsed .as-flyout:hover{opacity:1;visibility:visible;transform:translate(0);pointer-events:auto}.as-flyout-title{display:block;padding:10px 14px;font-weight:700;font-size:13px;color:var(--as-text);background:#fff;border:1px solid var(--as-border);border-bottom:none;border-radius:8px 8px 0 0;text-transform:none;letter-spacing:0}.as-flyout-sub{list-style:none;margin:0;padding:6px 0;background:#fff;border:1px solid var(--as-border);border-top:none;border-radius:0 0 8px 8px;box-shadow:0 10px 28px -8px #0f172a40}.as-flyout-title:last-child{border-radius:8px;box-shadow:0 10px 28px -8px #0f172a40}.as-flyout-sub li{padding:7px 14px;font-size:13px;color:var(--as-text);cursor:pointer;white-space:nowrap;text-transform:none;letter-spacing:0}.as-flyout-sub li:hover{background:#008ac414}.as-flyout-sub li.active{background:#cbe7d8;font-weight:600}.as-main{display:flex;flex-direction:column;min-width:0;overflow-x:hidden}@media(max-width:1024px){.app-shell{grid-template-columns:64px 1fr}.app-shell .as-sidebar-company,.app-shell .as-group-head .as-lbl,.app-shell .as-group-head .as-caret{display:none}}@media(max-width:640px){.app-shell,.app-shell.is-collapsed{grid-template-columns:1fr}.as-sidebar{position:fixed;top:0;left:0;bottom:0;width:260px;height:100vh;z-index:60;transform:translate(-100%);transition:transform .2s ease}.app-shell:not(.is-collapsed) .as-sidebar{transform:translate(0)}.app-shell.is-collapsed .as-sidebar{transform:translate(-100%)}}
