.portal-shell{--portal-bg:#f2f5fb;--portal-group:#f8faff;--portal-surface:#fff;--portal-surface-translucent:#ffffffe0;--portal-sidebar:#202a5a;--portal-primary:#6879ed;--portal-violet:#7067dc;--portal-text:#18264b;--portal-muted:#5d6d9a;--portal-border:#dfe5f2;--portal-success:#3fae7c;--portal-warning:#c87a24;--portal-focus:#5367d7;--portal-shadow-group:0 24px 60px #48539d14;--portal-shadow-card:0 10px 26px #293a770f;--portal-shadow-popover:0 16px 40px #202a5a29;--portal-radius-control:12px;--portal-radius-card:20px;--portal-radius-group:28px;--portal-radius-pill:999px;--portal-motion-fast:.12s;--portal-motion-base:.18s;--portal-motion-sidebar:.38s;--portal-ease-standard:cubic-bezier(.25, 1, .5, 1);--portal-ease-sidebar:cubic-bezier(.22, 1, .36, 1)}@media (prefers-reduced-motion:reduce){.portal-shell{--portal-motion-fast:1ms;--portal-motion-base:1ms;--portal-motion-sidebar:1ms;--portal-ease-standard:linear;--portal-ease-sidebar:linear}}@media (prefers-reduced-transparency:reduce){.portal-shell{--portal-surface-translucent:#fff}}
.portal-shell{grid-template-columns:var(--portal-sidebar-width,80px) minmax(0, 1fr);min-height:100vh;color:var(--portal-text);background:var(--portal-bg);font-family:var(--font-manrope), Manrope, sans-serif;isolation:isolate;display:grid}.portal-shell *,.portal-shell :before,.portal-shell :after{box-sizing:border-box}.portal-shell button,.portal-shell a{-webkit-tap-highlight-color:transparent}.portal-shell button{font:inherit}.portal-shell a{color:inherit}.portal-shell :focus-visible{outline-offset:3px;outline:3px solid #d9e1ff}.portal-icon-button{width:44px;height:44px;color:var(--portal-text);cursor:pointer;background:0 0;border:0;border-radius:13px;flex:0 0 44px;justify-content:center;align-items:center;display:inline-flex}.portal-icon-button:hover{background:#6879ed1a}.portal-mobile-menu-button{display:none!important}.portal-skip-link{z-index:100;background:var(--portal-surface);box-shadow:var(--portal-shadow-popover);border-radius:12px;padding:12px 16px;font-weight:700;text-decoration:none;position:fixed;top:10px;left:10px;transform:translateY(-160%);color:var(--portal-text)!important}.portal-skip-link:focus{transform:translateY(0)}.portal-sidebar{z-index:20;color:#f7f8ff;background:var(--portal-sidebar);width:80px;height:100dvh;min-height:540px;transition:width var(--portal-motion-sidebar) var(--portal-ease-sidebar), transform var(--portal-motion-base) var(--portal-ease-standard);flex-direction:column;align-items:center;gap:24px;padding:16px 12px;display:flex;position:sticky;top:0;overflow:hidden auto}.portal-sidebar.is-expanded{align-items:stretch;width:240px}.portal-sidebar__brand-row{justify-content:center;align-items:center;width:100%;min-height:48px;display:flex}.is-expanded .portal-sidebar__brand-row{justify-content:space-between}.portal-brand{justify-content:center;align-items:center;gap:10px;min-width:44px;min-height:44px;text-decoration:none;display:inline-flex;color:#fff!important}.portal-brand__mark{color:#fff;background:#ffffff24;border-radius:14px;flex:0 0 44px;place-items:center;width:44px;height:44px;display:grid}.portal-brand__word{white-space:nowrap;font-family:var(--font-poppins), Poppins, sans-serif;letter-spacing:-.03em;font-size:17px;font-weight:700;display:none}.is-expanded .portal-brand__word{display:inline}.portal-nav{gap:8px;width:100%;display:grid}.portal-nav-link{cursor:pointer;min-width:0;min-height:48px;transition:color var(--portal-motion-fast), background var(--portal-motion-fast), transform var(--portal-motion-fast);background:0 0;border:0;border-radius:15px;justify-content:flex-start;align-items:center;gap:13px;padding:0 13px;text-decoration:none;display:flex;position:relative;color:#d7defe!important}.portal-nav-link:hover{background:#ffffff1a;color:#fff!important}.portal-nav-link:active{transform:scale(.98)}.portal-nav-link.is-active{background:#fff;box-shadow:0 9px 22px #0f143826;color:#4f61cb!important}.portal-nav-link.is-coming-soon{color:#b9c3ef!important}.portal-nav-link__label{text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:1;font-size:14px;font-weight:650;display:none;overflow:hidden}.is-expanded .portal-nav-link__label{display:block}.portal-nav-link__badge{color:#dbe0ff;background:#ffffff1f;border-radius:999px;padding:3px 6px;font-size:10px;font-weight:700;display:none}.is-expanded .portal-nav-link__badge{display:inline-flex}.portal-sidebar__footer{gap:7px;width:100%;margin-top:auto;display:grid}.portal-sidebar-toggle{color:#d7defe;cursor:pointer;background:0 0;border:1px solid #ffffff24;border-radius:15px;justify-content:flex-start;align-items:center;gap:13px;min-height:48px;padding:0 14px;display:flex}.portal-sidebar-toggle>svg{transition:transform var(--portal-motion-sidebar) var(--portal-ease-sidebar);flex:none}.is-expanded .portal-sidebar-toggle>svg{transform:rotate(180deg)}.portal-logout-link{width:100%}.portal-logout-link:disabled{opacity:.65;cursor:wait}.portal-drawer-close{display:none!important}.portal-drawer-scrim{display:none}.portal-shell__workspace{min-width:0;min-height:100vh}.portal-topbar{z-index:10;background:var(--portal-surface-translucent);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid #dfe5f2b3;justify-content:space-between;align-items:center;gap:22px;min-height:108px;padding:20px clamp(20px,3vw,44px);display:flex;position:sticky;top:0}.portal-topbar__identity{min-width:0}.portal-topbar h1{color:var(--portal-text);font-family:var(--font-poppins), Poppins, sans-serif;letter-spacing:-.03em;margin:0;font-size:clamp(1.65rem,2.4vw,2.25rem);font-weight:700;line-height:1.12}.portal-topbar p{color:var(--portal-muted);margin:7px 0 0;font-size:14px;line-height:1.5}.portal-topbar__actions{flex:none;align-items:center;gap:22px;display:flex}.portal-help-link{align-items:center;gap:8px;min-height:44px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex;color:var(--portal-muted)!important}.portal-help-link:hover{color:var(--portal-primary)!important}.portal-customer-menu{position:relative}.portal-customer-trigger{min-height:48px;color:var(--portal-text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:9px;padding:3px 8px 3px 3px;display:inline-flex}.portal-customer-trigger:hover{border-color:var(--portal-border);background:#fff}.portal-customer-trigger:disabled{cursor:wait}.portal-customer-trigger__name{text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:13px;font-weight:700;overflow:hidden}.portal-avatar{color:#fff;background:linear-gradient(135deg, var(--portal-primary), var(--portal-violet));letter-spacing:.02em;border-radius:50%;flex:none;place-items:center;font-weight:800;display:inline-grid}.portal-avatar--small{width:42px;height:42px;font-size:13px}.portal-avatar--large{width:48px;height:48px;font-size:14px}.portal-customer-popover{z-index:30;border:1px solid var(--portal-border);background:var(--portal-surface-translucent);width:min(320px,100vw - 28px);box-shadow:var(--portal-shadow-popover);-webkit-backdrop-filter:blur(18px);transform-origin:100% 0;animation:portal-pop-in var(--portal-motion-base) var(--portal-ease-standard) both;border-radius:18px;padding:14px;position:absolute;top:calc(100% + 10px);right:0}.portal-customer-summary{align-items:center;gap:12px;min-width:0;padding:4px;display:flex}.portal-customer-summary__text{gap:4px;min-width:0;display:grid}.portal-customer-summary__text strong,.portal-customer-summary__text span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.portal-customer-summary__text strong{font-size:14px}.portal-customer-summary__text span{color:var(--portal-muted);font-size:12px}.portal-popover-divider{background:var(--portal-border);height:1px;margin:12px 0}.portal-menu-action{width:100%;min-height:44px;color:var(--portal-text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:11px;align-items:center;gap:10px;padding:0 10px;font-size:14px;font-weight:700;display:flex}.portal-menu-action:hover{color:#a33642;background:#fff2f3}.portal-menu-action:disabled{opacity:.65;cursor:wait}.portal-main{width:min(100%,1480px);min-width:0;margin:0 auto;padding:clamp(20px,3vw,42px)}.portal-session-error{border:1px solid var(--portal-border);border-radius:var(--portal-radius-card);background:var(--portal-surface);box-shadow:var(--portal-shadow-card);align-items:center;gap:16px;padding:22px;display:flex}.portal-session-error h2{font-family:var(--font-poppins), Poppins, sans-serif;margin:0;font-size:18px}.portal-session-error p{color:var(--portal-muted);margin:5px 0 0}.portal-retry-button{color:#fff;background:var(--portal-primary);cursor:pointer;border:0;border-radius:12px;flex:none;min-height:44px;margin-left:auto;padding:0 16px;font-weight:700}.portal-inline-error{color:#8a2e3a;background:#fff0f2;border-radius:12px;padding:12px 15px}.portal-content-skeleton{gap:18px;display:grid}.portal-skeleton{background:linear-gradient(90deg,#e5eaf5 20%,#f2f5fb 45%,#e5eaf5 70%) 0 0/200% 100%;border-radius:12px;animation:1.5s linear infinite portal-shimmer;display:block;overflow:hidden}.portal-skeleton--heading{width:min(260px,40vw);height:30px}.portal-skeleton--lead{width:min(340px,48vw);height:14px;margin-top:9px}.portal-skeleton--name{width:92px;height:13px}.portal-skeleton--content-title{width:min(280px,60vw);height:26px}.portal-skeleton--content-card{border-radius:24px;width:100%;min-height:260px}@keyframes portal-shimmer{to{background-position:-200% 0}}@keyframes portal-pop-in{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@media (min-width:1440px){.portal-shell:has(.portal-sidebar.is-expanded){grid-template-columns:240px minmax(0,1fr)}}@media (min-width:1024px) and (max-width:1439px){.portal-sidebar.is-expanded{width:240px}.portal-shell:has(.portal-sidebar.is-expanded){grid-template-columns:240px minmax(0,1fr)}}@media (max-width:1023px){.portal-shell{display:block}.portal-sidebar,.portal-sidebar.is-expanded{z-index:50;visibility:hidden;align-items:stretch;gap:24px;width:min(320px,100vw - 52px);min-height:100dvh;padding:16px;position:fixed;inset:0 auto 0 0;transform:translate(-110%);box-shadow:18px 0 50px #10194338}.portal-sidebar.is-drawer-open{visibility:visible;transform:translate(0)}.portal-sidebar__brand-row{justify-content:space-between}.portal-brand{justify-content:flex-start}.portal-brand__word,.portal-nav-link__label,.portal-nav-link__badge{display:inline-flex}.portal-nav-link__label{display:block}.portal-drawer-close{color:#fff!important;display:inline-flex!important}.portal-sidebar-toggle{display:none}.portal-drawer-scrim{z-index:40;opacity:1;animation:portal-scrim-in var(--portal-motion-base) ease both;background:#12193a75;border:0;display:block;position:fixed;inset:0}.portal-mobile-menu-button{display:inline-flex!important}.portal-topbar{min-height:94px;padding-inline:22px}.portal-main{padding:24px}}@keyframes portal-scrim-in{0%{opacity:0}to{opacity:1}}@media (max-width:640px){.portal-topbar{gap:10px;min-height:82px;padding:14px}.portal-topbar h1{font-size:21px}.portal-topbar p{max-width:235px;margin-top:4px;font-size:12px}.portal-topbar__actions{gap:5px}.portal-help-link{justify-content:center;width:44px}.portal-help-link span,.portal-customer-trigger__name,.portal-customer-trigger>svg{display:none}.portal-customer-trigger{padding:2px}.portal-avatar--small{width:40px;height:40px}.portal-main{padding:18px 14px 30px}.portal-session-error{flex-wrap:wrap;align-items:flex-start;padding:18px}.portal-retry-button{margin-left:0}}@media (prefers-reduced-transparency:reduce){.portal-topbar,.portal-customer-popover{background:var(--portal-surface);-webkit-backdrop-filter:none}}@media (prefers-reduced-motion:reduce){.portal-shell *,.portal-shell :before,.portal-shell :after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.portal-sidebar,.portal-sidebar-toggle>svg{transition-property:opacity,color,background-color!important}.portal-sidebar.is-drawer-open{opacity:1}}@media (forced-colors:active){.portal-nav-link.is-active,.portal-shell :focus-visible{outline:2px solid highlight}}@media (prefers-contrast:more){.portal-shell{--portal-border:#a7b3d4;--portal-muted:#46557c}.portal-shell .portal-help-link,.portal-shell .portal-dashboard__text-link{text-underline-offset:3px;text-decoration:underline}}
