/* HG Platform picker — Phase 1 "Access and arrival". Scoped to body.hg-picker.
   Fonts are the locally packaged Manrope files already shipped for the login. */
@font-face{font-family:"HG Manrope";src:url("/login-assets/manrope-regular.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"HG Manrope";src:url("/login-assets/manrope-semibold.ttf") format("truetype");font-weight:600;font-display:swap}
@font-face{font-family:"HG Manrope";src:url("/login-assets/manrope-bold.ttf") format("truetype");font-weight:700;font-display:swap}

body.hg-picker{
  --pk-page:#F7F8FA; --pk-text:#202328; --pk-muted:#636B77;
  --pk-border:#E0E4EA; --pk-card:#FFFFFF; --pk-card-border:#E0E4EA; --pk-card-hover:#EDF0F5; --pk-card-hover-border:#B9C0C8;
  --pk-surface:#FFFFFF; --pk-menu:#FFFFFF; --pk-menu-border:#E0E4EA; --pk-selected:#EDF0F5;
  --pk-focus:#3769B5; --pk-button:#202328; --pk-button-text:#F7F8FA;
  color-scheme:light;
  margin:0; padding:0; min-height:100svh; display:block;
  background:var(--pk-page); color:var(--pk-text);
  font:400 16px/24px "HG Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
}
html[data-theme="dark"] body.hg-picker{
  --pk-page:#191919; --pk-text:#E8E8E8; --pk-muted:#ADADAD;
  --pk-border:#353535; --pk-card:#202020; --pk-card-border:#353535; --pk-card-hover:#2D2D2D; --pk-card-hover-border:#353535;
  --pk-surface:#202020; --pk-menu:#282828; --pk-menu-border:#353535; --pk-selected:#353535;
  --pk-focus:#8FC4EF; --pk-button:#E8E8E8; --pk-button-text:#191919;
  color-scheme:dark;
}
body.hg-picker *,body.hg-picker *::before,body.hg-picker *::after{box-sizing:border-box}
body.hg-picker .pk{min-height:100svh;animation:pk-in 160ms ease-out both}
@keyframes pk-in{from{opacity:0}to{opacity:1}}

/* icons: packaged Phosphor SVGs masked in the current text colour */
.pk-ico{display:inline-block;width:24px;height:24px;flex:0 0 auto;background:currentColor;-webkit-mask:var(--pk-i) center/contain no-repeat;mask:var(--pk-i) center/contain no-repeat}
.pk-slot{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.pk-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* header */
.pk-head{height:80px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 40px;border-bottom:1px solid var(--pk-border)}
.pk-brand{display:flex;align-items:center;gap:24px;min-width:0}
.pk-logo{width:56px;height:40px;object-fit:contain;flex:0 0 auto;mix-blend-mode:multiply}
html[data-theme="dark"] .pk-logo{filter:invert(1);mix-blend-mode:screen}
.pk-brand-name{font-size:18px;line-height:26px;font-weight:600;white-space:nowrap}
.pk-tools{position:relative;display:flex;align-items:center;gap:20px}
.pk-vdivider{width:1px;height:28px;background:var(--pk-border)}
.pk-iconbtn,.pk-account{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-width:44px;min-height:44px;margin:0;padding:0;border:0;border-radius:10px;background:transparent;color:var(--pk-text);font:inherit;cursor:pointer;transition:background-color 120ms ease-out}
.pk-account{padding:4px 4px 4px 4px}
.pk-iconbtn:hover,.pk-account:hover{background:var(--pk-card-hover)}
.pk-avatar{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--pk-surface);border:1px solid var(--pk-border);font-size:13px;line-height:21px;font-weight:600}
.pk-role{font-size:14px;line-height:22px;font-weight:600}

/* main */
.pk-main{max-width:1440px;margin:0 auto;padding:56px 80px 80px}
.pk-title{display:flex;flex-direction:column;gap:8px;margin:0 0 32px}
.pk-title h1{margin:0;font-size:32px;line-height:40px;font-weight:600;letter-spacing:-.01em;text-wrap:balance}
.pk-title p{margin:0;color:var(--pk-muted);font-size:16px;line-height:24px}

.pk-last{display:flex;align-items:center;gap:12px;min-height:88px;margin:0 0 20px;padding:16px;border:1px solid var(--pk-border);border-radius:12px;background:var(--pk-card);color:inherit;text-decoration:none;transition:background-color 120ms ease-out,border-color 120ms ease-out}
.pk-last:hover{background:var(--pk-card-hover);border-color:var(--pk-card-hover-border)}
.pk-last .pk-body{display:flex;flex-direction:column;gap:4px;flex:1 1 0;min-width:0}
.pk-last-label{color:var(--pk-muted);font-size:13px;line-height:21px}
.pk-last-name{font-size:16px;line-height:24px;font-weight:600}

.pk-search{position:relative;display:flex;align-items:center;gap:16px;height:56px;padding:0 6px 0 20px;border:1px solid var(--pk-border);border-radius:10px;background:var(--pk-surface);margin:0 0 32px}
.pk-search:focus-within{border-color:var(--pk-focus)}
.pk-search input{flex:1 1 0;min-width:0;height:100%;margin:0;padding:0;border:0;background:transparent;color:var(--pk-text);font:inherit;font-size:16px;line-height:24px;outline:none}
.pk-search input::placeholder{color:var(--pk-muted);opacity:1}
.pk-clear{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0;padding:0;border:0;border-radius:8px;background:transparent;color:var(--pk-text);cursor:pointer;transition:background-color 120ms ease-out}
.pk-clear:hover{background:var(--pk-card-hover)}
.pk-clear[hidden]{display:none}

.pk-strip{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:0 0 20px}
.pk-strip-head{font-size:16px;line-height:24px;font-weight:600}
.pk-strip-count{color:var(--pk-muted);font-size:14px;line-height:22px}

/* catalogue */
.pk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 40px}
/* the catalogue in sections (Black 2026-10-14): the outer #pk-grid becomes a column of groups, each with its own
   strip and its own card grid; the top strip is emptied so the page has one heading per group */
.pk-grid.pk-groups{display:block}
.pk-group{margin:0 0 36px}
.pk-group:last-child{margin-bottom:0}
.pk-group .pk-strip{margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--pk-border)}
.pk-group .pk-strip-head{font-size:13px;line-height:20px;letter-spacing:.06em;text-transform:uppercase;color:var(--pk-muted)}
.pk-group .pk-strip-count{font-size:13px;line-height:20px}
.pk-strip:empty,.pk-strip:has(> .pk-strip-head:empty){display:none}
.pk-grid[hidden]{display:none}
.pk-grid.is-catalogue > .pk-card:nth-child(3n+1):last-child{grid-column:2}
.pk-card{position:relative;display:flex;align-items:center;gap:20px;min-height:112px;padding:20px 24px;border:1px solid var(--pk-card-border);border-radius:12px;background:var(--pk-card);color:inherit;text-decoration:none;transition:background-color 120ms ease-out,border-color 120ms ease-out}
a.pk-card:hover{background:var(--pk-card-hover);border-color:var(--pk-card-hover-border)}
a.pk-card:active{transform:translateY(1px);transition-duration:80ms}
.pk-card .pk-slot{width:28px}
.pk-card .pk-body{display:flex;flex-direction:column;gap:6px;flex:1 1 0;min-width:0}
.pk-name{font-size:16px;line-height:24px;font-weight:600;overflow-wrap:anywhere}
.pk-desc{color:var(--pk-muted);font-size:14px;line-height:22px;overflow-wrap:anywhere}
.pk-card.is-locked{background:var(--pk-page);cursor:default}
.pk-lock{display:inline-flex;width:18px;color:var(--pk-text)}

.pk-empty{display:flex;flex-direction:column;align-items:center;gap:16px;padding:40px 16px;text-align:center}
.pk-empty[hidden]{display:none}
.pk-empty h2{margin:0;font-size:24px;line-height:32px;font-weight:600}
.pk-empty p{margin:0;color:var(--pk-muted);font-size:14px;line-height:22px;max-width:48ch}
.pk-button{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 24px;border:0;border-radius:8px;background:var(--pk-button);color:var(--pk-button-text);font:inherit;font-size:14px;line-height:22px;font-weight:600;cursor:pointer}
.pk-button:hover{opacity:.9}
.pk-button:active{transform:translateY(1px)}

/* menus: non-modal, anchored below their trigger, one open at a time */
.pk-menu{position:absolute;z-index:20;top:100%;right:0;width:288px;max-width:calc(100vw - 32px);padding:8px;border:1px solid var(--pk-menu-border);border-radius:14px;background:var(--pk-menu);box-shadow:0 12px 32px #00000020;display:flex;flex-direction:column;gap:4px;opacity:0;transition:opacity 120ms ease-out}
.pk-menu.is-open{opacity:1}
.pk-menu[hidden]{display:none}
.pk-menu-head{display:flex;flex-direction:column;gap:2px;padding:8px 12px}
.pk-menu-title{font-size:15px;line-height:23px;font-weight:600}
.pk-menu-sub{color:var(--pk-muted);font-size:13px;line-height:21px}
.pk-menu-identity{display:flex;align-items:center;gap:12px;padding:12px}
.pk-menu-identity .pk-body{display:flex;flex-direction:column;gap:2px;min-width:0}
.pk-id-name{font-size:16px;line-height:24px;font-weight:600;overflow-wrap:anywhere}
.pk-id-role{color:var(--pk-muted);font-size:13px;line-height:21px}
.pk-menu-divider{height:1px;background:var(--pk-menu-border)}
.pk-row{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;margin:0;padding:8px 12px;border:0;border-radius:8px;background:transparent;color:var(--pk-text);font:inherit;text-align:left;cursor:pointer;transition:background-color 120ms ease-out}
.pk-row.has-sub{min-height:64px}
.pk-row:hover{background:var(--pk-card-hover)}
.pk-row.is-selected{background:var(--pk-selected)}
.pk-row .pk-slot{width:20px}
.pk-row .pk-body{display:flex;flex-direction:column;flex:1 1 0;min-width:0}
.pk-row-label{font-size:14px;line-height:22px}
.pk-row.is-selected .pk-row-label{font-weight:600}
.pk-row-sub{color:var(--pk-muted);font-size:12px;line-height:20px}

/* focus: visible, independent of hover */
body.hg-picker :is(a,button,input):focus-visible{outline:2px solid var(--pk-focus);outline-offset:3px}
body.hg-picker .pk-search input:focus-visible{outline:none}

/* responsive: 3 → 2 → 1 columns; fluid equal columns in between */
@media (max-width:1100px){
  .pk-main{padding:48px 48px 64px}
  .pk-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pk-grid.is-catalogue > .pk-card:nth-child(3n+1):last-child{grid-column:auto}
  .pk-grid.is-catalogue > .pk-card:nth-child(odd):last-child{grid-column:1/-1;width:calc(50% - 20px);justify-self:center}
}
@media (max-width:760px){
  .pk-head{padding:0 24px}
  .pk-brand{gap:16px}
  .pk-logo{width:40px;height:36px}
  .pk-brand-name{font-size:14px;line-height:22px}
  .pk-tools{gap:8px}
  .pk-vdivider,.pk-role,.pk-account .pk-ico{display:none}
  .pk-avatar{width:44px;height:44px}
  .pk-main{padding:32px 24px 56px}
  .pk-title{margin-bottom:28px}
  .pk-title h1{font-size:28px;line-height:36px}
  .pk-title p{font-size:14px;line-height:22px}
  .pk-search{padding-left:16px;gap:12px;margin-bottom:32px}
  .pk-strip-head{font-size:14px;line-height:22px}
  .pk-strip-count{font-size:13px;line-height:21px}
  .pk-grid{grid-template-columns:minmax(0,1fr);gap:12px}
  .pk-grid.is-catalogue > .pk-card:nth-child(odd):last-child{grid-column:auto;width:auto;justify-self:stretch}
  .pk-card{gap:12px;padding:16px}
  .pk-menu{width:294px}
}
@media (max-width:320px){
  .pk-head{padding:0 16px}
  .pk-main{padding:24px 16px 48px}
}
@media (prefers-reduced-motion:reduce){
  body.hg-picker .pk{animation:none}
  .pk-menu,.pk-card,.pk-last,.pk-row,.pk-clear,.pk-iconbtn,.pk-account{transition:none}
  a.pk-card:active,.pk-button:active{transform:none}
}

/* Workspace picker follows the approved hub scale and neutral palette. */
body.hg-picker .pk-head{height:64px;padding:0 28px}
body.hg-picker .pk-brand{gap:14px}
body.hg-picker .pk-logo{width:40px;height:32px}
body.hg-picker .pk-brand-name{font-size:15px;line-height:22px}
body.hg-picker .pk-main{max-width:1280px;padding:32px 28px 56px}
body.hg-picker .pk-title{gap:6px;margin-bottom:24px}
body.hg-picker .pk-title h1{font-size:26px;line-height:34px;font-weight:700;letter-spacing:-.025em}
body.hg-picker .pk-title p{font-size:14px;line-height:22px}
body.hg-picker .pk-ico{width:20px;height:20px}
body.hg-picker .pk-last{min-height:72px;margin-bottom:16px;padding:14px 16px}
body.hg-picker .pk-last-label{font-size:12px;line-height:18px}
body.hg-picker .pk-last-name{font-size:14px;line-height:20px}
body.hg-picker .pk-search{height:44px;padding-left:16px;gap:12px;margin-bottom:24px;background:var(--pk-card)}
body.hg-picker .pk-search input{font-size:14px;line-height:20px}
body.hg-picker .pk-strip{margin-bottom:12px}
body.hg-picker .pk-strip-head{font-size:14px;line-height:20px}
body.hg-picker .pk-strip-count{font-size:12px;line-height:18px}
body.hg-picker .pk-grid{gap:16px}
body.hg-picker .pk-grid.is-catalogue>.pk-card:last-child{grid-column:auto;width:auto;justify-self:stretch}
body.hg-picker .pk-card{min-height:88px;padding:16px;gap:12px}
body.hg-picker .pk-card .pk-slot{width:24px}
body.hg-picker .pk-card .pk-body{gap:4px}
body.hg-picker .pk-name{font-size:14px;line-height:20px}
body.hg-picker .pk-desc{font-size:13px;line-height:20px}
body.hg-picker .pk-button{height:38px;padding:8px 12px;border-radius:9px;font-size:13px;line-height:20px}
body.hg-picker .pk-menu{border-radius:12px}
body.hg-picker .pk-row{min-height:44px;gap:8px}
body.hg-picker .pk-row.has-sub{min-height:56px}
@media(max-width:760px){
 body.hg-picker .pk-head{padding:0 16px}
 body.hg-picker .pk-main{padding:24px 16px 40px}
 body.hg-picker .pk-title h1{font-size:22px;line-height:30px}
 body.hg-picker .pk-search{height:48px}
 body.hg-picker .pk-search input{font-size:16px}
 body.hg-picker .pk-grid{gap:12px}
 body.hg-picker .pk-card{min-height:84px}
 body.hg-picker .pk-button{height:44px;font-size:14px}
}
