.portal-layout{min-height:100vh;color:var(--portal-text)}.portal-layout__header{z-index:1000;border-bottom:1px solid var(--portal-border);background:var(--portal-surface);justify-content:space-between;align-items:center;height:52px;padding:0 24px;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 1px 3px #0f172a0f}.portal-layout__brand-group{align-items:center;gap:12px;min-width:0;display:flex}.portal-layout__brand{color:var(--portal-primary);flex:none;font-size:15px;font-weight:700}.portal-layout__brand span{color:var(--portal-text-dim);font-size:12px;font-weight:400}.portal-layout__role{background:var(--portal-primary-light);color:var(--portal-primary);text-overflow:ellipsis;white-space:nowrap;border-radius:10px;padding:2px 10px;font-size:11px;font-weight:600;overflow:hidden}.portal-layout__header-extra{flex:none;display:inline-flex}.portal-layout__mobile-menu,.portal-layout__collapse,.portal-layout__user,.portal-nav__item{font:inherit;border:0}.portal-layout__mobile-menu{width:36px;height:36px;color:var(--portal-text-dim);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;font-size:18px;display:none}.portal-layout__user{min-width:0;color:var(--portal-text-dim);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:8px;padding:4px 8px;display:flex}.portal-layout__mobile-menu:hover,.portal-layout__collapse:hover,.portal-layout__user:hover{background:var(--portal-background)}.portal-layout__avatar{background:var(--portal-primary);color:#fff;border-radius:50%;flex:0 0 30px;justify-content:center;align-items:center;width:30px;height:30px;font-size:12px;font-weight:700;display:inline-flex}.portal-layout__user-name{text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:12px;overflow:hidden}.portal-layout__shell{min-height:100vh;padding-top:52px;display:flex}.portal-layout__sidebar{border-right:1px solid var(--portal-border);background:var(--portal-surface);flex:none;height:calc(100vh - 52px);padding:12px 0;transition:width .18s;position:sticky;top:52px;overflow-y:auto}.portal-layout__collapse{width:calc(100% - 28px);min-height:36px;color:var(--portal-text-muted);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:8px;margin:0 14px 8px;font-size:12px;font-weight:600;display:flex}.portal-layout__main{background:var(--portal-background);flex:auto;min-width:0;overflow-x:hidden}.portal-layout__content{width:100%;min-width:0;padding:22px 26px}.portal-nav__section{margin:0 0 12px;padding:0 14px}.portal-nav__section-title{color:var(--portal-text-muted);margin:0 0 4px;padding:0 6px;font-size:10px;font-weight:700;line-height:20px}.portal-nav__item{width:100%;min-height:34px;color:var(--portal-text-dim);cursor:pointer;text-align:left;background:0 0;border-radius:6px;align-items:center;gap:8px;margin:1px 0;padding:7px 10px;font-size:12px;transition:color .15s,background .15s;display:flex}.portal-nav__item:hover{background:var(--portal-background);color:var(--portal-text)}.portal-nav__item--active,.portal-nav__item--active:hover{background:var(--portal-primary-light);color:var(--portal-primary);font-weight:600}.portal-nav__item--danger,.portal-nav__item--danger:hover{color:var(--portal-danger)}.portal-nav__icon{flex:0 0 16px;justify-content:center;align-items:center;width:16px;font-size:14px;display:inline-flex}.portal-nav__label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.portal-nav__logout{margin-top:20px;padding:0 14px}.portal-layout__drawer-title{color:var(--portal-text);font-size:14px;font-weight:700}.portal-layout__mobile-menu:focus-visible,.portal-layout__collapse:focus-visible,.portal-layout__user:focus-visible,.portal-nav__item:focus-visible{outline:2px solid var(--portal-primary);outline-offset:2px}@media (width<=1100px){.portal-layout__user-name{display:none}}@media (width<=991px){.portal-layout__header{height:52px;padding:0 12px}.portal-layout__mobile-menu{display:inline-flex}.portal-layout__sidebar{display:none}.portal-layout__content{padding:0;max-width:none!important}.portal-layout__drawer .portal-nav__item{min-height:42px;font-size:13px}}@media (width<=560px){.portal-layout__brand-group{gap:8px}.portal-layout__role{display:none}}@media (prefers-reduced-motion:reduce){.portal-layout__sidebar,.portal-nav__item{transition:none}}*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (width>=640px){.container{max-width:640px}}@media (width>=768px){.container{max-width:768px}}@media (width>=1024px){.container{max-width:1024px}}@media (width>=1280px){.container{max-width:1280px}}@media (width>=1536px){.container{max-width:1536px}}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.break-all{word-break:break-all}.border{border-width:1px}.uppercase{text-transform:uppercase}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}#root{min-height:100vh}
