/* screens/posts.css, "პოსტები". Prefix .ps- ; shared components (.card .btn
   .pill .chip .field .toggle .seg .empty .modal) come from shell.css.
   These classes are also rendered INSIDE the canvas side panel, so every block
   is fluid, nothing here assumes the full content width. */

/* the two lanes of #/marketing, then the sub tabs inside the chosen lane */
.ps-lane{margin:0 0 var(--sp-20)}
/* one control row: the lane's own tabs on the left, the status filters the
   list builds for itself moved onto the right of the SAME line */
.ps-bar{display:flex;align-items:center;gap:var(--sp-12);flex-wrap:wrap;margin:0 0 var(--sp-16)}
.ps-bar .ps-tabs{margin-left:auto}
.ps-sub{flex:none}
.ps-host{display:block}
.ps-lab{font-size:var(--fs-label);font-weight:700;color:var(--muted-2);letter-spacing:.06em;margin-bottom:var(--sp-8)}

.ps-list{display:flex;flex-direction:column;gap:var(--sp-14)}
.ps-tabs{align-self:flex-start;max-width:100%;overflow-x:auto;flex-wrap:wrap;row-gap:var(--sp-2)}
.ps-tabs::-webkit-scrollbar{display:none}
.ps-tabs > button{white-space:nowrap}
.ps-items{display:flex;flex-direction:column;gap:var(--sp-12)}
.ps-loading{margin:var(--sp-20) 0;font-size:var(--fs-sm);color:var(--muted)}

/* ── one post ───────────────────────────────────────────────────────────── */
.ps-item{padding:var(--sp-16);display:flex;flex-direction:column;gap:var(--sp-10)}
.ps-item__top{display:flex;align-items:center;gap:var(--sp-8);flex-wrap:wrap}
.ps-item__chips{display:flex;align-items:center;gap:var(--sp-6);flex-wrap:wrap;min-width:0}
.ps-item__st{margin-left:auto;flex:none}
.ps-item__row{display:flex;gap:var(--sp-12);align-items:flex-start;min-width:0}
.ps-item__thumb{width:72px;height:72px;flex:none;object-fit:cover;border-radius:var(--r-md);border:1px solid var(--line);background:var(--card-2)}
.ps-item__text{margin:0;min-width:0;font-size:var(--fs-row);line-height:var(--lh-body);color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}
.ps-item__meta{display:flex;gap:var(--sp-10);flex-wrap:wrap;font-size:var(--fs-meta);color:var(--muted-2)}
.ps-item__err{margin:0;font-size:var(--fs-hint);color:var(--danger);overflow-wrap:anywhere}
.ps-item__acts{display:flex;gap:var(--sp-8);flex-wrap:wrap}

/* which platform a post or a comment is for. The tile itself is the shared
   .chn from shell.css, and .chn--off is what drops the hue when a channel is
   not connected; this class only sets the name beside it. */
.ps-tag{display:inline-flex;align-items:center;gap:var(--sp-8);min-width:0;max-width:100%;
  font-size:var(--fs-micro);font-weight:700;color:var(--ink)}
.ps-tag > span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ── composer ───────────────────────────────────────────────────────────── */
.ps-c__sec{margin-top:var(--sp-14)}
.ps-c__two{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-16);align-items:start}
.ps-c__chans{display:flex;flex-direction:column;gap:var(--sp-8)}
.ps-c__ch{display:flex;align-items:center;gap:var(--sp-10);padding:var(--sp-8) var(--sp-12);
  border:1px solid var(--line-2);border-radius:var(--r-md);cursor:pointer;background:var(--card);transition:border-color var(--t)}
.ps-c__ch:hover{border-color:var(--ink)}
.ps-c__ch input{width:16px;height:16px;flex:none;accent-color:var(--ink);cursor:pointer}
/* .ps-c__chi retired: the picker row now carries the shared .chn tile. */
.ps-c__chn{font-size:var(--fs-sm);font-weight:700;color:var(--ink)}
.ps-c__chy{margin-left:auto;text-align:right;font-size:var(--fs-hint);color:var(--muted-2);min-width:0}
.ps-c__ch--off{cursor:not-allowed;background:var(--card-2)}
.ps-c__ch--off:hover{border-color:var(--line-2)}
.ps-c__ch--off .ps-c__chn{color:var(--muted)}
.ps-c__ch--off input{cursor:not-allowed}
.ps-c__ch--warn .ps-c__chy{color:var(--warn)}

.ps-c__ta{width:100%;resize:vertical;min-height:88px}
.ps-c__count{display:flex;gap:5px}
.ps-c__img{min-height:var(--btn-h-sm)}
.ps-c__pick{display:flex;flex-direction:column;gap:var(--sp-8);align-items:flex-start}
.ps-c__pick small{font-size:var(--fs-hint);color:var(--muted-2)}
.ps-c__prev{display:flex;gap:var(--sp-10);align-items:flex-start}
.ps-c__prev img{width:96px;height:96px;object-fit:cover;border-radius:var(--r-md);border:1px solid var(--line);background:var(--card-2)}
.ps-c__ai{display:flex;gap:var(--sp-12);align-items:flex-end}
.ps-c__ai .field{flex:1 1 auto;min-width:0}
.ps-c__ai .btn{flex:none}
.ps-c__err{margin:var(--sp-14) 0 0;font-size:var(--fs-hint);font-weight:600;color:var(--danger)}
.ps-c__acts{display:flex;gap:var(--sp-8);flex-wrap:wrap;justify-content:flex-end;margin-top:var(--sp-16);
  position:sticky;bottom:calc(var(--sp-24) * -1);padding:var(--sp-12) 0;background:var(--card)}
.ps-c__acts .btn{flex:0 1 auto}

/* ── comments ───────────────────────────────────────────────────────────── */
.ps-cm{padding:var(--sp-16);display:flex;flex-direction:column;gap:var(--sp-8)}
.ps-cm__top{display:flex;align-items:center;gap:var(--sp-8);flex-wrap:wrap}
.ps-cm__at{margin-left:auto;font-size:var(--fs-meta);color:var(--muted-2)}
.ps-cm__who{font-size:var(--fs-sm);font-weight:700;color:var(--ink)}
.ps-cm__text{margin:0;font-size:var(--fs-row);line-height:var(--lh-body);color:var(--ink);overflow-wrap:anywhere}
.ps-cm__form{display:flex;flex-direction:column;gap:var(--sp-8)}
.ps-cm__form textarea{width:100%;resize:vertical}
.ps-cm__acts{display:flex;gap:var(--sp-8);justify-content:flex-end;flex-wrap:wrap}
.ps-cm__rep{padding:var(--sp-12);border-radius:var(--r-md);background:var(--card-2);border:1px solid var(--line)}
.ps-cm__rep p{margin:0;font-size:var(--fs-sm);line-height:var(--lh-body);color:var(--ink);overflow-wrap:anywhere}
.ps-cm__note{margin:0;font-size:var(--fs-hint);color:var(--muted-2)}

/* ── capabilities editor (canvas panel) ─────────────────────────────────── */
.ps-caps__rows{display:flex;flex-direction:column;gap:var(--sp-10)}
.ps-caps__row{display:flex;align-items:center;gap:var(--sp-12)}
.ps-caps__row > div:first-child{min-width:0;flex:1 1 auto}
.ps-caps__t{font-size:var(--fs-sm);font-weight:700;color:var(--ink)}
.ps-caps__s{font-size:var(--fs-hint);color:var(--muted-2);line-height:var(--lh-body)}
.ps-caps__note{margin:var(--sp-10) 0 0;font-size:var(--fs-hint);color:var(--muted);line-height:var(--lh-body)}
.ps-caps__row--off .ps-caps__t{color:var(--muted)}
.ps-caps__why{margin-top:var(--sp-4);font-size:var(--fs-hint);color:var(--warn);line-height:var(--lh-body)}

/* ── compact (inside the 380px canvas side panel) ───────────────────────── */
.ps-list--compact .ps-item,
.ps-list--compact .ps-cm{padding:var(--sp-12);box-shadow:none;border:1px solid var(--line)}
.ps-list--compact .ps-item__thumb{width:56px;height:56px}
.ps-list--compact .ps-item__text{font-size:var(--fs-sm)}

@media (max-width:720px){
  .ps-c__two{grid-template-columns:1fr}
  .ps-c__ai{flex-direction:column;align-items:stretch}
  .ps-c__acts{justify-content:stretch}
  .ps-c__acts .btn{flex:1 1 46%}
  .ps-item__st{margin-left:0}
  .ps-cm__at{margin-left:0;width:100%}
}

/* ═══════════════════════════════════════════════════════════════════════════
   P2: the 30 day plan. Month calendar, plan modal + progress, generated
   cards, the locked state and the brand tab. Tokens only, no new colours.
   ═══════════════════════════════════════════════════════════════════════ */

/* ── entitlement strip (trial days left, quota, paused) ─────────────────── */
.ps-strip{display:flex;align-items:center;gap:var(--sp-10);flex-wrap:wrap;margin:0 0 var(--sp-14);
  padding:var(--sp-8) var(--sp-12);border-radius:var(--r-md);background:var(--card-2);border:1px solid var(--line)}
.ps-strip__t{font-size:var(--fs-hint);font-weight:600;color:var(--muted-2)}
.ps-strip__n{margin-left:auto;font-size:var(--fs-meta);font-weight:700;color:var(--ink)}
.ps-strip--warn{background:var(--warn-soft);border-color:var(--warn-line)}
.ps-strip--warn .ps-strip__t{color:var(--warn)}

/* ── the plan being written ─────────────────────────────────────────────── */
.ps-prog{padding:var(--sp-16);display:flex;flex-direction:column;gap:var(--sp-10);margin-bottom:var(--sp-14)}
.ps-prog__top{display:flex;align-items:center;gap:var(--sp-10);flex-wrap:wrap}
.ps-prog__t{font-size:var(--fs-sm);font-weight:700;color:var(--ink)}
.ps-prog__n{font-size:var(--fs-meta);font-weight:700;color:var(--muted-2)}
.ps-prog__x{margin-left:auto}
.ps-prog__step{margin:0;font-size:var(--fs-hint);color:var(--muted-2)}

/* ── month calendar ─────────────────────────────────────────────────────── */
.ps-cal{margin:0 0 var(--sp-16);padding:var(--sp-16);background:var(--card);border:1px solid var(--line);
  border-radius:var(--r-card);box-shadow:var(--e1)}
.ps-cal__head{display:flex;align-items:center;gap:var(--sp-12);margin-bottom:var(--sp-12);flex-wrap:wrap}
.ps-cal__m{font-size:var(--fs-md);font-weight:700;color:var(--ink)}
.ps-cal__nav{margin-left:auto;display:flex;align-items:center;gap:var(--sp-6)}
.ps-cal__prev .sh-ic{transform:rotate(180deg)}
.ps-cal__wd,.ps-cal__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--sp-4)}
.ps-cal__wd{margin-bottom:var(--sp-6)}
.ps-cal__wd span{font-size:var(--fs-meta);font-weight:700;color:var(--muted-2);text-align:center}
.ps-cal__d{min-height:78px;padding:var(--sp-6);border:1px solid var(--line);border-radius:var(--r-sm);
  background:var(--card);display:flex;flex-direction:column;gap:var(--sp-4);min-width:0}
.ps-cal__d--out{background:var(--tint-1);border-color:transparent}
.ps-cal__d--out .ps-cal__dn{color:var(--muted-2)}
.ps-cal__d--today{border-color:var(--ink)}
.ps-cal__dn{font-size:var(--fs-meta);font-weight:700;color:var(--ink)}
.ps-cal__evs{display:flex;flex-direction:column;gap:3px;min-width:0}
.ps-cal__ev{display:flex;align-items:center;gap:4px;width:100%;min-width:0;padding:3px 5px;cursor:pointer;
  border:1px solid var(--line);border-radius:var(--r-xs);background:var(--card-2);text-align:left;
  transition:border-color var(--t),background var(--t)}
.ps-cal__ev:hover{border-color:var(--ink);background:var(--card)}
.ps-cal__ev--off{opacity:.45}
.ps-cal__evt{font-size:var(--fs-meta);font-weight:700;color:var(--ink);flex:none}
.ps-cal__evc{display:inline-flex;gap:2px;flex:none}
.ps-cal__evi{display:inline-flex;width:11px;height:11px}
.ps-cal__evi svg{width:100%;height:100%}
.ps-cal__evf{font-size:var(--fs-meta);color:var(--muted-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.ps-cal__more{padding:2px 5px;border:0;background:none;cursor:pointer;text-align:left;
  font-size:var(--fs-meta);font-weight:700;color:var(--muted-2)}
.ps-cal__more:hover{color:var(--ink)}
.ps-cal__empty{margin:var(--sp-12) 0 0;font-size:var(--fs-hint);color:var(--muted-2)}

/* ── the plan modal ─────────────────────────────────────────────────────── */
.ps-plan__row{margin-top:var(--sp-14)}
.ps-plan__plats{display:flex;flex-direction:column;gap:var(--sp-8)}
.ps-plan__date{max-width:220px}
.ps-plan__count{margin:var(--sp-14) 0 0;font-size:var(--fs-hint);font-weight:700;color:var(--muted-2)}
.ps-seg{max-width:100%;overflow-x:auto;flex-wrap:nowrap}
.ps-seg::-webkit-scrollbar{display:none}
.ps-seg > button{white-space:nowrap}

/* ── a generated post ───────────────────────────────────────────────────── */
.ps-g{gap:var(--sp-12)}
.ps-g--off{opacity:.55}
.ps-g__fmt{flex:none}
.ps-g__body{display:grid;grid-template-columns:minmax(0,1fr) 208px;gap:var(--sp-16);align-items:start}
.ps-g__copy{min-width:0;display:flex;flex-direction:column;gap:var(--sp-8)}
.ps-g__h{margin:0;font-size:var(--fs-lg);font-weight:700;line-height:var(--lh-tight);color:var(--ink);overflow-wrap:anywhere}
.ps-g__sub{margin:0;font-size:var(--fs-sm);font-weight:600;color:var(--muted);line-height:var(--lh-body);overflow-wrap:anywhere}
.ps-g__lang{align-self:flex-start}
.ps-g__text{margin:0;font-size:var(--fs-row);line-height:var(--lh-body);color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}
.ps-g__ig{padding:var(--sp-10) var(--sp-12);border-radius:var(--r-md);background:var(--card-2);border:1px solid var(--line)}
.ps-g__ig p{margin:0;font-size:var(--fs-sm);line-height:var(--lh-body);color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}
.ps-g__tags{display:flex;gap:var(--sp-6);flex-wrap:wrap}
.ps-g__tag{font-size:var(--fs-micro);font-weight:600;color:var(--muted-2);background:var(--tint-1);
  border-radius:var(--r-pill);padding:2px 8px}
.ps-g__vis{min-width:0}
.ps-g__img{margin:0}
.ps-g__img img{display:block;width:100%;border-radius:var(--r-md);border:1px solid var(--line);background:var(--card-2)}
.ps-g__ph{display:flex;flex-direction:column;gap:var(--sp-8);align-items:flex-start;padding:var(--sp-12);
  border:1px dashed var(--line-2);border-radius:var(--r-md);background:var(--card-2);min-height:120px}
.ps-g__ph p{margin:0;font-size:var(--fs-hint);color:var(--muted-2);line-height:var(--lh-body);overflow-wrap:anywhere}
.ps-g__flags{padding:var(--sp-10) var(--sp-12);border-radius:var(--r-md);
  background:var(--warn-soft);border:1px solid var(--warn-line)}
.ps-g__flags .ps-lab{color:var(--warn);margin-bottom:var(--sp-6)}
.ps-g__flags ul{margin:0;padding-left:var(--sp-16);display:flex;flex-direction:column;gap:4px}
.ps-g__flags li{font-size:var(--fs-hint);color:var(--warn);line-height:var(--lh-body);overflow-wrap:anywhere}
.ps-item--flash{border-color:var(--ink);box-shadow:var(--e3)}

/* ── locked: posting is off ─────────────────────────────────────────────── */
.ps-lock{padding:var(--sp-24);display:flex;flex-direction:column;gap:var(--sp-12);align-items:flex-start;max-width:640px}
.ps-lock__t{margin:0;font-size:var(--fs-2xl);font-weight:700;line-height:var(--lh-tight);color:var(--ink)}
.ps-lock__s{margin:0;font-size:var(--fs-row);line-height:var(--lh-body);color:var(--muted)}
.ps-lock__price{display:flex;align-items:baseline;gap:var(--sp-6)}
.ps-lock__p{font-size:var(--fs-3xl);font-weight:700;color:var(--ink);line-height:1}
.ps-lock__pm{font-size:var(--fs-sm);font-weight:600;color:var(--muted-2)}
.ps-lock__l{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--sp-8)}
.ps-lock__l li{position:relative;padding-left:var(--sp-20);font-size:var(--fs-sm);line-height:var(--lh-body);color:var(--ink)}
.ps-lock__l li::before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;border-radius:var(--r-circle);background:var(--live)}
.ps-lock__need{margin:0}
.ps-lock__acts{display:flex;gap:var(--sp-8);flex-wrap:wrap;margin-top:var(--sp-4)}
.ps-lock__trial{margin:0}

/* ── brand tab ──────────────────────────────────────────────────────────── */
.ps-br{display:flex;flex-direction:column;gap:var(--sp-16)}
.ps-br__card{padding:var(--sp-20)}
.ps-br__t,.ps-br__ft{margin:0;font-size:var(--fs-md);font-weight:700;color:var(--ink)}
.ps-br__s,.ps-br__fs{margin:0 0 var(--sp-14)}
.ps-br__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-16);align-items:start}
.ps-br__crow{display:flex;align-items:center;gap:var(--sp-8)}
.ps-br__crow input[type="color"]{width:44px;height:var(--ctl-h-sm);padding:2px;border:1px solid var(--line-2);
  border-radius:var(--r-sm);background:var(--card);cursor:pointer;flex:none}
.ps-br__hex{width:120px}
.ps-br__font{margin:0;font-size:var(--fs-sm);font-weight:600;color:var(--ink)}
.ps-br__prevmark{display:flex;gap:var(--sp-10);align-items:flex-start}
.ps-br__prevmark img{width:72px;height:72px;object-fit:contain;border-radius:var(--r-md);
  border:1px solid var(--line);background:var(--card-2);padding:var(--sp-6)}
.ps-br__acts{display:flex;gap:var(--sp-8);flex-wrap:wrap;margin-top:var(--sp-16)}
.ps-br__flist{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:var(--sp-8)}
.ps-br__frame{margin:0}
.ps-br__frame img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:var(--r-sm);
  border:1px solid var(--line);background:var(--card-2)}
.ps-br__pv img{display:block;width:100%;margin-top:var(--sp-12);border-radius:var(--r-md);border:1px solid var(--line)}

/* ── publishing round 2: approval, order strip, audit, comment settings ── */
.ps-ap{display:flex;flex-direction:column;gap:var(--sp-12);margin-bottom:var(--sp-16)}
.ps-ap__head{display:flex;flex-direction:column;gap:var(--sp-4)}
.ps-ap__t{margin:0;font-size:var(--fs-lg);font-weight:700;color:var(--ink)}
.ps-ap__s{margin:0;font-size:var(--fs-hint);color:var(--muted)}
.ps-ap__rows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-10)}
.ps-ap__row{display:flex;gap:var(--sp-10);align-items:flex-start;padding:var(--sp-12);cursor:pointer;
  border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--card);transition:border-color var(--t)}
.ps-ap__row:hover{border-color:var(--ink)}
.ps-ap__row input{width:16px;height:16px;flex:none;margin-top:2px;accent-color:var(--ink);cursor:pointer}
.ps-ap__row--on{border-color:var(--ink);box-shadow:var(--e2)}
.ps-ap__row--locked{cursor:not-allowed;background:var(--card-2);border-color:var(--line)}
.ps-ap__row--locked:hover{border-color:var(--line)}
.ps-ap__row--locked input{cursor:not-allowed}
.ps-ap__row--locked b{color:var(--muted)}
.ps-ap__txt{display:flex;flex-direction:column;gap:var(--sp-4);min-width:0}
.ps-ap__txt b{font-size:var(--fs-sm);font-weight:700;color:var(--ink)}
.ps-ap__sub{font-size:var(--fs-hint);color:var(--muted-2);line-height:var(--lh-body)}
.ps-ap__lock{font-size:var(--fs-hint);color:var(--warn);line-height:var(--lh-body)}
.ps-ap__weeks{margin:0;font-size:var(--fs-hint);color:var(--muted-2)}

.ps-ord{padding:var(--sp-10) var(--sp-12);border-radius:var(--r-md);background:var(--card-2);border:1px solid var(--line)}
.ps-ord .ps-lab{margin-bottom:var(--sp-6)}
.ps-ord__rows{list-style:none;margin:0;padding:0;counter-reset:ord;display:flex;flex-direction:column;gap:var(--sp-6)}
.ps-ord__row{counter-increment:ord;display:flex;align-items:center;gap:var(--sp-8);font-size:var(--fs-sm);color:var(--ink)}
.ps-ord__row::before{content:counter(ord);flex:none;width:18px;height:18px;border-radius:var(--r-circle);
  background:var(--tint-3);color:var(--muted);font-size:var(--fs-micro);font-weight:700;
  display:inline-flex;align-items:center;justify-content:center}
/* .ps-ord__i retired: the order row now carries the shared .chn tile. */
.ps-ord__n{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ps-ord__t{margin-left:auto;font-size:var(--fs-meta);color:var(--muted-2);text-align:right}
/* the publisher's own sentence about what actually went out (a story that had
   to go on the feed, a carousel that lost its slides): it sits under the
   channel it belongs to, indented past the step badge. */
.ps-ord__note{font-size:var(--fs-meta);color:var(--muted-2);margin-left:26px;overflow-wrap:anywhere}

.ps-g__fmt--carousel,.ps-g__fmt--story,.ps-g__fmt--reel{border-color:var(--line-2)}
.ps-g__fmt--n{color:var(--muted)}
.ps-g__fmt--note{color:var(--muted-2);font-weight:600}

.ps-aud{margin-top:var(--sp-4);padding:var(--sp-12);border-radius:var(--r-md);
  background:var(--card-2);border:1px solid var(--line)}
.ps-aud__in{display:flex;flex-direction:column;gap:var(--sp-12)}
.ps-aud__sec .ps-lab{margin-bottom:var(--sp-6)}
.ps-aud__body{font-size:var(--fs-hint);color:var(--ink);line-height:var(--lh-body)}
.ps-aud__body p{margin:0}
.ps-aud__facts,.ps-aud__flags,.ps-aud__links,.ps-aud__evs{list-style:none;margin:0;padding:0;
  display:flex;flex-direction:column;gap:var(--sp-6)}
.ps-aud__facts li,.ps-aud__links li,.ps-aud__evs li{display:flex;align-items:baseline;gap:var(--sp-8);min-width:0}
.ps-aud__fid{flex:none;padding:1px var(--sp-6);border-radius:var(--r-xxs);background:var(--tint-2);
  font-size:var(--fs-micro);font-weight:700;color:var(--muted)}
.ps-aud__facts li span{min-width:0;overflow-wrap:anywhere}
.ps-aud__note{font-size:var(--fs-meta);color:var(--muted-2);overflow-wrap:anywhere}
.ps-aud__flags li{padding-left:var(--sp-14);position:relative;color:var(--warn);overflow-wrap:anywhere}
.ps-aud__flags li::before{content:"";position:absolute;left:0;top:.5em;width:6px;height:6px;
  border-radius:var(--r-circle);background:var(--warn-bold)}
.ps-aud__ok{color:var(--muted)}
.ps-aud__mode{color:var(--muted-2)}
.ps-aud__ch{font-weight:700}
.ps-aud__id{color:var(--muted-2);font-size:var(--fs-micro);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ps-aud__go{margin-left:auto;flex:none;font-size:var(--fs-hint);font-weight:700;color:var(--ink)}
.ps-aud__ek{min-width:0;overflow-wrap:anywhere}
.ps-aud__et{margin-left:auto;flex:none;font-size:var(--fs-meta);color:var(--muted-2)}
.ps-aud__models{color:var(--muted-2)}
.ps-aud__err{margin:0;font-size:var(--fs-hint);color:var(--danger)}

.ps-cs{display:flex;flex-direction:column;gap:var(--sp-12);margin-bottom:var(--sp-14)}
.ps-cs__row{display:flex;align-items:center;gap:var(--sp-12)}
.ps-cs__txt{display:flex;flex-direction:column;gap:var(--sp-2);min-width:0}
.ps-cs__t{font-size:var(--fs-sm);font-weight:700;color:var(--ink)}
.ps-cs__s{font-size:var(--fs-hint);color:var(--muted-2);line-height:var(--lh-body)}
.ps-cs__row .toggle{margin-left:auto;flex:none}
.ps-cs__need{margin:0}
.ps-cs__ints{display:flex;flex-direction:column;gap:var(--sp-6)}
.ps-cs__intsub{margin:0;font-size:var(--fs-hint);color:var(--muted-2)}
.ps-cs__chips{display:flex;gap:var(--sp-6);flex-wrap:wrap;margin-top:var(--sp-4)}
.ps-cs__chip{cursor:pointer}
.ps-cs__chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}

/* ── narrow: the canvas panel and the phone ─────────────────────────────── */
.ps-list--compact .ps-g__body{grid-template-columns:1fr}
.ps-list--compact .ps-g__h{font-size:var(--fs-base)}

@media (max-width:900px){
  .ps-g__body{grid-template-columns:minmax(0,1fr) 168px}
}
@media (max-width:720px){
  .ps-g__body{grid-template-columns:1fr}
  .ps-br__grid{grid-template-columns:1fr}
  .ps-cal{padding:var(--sp-12)}
  .ps-cal__d{min-height:64px;padding:4px}
  .ps-cal__evc,.ps-cal__evf{display:none}
  .ps-cal__ev{justify-content:center;padding:2px 3px}
  .ps-lock{padding:var(--sp-16)}
  .ps-lock__acts .btn{flex:1 1 46%}
}
@media (max-width:900px){
  .ps-ap__rows{grid-template-columns:1fr}
}
.ps-list--compact .ps-ap__rows{grid-template-columns:1fr}

/* ═══════════════════════════════════════════════════════════════════════════
   THE MERGE: one standing head for everything both screens used to stack on
   top of their content. A rule and a row, never a card: the list and the
   board above it stay the loudest thing on the page.
   ═══════════════════════════════════════════════════════════════════════ */
.ps-set{margin-top:clamp(24px,3vw,34px);border-top:1px solid var(--line)}
.ps-set__h{display:flex;align-items:center;gap:var(--sp-12);width:100%;
  padding:var(--sp-16) 0;text-align:left;color:var(--ink)}
.ps-set__t{flex:none;font-size:var(--fs-base);font-weight:700;letter-spacing:-.01em}
.ps-set__n{min-width:0;font-size:var(--fs-hint);font-weight:600;color:var(--muted-2);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ps-set__c{margin-left:auto;flex:none;width:18px;height:18px;color:var(--muted-2);
  transform:rotate(90deg);transition:transform var(--t)}
.ps-set__h[aria-expanded="true"] .ps-set__c{transform:rotate(-90deg)}
.ps-set__h:hover .ps-set__c{color:var(--ink)}
.ps-set__h:focus-visible{outline:none;box-shadow:var(--focus);border-radius:var(--r-sm)}
.ps-set__b{display:flex;flex-direction:column;gap:var(--sp-16);padding-bottom:var(--sp-24)}

@media (max-width:720px){
  .ps-set__n{display:none}
}
