/* JLJAM 7.21 | Evolution of the established portrait-first design. */
:root{--ng21-highlight:rgba(211,173,255,.44);--ng21-deep-glass:linear-gradient(142deg,rgba(115,83,178,.24),rgba(33,29,72,.26) 46%,rgba(13,15,37,.83));}
/* Artist gallery: preserve the larger original portraits, never replace with icon tiles. */
#app .ej-portrait-showcase{position:relative;isolation:isolate;overflow:hidden;border-radius:26px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 22px 56px rgba(13,5,38,.22)!important}
#app .ej-portrait-showcase::before{content:"";position:absolute;z-index:0;inset:-48% -20% auto;height:75%;background:radial-gradient(ellipse,rgba(206,145,255,.17),transparent 65%);pointer-events:none}
#app .ej-portrait-showcase .ej-roster-strip{position:relative;z-index:1}
#app .ej-portrait-showcase .ej-person{isolation:isolate;border:1px solid rgba(214,180,255,.37)!important;box-shadow:0 15px 38px rgba(5,3,31,.3),inset 0 1px rgba(255,255,255,.13)!important;transition:box-shadow .22s ease,border-color .22s ease,transform .22s ease!important;will-change:auto}
#app .ej-portrait-showcase .ej-person::after{content:"";position:absolute;inset:0;z-index:2;border-radius:inherit;background:radial-gradient(400px circle at var(--ng21-x,50%) var(--ng21-y,20%),rgba(220,192,255,.16),transparent 59%);pointer-events:none;opacity:0;transition:opacity .2s}
@media(hover:hover) and (pointer:fine){#app .ej-portrait-showcase .ej-person:hover{border-color:rgba(233,201,255,.83)!important;box-shadow:0 22px 45px rgba(36,12,72,.45),0 0 0 1px rgba(213,154,255,.32)!important;transform:translateY(-3px)!important}#app .ej-portrait-showcase .ej-person:hover::after{opacity:1}}
#app .ej-portrait-showcase .ej-person:focus-visible{outline:3px solid #f6d8ff!important;outline-offset:3px!important}
/* Secondary roster: consistent visible artist photography and generous tap space. */
#app .artist-roster-card{border-radius:22px!important;background:var(--ng21-deep-glass)!important;border:1px solid rgba(183,153,255,.36)!important;box-shadow:0 12px 28px rgba(10,5,41,.22),inset 0 1px rgba(255,255,255,.12)!important;transition:border-color .2s,transform .2s,box-shadow .2s}
#app .artist-roster-card .artist-avatar{height:76px;width:76px;border-radius:18px;border-color:rgba(205,177,255,.55);box-shadow:0 10px 28px rgba(4,2,22,.3)}
#app .artist-roster-card h3{font-size:clamp(18px,1.7vw,24px);line-height:1.12}
#app .artist-roster-card .meta{display:flex;flex-wrap:wrap;gap:6px}
@media(hover:hover) and (pointer:fine){#app .artist-roster-card:hover{transform:translateY(-2px);border-color:rgba(224,186,255,.7)!important;box-shadow:0 18px 36px rgba(32,8,66,.32)!important}}
/* Actual deal cards: reduce repeated chrome while retaining priority, follow-up, contact and fee. */
#app #workspaceBody .ng20-card-grid .gdeal-front{background:var(--ng21-deep-glass)!important;border:1px solid rgba(192,161,255,.37)!important;box-shadow:0 16px 32px rgba(5,5,28,.22),inset 0 1px rgba(255,255,255,.1);position:relative;isolation:isolate}
#app #workspaceBody .ng20-card-grid .gdeal-front::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(350px circle at var(--ng21-x,60%) var(--ng21-y,0%),rgba(203,161,255,.14),transparent 70%);pointer-events:none;opacity:0;transition:opacity .2s}
@media(hover:hover) and (pointer:fine){#app #workspaceBody .ng20-card-grid .gdeal-front:hover::before{opacity:1}}
#app #workspaceBody .ng20-card-grid .gdeal-portrait{border:1px solid rgba(203,158,255,.6);box-shadow:0 6px 18px rgba(10,3,29,.35);overflow:hidden}
#app #workspaceBody .ng20-card-grid .gdeal-title{font-size:clamp(17px,1.45vw,22px)!important;line-height:1.24!important}
#app #workspaceBody .ng20-card-grid .gdeal-next{border:1px solid rgba(174,137,240,.16);background:rgba(108,78,175,.12)}
#app #workspaceBody .ng21-focus-toggle{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:9px 13px;border:1px solid rgba(207,177,255,.44);border-radius:13px;background:rgba(92,59,153,.22);color:#f8eeff;font:750 13px/1.2 system-ui;cursor:pointer;touch-action:manipulation;white-space:nowrap}
#app #workspaceBody .ng21-focus-toggle[aria-pressed=true]{background:rgba(154,100,245,.4);box-shadow:inset 0 1px rgba(255,255,255,.18)}
#app #workspaceBody .ng21-focus-toggle:focus-visible{outline:3px solid #d5adff;outline-offset:3px}
/* Only hide duplicate card footer metadata in Focus mode; essential next action and facts remain visible. */
html[data-ng21-focus="on"] #app #workspaceBody .ng20-card-grid .gdeal-front .gdeal-foot,html[data-ng21-focus="on"] #app #workspaceBody .ng20-card-grid .gdeal-front .deal-research-coverage{display:none!important}
html[data-ng21-focus="on"] #app #workspaceBody .ng20-card-grid .gdeal-front{padding-top:13px!important;padding-bottom:13px!important}
html[data-ng21-focus="on"] #app #workspaceBody .ng20-card-grid .gdeal-front .gdeal-next{padding:8px 11px!important}
html[data-ng21-focus="on"] #app #workspaceBody .ng20-card-grid{gap:10px!important}
/* Show full height photographs on touch without shrinking to tiny dashboard tiles. */
@media(max-width:1050px){#app .artist-roster-card .artist-avatar{width:65px;height:65px}}
@media(max-width:600px){#app .artist-roster-card .artist-avatar{width:64px;height:64px}#app .ej-portrait-showcase .ej-person{border-radius:19px!important}#app #workspaceBody .ng21-focus-toggle{min-height:46px}#app .ng-lane{min-height:68px}}
@media(prefers-reduced-motion:reduce){#app .ej-portrait-showcase .ej-person,#app .artist-roster-card,#app #workspaceBody .ng20-card-grid .gdeal-front::before{transition:none!important;transform:none!important}}
