/* Shared frame from ZIP3 poly-v2.css's sidenav/apptop contract. Opt in only.
   The layout wrapper deliberately has no design tokens, font or colour: CRM
   and the other unapproved page bodies retain their own inherited values. */
.ps-app-shell{display:grid;grid-template-columns:238px minmax(0,1fr);grid-template-rows:56px 1fr;grid-template-areas:"sidebar header" "sidebar content";min-height:100vh;min-height:100dvh;min-width:0}
.ps-app-shell>.ps-app-content{grid-area:content;min-width:0}
.ps-app-shell>.ps-app-sidebar{grid-area:sidebar;position:sticky;top:0;width:238px;height:100vh;height:100dvh;align-self:start;display:flex;flex-direction:column;background:var(--ps-ink);color:var(--ps-paper);z-index:var(--ps-z-appnav);box-sizing:border-box}
.ps-app-shell>.ps-app-header{grid-area:header;position:sticky;top:0;height:56px;min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:0 16px;background:var(--ps-ink);color:var(--ps-paper);z-index:var(--ps-z-header);border:0;box-sizing:border-box}
/* ZIP3 poly.css's smoothing is confined to the approved chrome. */
.ps-app-shell>.ps-app-header,
.ps-app-shell>.ps-app-sidebar{-webkit-font-smoothing:antialiased}
/* The unapproved CRM drawer retains its existing z40 backdrop / z50 panel.
   Its frame header therefore keeps the old z30 layer, below that overlay. */
.ps-app-shell[data-ps-shell="crm"]>.ps-app-header{z-index:30}
.ps-app-shell .ps-app-brand{display:flex;align-items:center;gap:10px;padding:22px 20px 18px;min-width:0;font:500 19px/1 var(--ps-serif);letter-spacing:-.012em;color:var(--ps-paper);text-decoration:none}
.ps-app-shell .ps-app-brand svg{width:22px;height:22px;flex:none}
.ps-app-shell .ps-app-brand-row{display:flex;align-items:center;justify-content:space-between}
.ps-app-shell .ps-app-mobile-brand{display:none;padding:0;font-size:17px}
.ps-app-shell .ps-app-nav-slot{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 12px 12px;scrollbar-width:thin}
.ps-app-shell .ps-app-sidebar .ps-app-nav{display:flex;flex-direction:column;gap:0;margin:0;padding:0;border:0;overflow:visible;-webkit-mask-image:none;mask-image:none}
.ps-app-shell .ps-app-nav .glabel,
.ps-app-shell .ps-app-group{padding:18px 8px 7px;font:500 13px/1.4 var(--ps-sans);letter-spacing:normal;text-transform:none;color:rgba(245,243,238,.48)}
.ps-app-shell .ps-app-item,
.ps-app-shell .ps-app-nav [role="tab"],
.ps-app-shell .ps-app-nav .navitem{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;box-sizing:border-box;margin:0;background:none;border:1px solid transparent;border-radius:var(--ps-r-ctrl);color:rgba(245,243,238,.74);padding:8px 10px;font:400 14px/1.3 var(--ps-sans);letter-spacing:normal;text-transform:none;text-align:left;text-decoration:none;white-space:normal;overflow-wrap:anywhere;cursor:pointer}
.ps-app-shell .ps-app-item:hover,
.ps-app-shell .ps-app-nav [role="tab"]:hover,
.ps-app-shell .ps-app-nav .navitem:hover{background:rgba(245,243,238,.06);color:var(--ps-paper)}
.ps-app-shell .ps-app-item[aria-current="page"],
.ps-app-shell .ps-app-nav [aria-selected="true"],
.ps-app-shell .ps-app-nav .navitem.on{background:rgba(245,243,238,.10);border-color:rgba(245,243,238,.20);color:var(--ps-paper);font-weight:500}
.ps-app-shell .ps-app-nav .ps-app-nav-icon,
.ps-app-shell .ps-app-nav .navitem .ic{display:block;width:15px;height:15px;flex:none;color:inherit;opacity:.8}
.ps-app-shell .ps-app-nav [role="tab"]::after{display:none}
.ps-app-shell .ps-app-icon,
.ps-app-shell .ps-app-account-toggle{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;min-width:44px;padding:0 10px;background:none;border:0;border-radius:var(--ps-r-ctrl);color:var(--ps-paper);font:400 14px/1.3 var(--ps-sans);cursor:pointer;box-sizing:border-box}
.ps-app-shell .ps-app-icon:hover,
.ps-app-shell .ps-app-account-toggle:hover,
.ps-app-shell .ps-app-account-toggle[aria-expanded="true"]{background:rgba(245,243,238,.08)}
.ps-app-shell .ps-app-icon svg{width:20px;height:20px}
.ps-app-shell .ps-app-account{position:relative;min-width:0;max-width:100%}
.ps-app-shell .ps-app-account-toggle{max-width:100%;text-align:left}
.ps-app-shell .ps-app-avatar{display:flex;align-items:center;justify-content:center;flex:none;width:31px;height:31px;border-radius:50%;background:rgba(245,243,238,.14);font:500 12px/1 var(--ps-sans)}
.ps-app-shell .ps-app-identity{min-width:0;max-width:36vw}
.ps-app-shell .ps-app-identity-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 13px/1.4 var(--ps-sans)}
.ps-app-shell .ps-app-identity-detail{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:rgba(245,243,238,.48);font:400 12px/1.3 var(--ps-sans)}
.ps-app-shell .ps-app-caret{color:rgba(245,243,238,.48);font:400 12px/1 var(--ps-sans)}
.ps-app-shell .ps-app-account-menu{position:absolute;right:0;top:calc(100% + 4px);width:max-content;min-width:210px;max-width:min(320px,calc(100vw - 24px));padding:6px;border:1px solid var(--ps-line);border-radius:var(--ps-r-ctrl);background:var(--ps-paper2);color:var(--ps-ink);z-index:var(--ps-z-menu);box-sizing:border-box}
.ps-app-shell .ps-app-account-summary{padding:8px 10px;font:400 13px/1.45 var(--ps-sans);overflow-wrap:anywhere;border-bottom:1px solid var(--ps-line);margin-bottom:4px}
.ps-app-shell .ps-app-account-action{display:flex;align-items:center;width:100%;min-height:44px;padding:8px 10px;box-sizing:border-box;border:0;border-radius:6px;background:none;color:var(--ps-ink);font:400 14px/1.4 var(--ps-sans);text-align:left;white-space:normal;overflow-wrap:anywhere;text-decoration:none;cursor:pointer}
.ps-app-shell .ps-app-account-action:hover{background:var(--ps-paper3)}
.ps-app-shell .ps-app-account-action:disabled{opacity:.32;cursor:default}
.ps-app-shell .ps-app-message{margin:8px 10px;color:var(--ps-status-bad-text);font:400 13px/1.45 var(--ps-sans);overflow-wrap:anywhere}
.ps-app-shell .ps-app-sidebar :focus-visible,
.ps-app-shell .ps-app-header .ps-app-icon:focus-visible,
.ps-app-shell .ps-app-account-toggle:focus-visible{outline:2px solid var(--ps-paper);outline-offset:2px}
.ps-app-shell .ps-app-account-menu :focus-visible{outline:2px solid var(--ps-accent);outline-offset:2px}
.ps-app-shell .ps-app-menu-toggle,
.ps-app-shell .ps-app-menu-close{display:none}
.ps-app-shell .ps-app-scrim{position:fixed;inset:0;display:block;background:rgba(10,10,10,.4);border:0;border-radius:0;padding:0;z-index:80;cursor:default}
.ps-app-shell>.ps-app-sidebar[hidden],
.ps-app-shell>.ps-app-scrim[hidden],
.ps-app-shell>.ps-app-header [hidden],
.ps-app-shell>.ps-app-sidebar [hidden]{display:none!important}
.ps-app-password.ps-modal{max-height:calc(100dvh - 40px);overflow-y:auto;box-sizing:border-box}
.ps-app-password .ps-app-password-fields{display:grid;gap:16px;margin:20px 0}
.ps-app-password .ps-app-password-close{float:right;margin:-8px -6px 0 12px}

@media (min-width:721px){
  .ps-app-shell[data-desktop-collapsed]{grid-template-columns:0 minmax(0,1fr)}
  .ps-app-shell[data-desktop-collapse] .ps-app-menu-toggle{display:inline-grid;margin-right:auto}
}

@media (max-width:720px){
  .ps-app-shell{grid-template-columns:minmax(0,1fr);grid-template-areas:"header" "content"}
  .ps-app-shell>.ps-app-header{padding:0 12px;gap:8px}
  .ps-app-shell>.ps-app-sidebar{position:fixed;inset:0 auto 0 0;width:min(288px,84vw);height:100dvh;z-index:81}
  .ps-app-shell .ps-app-mobile-brand{display:flex;margin-right:auto}
  .ps-app-shell .ps-app-menu-toggle,
  .ps-app-shell .ps-app-menu-close{display:inline-flex;flex:none}
  .ps-app-shell .ps-app-menu-close{margin-right:6px}
  .ps-app-shell .ps-app-brand-row .ps-app-brand{padding-right:0}
  .ps-app-shell .ps-app-identity{display:none}
}
/* Asset pages keep the exact existing print body. Remove layout restrictions,
   including wrappers and locks, rather than merely concealing the navigation. */
@media print{
  .ps-app-shell{display:block!important;grid-template-columns:none!important;grid-template-rows:none!important;min-height:0!important;height:auto!important;width:auto!important;max-width:none!important;overflow:visible!important}
  .ps-app-shell>.ps-app-content{display:block!important;min-height:0!important;height:auto!important;width:auto!important;max-width:none!important;overflow:visible!important}
  .ps-app-shell>.ps-app-header,
  .ps-app-shell>.ps-app-sidebar,
  .ps-app-shell>.ps-app-scrim,
  .ps-app-password{display:none!important}
}
