.portal-layout{--portal-purple-700: #6f4fb3;--portal-purple-900: #4b3b74;--portal-purple-surface: #f2f0fa;--portal-bg: #f9fafb;--portal-surface: #ffffff;--portal-border: #e5e7ea;--portal-text-primary: #131927;--portal-text-secondary: #6d717f;--portal-text-on-dark: #ffffff;--portal-text-on-dark-muted: rgba(255, 255, 255, .75);--portal-critical: #ff3b3b;display:flex;flex-direction:column;height:100vh;width:100%;background-color:var(--portal-bg);overflow:hidden;font-family:Kanit,-apple-system,BlinkMacSystemFont,sans-serif}.portal-layout__body{flex:1;min-height:0;display:flex;width:100%}.portal-layout__main{flex:1;min-width:0;padding:24px;overflow-y:auto;display:flex;flex-direction:column;gap:24px}.portal-layout__main-title{margin:0;font-family:Kanit,sans-serif;font-size:28px;font-weight:600;line-height:36px;color:var(--portal-text-primary)}.portal-navbar{height:80px;flex-shrink:0;background:var(--portal-surface);border-bottom:1px solid var(--portal-border);display:flex;align-items:center;justify-content:space-between;padding:0 28px;z-index:2}.portal-navbar__logo{height:36px;width:auto;object-fit:contain}.portal-navbar__bell{position:relative;width:28px;height:28px;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.portal-navbar__bell-dot{position:absolute;top:1px;right:2px;width:8px;height:8px;border-radius:50%;background:var(--portal-critical);border:2px solid var(--portal-surface);box-sizing:content-box}.portal-sidebar{width:280px;flex-shrink:0;background:linear-gradient(180deg,var(--portal-purple-900) 0%,var(--portal-purple-700) 100%);display:flex;flex-direction:column;padding:12px 20px 20px;color:var(--portal-text-on-dark);overflow:hidden}.portal-sidebar__profile{display:flex;align-items:center;justify-content:space-between;padding:20px 0 8px;gap:12px}.portal-sidebar__profile-info{display:flex;align-items:center;gap:8px;min-width:0}.portal-sidebar__avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#b890ff,#39316e);color:#fff;font-size:16px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.portal-sidebar__profile-text{display:flex;flex-direction:column;min-width:0}.portal-sidebar__profile-name{font-size:16px;font-weight:600;line-height:24px;color:var(--portal-text-on-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-sidebar__profile-role{font-size:13px;font-weight:300;line-height:18px;color:var(--portal-text-on-dark-muted)}.portal-sidebar__logout{width:32px;height:32px;border-radius:50%;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--portal-text-on-dark);flex-shrink:0;transition:background .15s}.portal-sidebar__logout:hover{background:#ffffff26}.portal-sidebar__divider{height:1px;background:#ffffff2e;margin:12px 0}.portal-sidebar__nav{flex:1;display:flex;flex-direction:column;gap:4px;overflow-y:auto;padding-top:4px}.portal-sidebar__item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;cursor:pointer;font-size:15px;font-weight:400;color:#ffffffd1;transition:background .15s,color .15s;width:100%;text-align:left;border:none;background:transparent;font-family:inherit}.portal-sidebar__item:hover{background:#ffffff1a;color:var(--portal-text-on-dark)}.portal-sidebar__item--active{background:#00000038;color:var(--portal-text-on-dark);font-weight:500}.portal-sidebar__item--parent{justify-content:space-between}.portal-sidebar__item-left{display:flex;align-items:center;gap:12px}.portal-sidebar__icon{font-size:18px;flex-shrink:0}.portal-sidebar__arrow{font-size:11px;color:#ffffffd9}.portal-sidebar__children{display:flex;flex-direction:column;gap:2px;padding:2px 0 4px 44px}.portal-sidebar__child{padding:10px 14px;font-size:14px;font-weight:400;color:#ffffffd9;border-radius:8px;cursor:pointer;background:transparent;border:none;text-align:left;font-family:inherit;transition:background .15s}.portal-sidebar__child:hover{background:#ffffff14}.portal-sidebar__child--active{background:#00000038;color:var(--portal-text-on-dark);font-weight:500}.portal-sidebar__footer{margin-top:auto;flex-shrink:0}@media (max-width: 960px){.portal-sidebar{width:240px}.portal-layout__main{padding:16px}}@media (max-width: 720px){.portal-layout__body{flex-direction:column}.portal-sidebar{width:100%;height:auto}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Kanit,-apple-system,BlinkMacSystemFont,sans-serif}
