/* The AI producer panel (2 Oct 2026). Design system v2 tokens only; the
   fallbacks are the same tokens' values, for a page that loads before them. */
.asst{position:fixed;top:12px;right:12px;bottom:12px;width:min(420px,calc(100vw - 24px));z-index:60;display:flex;flex-direction:column;
  background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:var(--r,16px);box-shadow:var(--float,0 8px 48px rgba(0,0,0,.15));
  font-family:var(--sans,'Plus Jakarta Sans',system-ui,sans-serif);font-size:var(--fs-ui);line-height:1.5;overflow:hidden}
.asst-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line)}
.asst-head b{font-size:var(--fs-body);font-weight:700}
.asst-x{width:36px;height:36px;border:0;border-radius:var(--pill,99px);background:var(--calm-2);color:var(--ink);cursor:pointer;display:grid;place-items:center}
.asst-x svg,.asst-send svg,.asst-attach svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.asst-log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;background:var(--tint)}
.asst-empty{padding:8px 4px}
.asst-empty b{display:block;font-size:var(--fs-body);margin-bottom:6px}
.asst-empty p{margin:0 0 12px;color:var(--ink-2)}
.asst-chips{display:flex;flex-wrap:wrap;gap:8px}
.asst-chip{border:1px solid var(--field-edge);background:var(--white);color:var(--ink);border-radius:var(--pill,99px);padding:7px 14px;font:inherit;font-size:var(--fs-small);font-weight:600;cursor:pointer}
.asst-chip:hover{background:var(--calm-1)}
.asst-msg{max-width:100%}
.asst-msg p{margin:0 0 8px}.asst-msg p:last-child{margin-bottom:0}
.asst-msg ul{margin:0 0 8px;padding-left:20px}
.asst-me{align-self:flex-end;max-width:85%;background:var(--calm-1);border-radius:var(--r,16px) var(--r,16px) 4px var(--r,16px);padding:10px 14px}
.asst-it{align-self:stretch}
.asst-npics{display:block;font-size:var(--fs-label);font-weight:700;color:var(--ink-2);margin-bottom:4px}
.asst-thinking{display:flex;align-items:center;gap:10px;color:var(--ink-2)}
.asst-steps{margin:0 0 6px;font-size:var(--fs-label);color:var(--ink-3)}
.asst-dots{display:inline-flex;gap:4px}
.asst-dots i{width:6px;height:6px;border-radius:50%;background:var(--ink-3);animation:asst-dot 1.2s ease-in-out infinite}
.asst-dots i:nth-child(2){animation-delay:.2s}.asst-dots i:nth-child(3){animation-delay:.4s}
@keyframes asst-dot{0%,80%,100%{opacity:.25}40%{opacity:1}}
@media (prefers-reduced-motion:reduce){.asst-dots i{animation:none;opacity:.6}}
.asst-card{margin-top:10px;background:var(--white);border:1px solid var(--line);border-radius:var(--r,16px);padding:14px}
.asst-label{display:block;font-size:var(--fs-label);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.asst-sum{display:block;margin:4px 0 6px;font-size:var(--fs-ui)}
.asst-lines{margin:0 0 10px;padding-left:18px;font-size:var(--fs-small);color:var(--ink-2)}
.asst-lines li{margin:2px 0}
.asst-acts{display:flex;gap:8px;align-items:center}
.asst-btn{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 16px;border:0;border-radius:var(--pill,99px);background:var(--calm-2);color:var(--ink);font:inherit;font-size:var(--fs-small);font-weight:600;cursor:pointer;text-decoration:none}
.asst-primary{background:var(--ink);color:var(--accent);font-weight:700}
.asst-done{margin:0;font-size:var(--fs-small);font-weight:600;color:var(--ink-2)}
.asst-err{margin:0 0 8px;font-size:var(--fs-small);color:var(--danger);font-weight:600}
.asst-wait{font-size:var(--fs-small);color:var(--ink-2)}
.asst-card[data-state="applied"],.asst-card[data-state="discarded"]{background:var(--tint)}
.asst-form{border-top:1px solid var(--line);padding:12px 16px 10px;background:var(--white)}
.asst-form textarea{width:100%;box-sizing:border-box;resize:none;border:1px solid var(--field-edge);border-radius:var(--r-s,10px);padding:10px 12px;font:inherit;color:var(--ink);background:var(--white)}
.asst-row{display:flex;align-items:center;gap:8px;margin-top:8px}
.asst-attach{width:36px;height:36px;border-radius:var(--pill,99px);background:var(--calm-2);display:grid;place-items:center;cursor:pointer}
.asst-send{margin-left:auto;width:40px;height:40px;border:0;border-radius:var(--pill,99px);background:var(--ink);color:var(--accent);display:grid;place-items:center;cursor:pointer}
.asst-send:disabled{opacity:.4;cursor:default}
.asst-pics{display:flex;flex-wrap:wrap;gap:6px}
.asst-pics:not(:empty){margin-bottom:8px}
.asst-pic{position:relative;display:inline-flex;align-items:center;height:48px;min-width:48px;border-radius:var(--r-s,10px);background:var(--calm-2);overflow:hidden;font-size:var(--fs-micro)}
.asst-pic img{height:48px;width:auto;display:block}
.asst-pic i{padding:0 8px;font-style:normal}
.asst-pic button{position:absolute;top:2px;right:2px;width:18px;height:18px;border:0;border-radius:50%;background:var(--ink-a92,rgba(42,23,51,.92));color:var(--on-ink);font-size:var(--fs-micro);line-height:18px;padding:0;cursor:pointer}
.asst-fine{margin:8px 0 0;font-size:var(--fs-micro);color:var(--ink-3)}
.asst .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.asst button:focus-visible,.asst a:focus-visible,.asst textarea:focus-visible,.asst-attach:focus-within{outline:2px solid var(--ink);outline-offset:2px}
.sbar-btn[data-sbar="assistant"] svg,.mb-sbar [data-mbbar="assistant"] svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.lib-asst{margin-left:auto}
@media (max-width:700px){
  .asst{top:auto;left:8px;right:8px;bottom:8px;width:auto;height:min(80vh,640px)}
}
/* On a shoot page the panel starts under the shoot bar, so Share, Print and the avatar stay
   in reach; on a phone it is the full height below the bar instead of cutting the page band
   (gap review G21, G22). */
html.has-sbar .asst{top:calc(var(--sbar-h,68px) + 12px)}
@media (max-width:700px){
  html.has-sbar .asst{top:calc(var(--sbar-h,68px) + 8px);height:auto}
}
@media print{.asst{display:none!important}}
/* Files (2 Oct 2026): the paperclip, the chips before sending, the names in the bubble, the drop zone. */
.asst-file{position:relative;display:inline-flex;align-items:center;gap:6px;height:48px;max-width:100%;padding:0 30px 0 10px;box-sizing:border-box;border-radius:var(--r-s,10px);background:var(--calm-2);font-size:var(--fs-label);font-weight:600}
.asst-file svg,.asst-nfiles svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.asst-fname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}
.asst-file button{position:absolute;top:50%;right:6px;transform:translateY(-50%);width:18px;height:18px;border:0;border-radius:50%;background:var(--ink-a92,rgba(42,23,51,.92));color:var(--on-ink);font-size:var(--fs-micro);line-height:18px;padding:0;cursor:pointer}
.asst-msg .asst-nfiles{list-style:none;margin:0 0 6px;padding:0;display:flex;flex-direction:column;gap:4px}
.asst-nfiles li{display:flex;align-items:center;gap:6px;font-size:var(--fs-label);font-weight:700;color:var(--ink-2);overflow-wrap:anywhere}
.asst-more summary{cursor:pointer;font-size:var(--fs-label);font-weight:600;color:var(--ink-2)}
.asst-more[open] summary{margin-bottom:6px}
.asst-ferr{margin:0 0 8px;font-size:var(--fs-label);font-weight:600;color:var(--danger)}
.asst-dropzone{display:none}
.asst.asst-dragging .asst-dropzone{display:grid;place-items:center;position:absolute;inset:8px;border:2px dashed var(--ink-3);border-radius:var(--r,16px);background:var(--calm-1);color:var(--ink);font-weight:700;pointer-events:none}
/* Sources under each proposed line: small and muted; a miss or a gap stands out a little. */
.asst-src{display:block;margin:2px 0 4px;font-size:var(--fs-micro);line-height:1.4;color:var(--ink-3);overflow-wrap:anywhere}
.asst-src details summary{cursor:pointer;list-style-position:inside}
.asst-src-none{font-style:italic}
.asst-src-sug{color:var(--ink-2);font-weight:600}
.asst-src-warn{display:inline-block;margin-left:4px;padding:0 6px;border-radius:var(--pill,99px);background:var(--danger-soft);color:var(--danger);font-weight:700;font-style:normal}
.asst-src-other{margin:0 0 10px;font-size:var(--fs-micro);color:var(--ink-3)}
.asst-src-other summary{cursor:pointer;font-weight:600}
.asst-src-other ul{margin:4px 0 0;padding-left:18px}
.asst-src-other .asst-src{display:inline}
.asst-src-field{font-weight:600;color:var(--ink-2)}
