/* R78 — the guided share flow: the place picker, the tag ladder and the
   operator's ladder panel.
   Its own file, linked from `/share/` alone, rather than an addition to
   `spi-traveler.css`: appending there would have meant bumping that
   stylesheet's cache-busting version, and that version is in the <head> of
   EVERY traveler page, so a purely additive rule would have moved the bytes
   of forty pages that gained nothing from it. The flow's sections inherit the
   share-grid card styling from `spi-traveler.css`; everything below is
   additive on top of it. */
[data-share-place-results] { display: flex; flex-wrap: wrap; gap: .4rem; margin: .5rem 0; }
[data-share-place-results] button { padding: .4rem .7rem; font-size: .8rem; }
[data-share-place-chosen]:not(:empty) { margin: .4rem 0 0; color: #0b5563; font-weight: 800; }
[data-share-ladder-levels] { display: grid; gap: .8rem; }
[data-share-ladder-level] { margin: 0; padding: .6rem .8rem; border: 1px solid rgba(8,123,131,.16); border-radius: .9rem; }
[data-share-ladder-level] legend { padding: 0 .3rem; color: #365e67; font-size: .78rem; font-weight: 850; }
[data-share-ladder-level] button { margin: .25rem .3rem 0 0; padding: .4rem .7rem; font-size: .8rem; }
[data-share-ladder-choice][aria-pressed="true"] { outline: 2px solid #087b83; outline-offset: 2px; }
.spi-share-note { margin: .5rem 0 0; color: #5a7f88; font-size: .78rem; }
.spi-share-ladder-admin { margin-top: 1.5rem; padding: 1.3rem; border: 1px dashed rgba(8,123,131,.4); border-radius: 1.2rem; background: #f7fbfc; }
.spi-share-ladder-admin textarea { font-family: ui-monospace,SFMono-Regular,Menlo,monospace; font-size: .78rem; }
.spi-share-ladder-notice { margin: .4rem 0 .8rem; padding: .5rem .7rem; border-radius: .6rem; background: #e6f4f5; color: #0b5563; font-weight: 800; }
.spi-share-ladder-forms { display: grid; gap: 1.2rem; margin-top: .8rem; }
.spi-share-ladder-forms form { display: grid; gap: .5rem; padding: .9rem; border: 1px solid rgba(8,123,131,.2); border-radius: .9rem; background: #fff; }
.spi-share-ladder-forms h3 { margin: 0; color: #073b4c; font-size: .95rem; }
.spi-share-ladder-forms form > span { color: #5a7f88; font-size: .74rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.spi-share-ladder-forms button { justify-self: start; }
@media (max-width: 640px) { .spi-share-ladder-admin { padding: .9rem; } }

/* R92 — many photographs per share. The chosen files are a LIST of names and
   states rather than a wall of thumbnails on purpose: a hundred object URLs
   is a hundred decoded bitmaps in a phone's memory, and the one preview above
   already shows the cover. */
[data-photo-count]:not(:empty) { margin: .5rem 0 0; color: #0b5563; font-size: .82rem; font-weight: 800; }
.spi-photo-list { display: grid; gap: .3rem; margin: .5rem 0 0; padding: 0; list-style: none; max-height: 16rem; overflow-y: auto; }
.spi-photo-list li { display: flex; align-items: center; gap: .5rem; padding: .3rem .5rem; border: 1px solid rgba(8,123,131,.14); border-radius: .5rem; background: #fff; font-size: .78rem; }
.spi-photo-row-name { flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.spi-photo-row-state { flex: 0 0 auto; color: #5a7f88; font-weight: 800; }
.spi-photo-list button { flex: 0 0 auto; padding: .2rem .5rem; font-size: .72rem; }
[data-photo-failures] { margin: .6rem 0 0; padding: .6rem .8rem; border: 1px solid rgba(190,70,40,.35); border-radius: .7rem; background: #fdf3f0; }
[data-photo-failures] p { margin: .2rem 0 .4rem; font-size: .78rem; }
[data-photo-failure-list] { margin: 0 0 .5rem; padding-left: 1.1rem; font-size: .78rem; color: #8a3c21; }
