.p360-select { position: relative; display: block; width: 100%; min-width: 0; font-size: 13px; }
select.p360-native-select { position: absolute !important; width: 1px !important; height: 1px !important; min-width: 0 !important; min-height: 0 !important; clip-path: inset(50%); opacity: 0; pointer-events: none; padding: 0 !important; border: 0 !important; }
.p360-select .p360-select-trigger { display: flex; align-items: center; justify-content: space-between; width: 100%; min-width: 0; min-height: 42px; gap: 12px; padding: 10px 12px; margin: 0; border: 1px solid var(--line); border-radius: 9px; background: var(--surface, #fff); color: var(--text, var(--ink, #202838)); font: inherit; line-height: 1.5; text-align: left; cursor: pointer; box-shadow: none; }
.p360-select-trigger > span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.p360-select .p360-select-trigger:hover { border-color: var(--accent, #8062c4); }
.p360-select .p360-select-trigger:disabled { opacity: .55; cursor: default; }
.p360-select-trigger[aria-expanded=true] { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }
.p360-select-chevron { display: block; flex: none; width: 8px; height: 8px; margin-right: 4px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); opacity: .75; }
.p360-select-popup { position: fixed; inset: auto; z-index: 10000; margin: 0; padding: 8px; display: flex; flex-direction: column; gap: 6px; box-sizing: border-box; background: var(--surface, #fff); border: 1px solid var(--line, #dde1eb); border-radius: 12px; color: var(--text, var(--ink, #202838)); box-shadow: 0 12px 40px #10162930; font: 13px/1.5 Manrope, sans-serif; overflow: hidden; }
.p360-select-popup[hidden] { display: none; }
.p360-select-popup > input[hidden] { display:none; }
.p360-select-trigger,.p360-select-options > button { transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease; }
.p360-select-chevron { transition:transform .18s ease; }
.p360-select-trigger[aria-expanded=true] .p360-select-chevron { transform:translateY(2px) rotate(225deg); }
.p360-select-popup { animation:p360-select-open .18s ease-out; transform-origin:top; }
.p360-select-popup[data-direction=up] { transform-origin:bottom; }
@keyframes p360-select-open { from {opacity:0;transform:scale(.98) translateY(4px);} to {opacity:1;transform:none;} }
@media(prefers-reduced-motion:reduce) { .p360-select-popup {animation:none;} .p360-select-trigger,.p360-select-chevron,.p360-select-options > button {transition:none;} }
.p360-select-popup > input { box-sizing: border-box; flex: none; width: 100%; min-height: 40px; padding: 9px 11px; border: 1px solid var(--line, #dde1eb); border-radius: 7px; background: var(--surface-alt, var(--paper, #f5f6f8)); color: inherit; font: inherit; }
.p360-select-options { overflow-y: auto; overscroll-behavior: contain; min-height: 0; }
.p360-select-options > button { box-sizing: border-box; display: block; width: 100%; padding: 10px 12px; min-height: 42px; border: 0; border-radius: 7px; margin: 0; background: transparent; color: inherit; font: inherit; line-height: 1.5; text-align: left; white-space: normal; overflow-wrap: anywhere; cursor: pointer; }
.p360-select-options > button:is(:hover,.is-active) { background: var(--accent-soft, #efebf8); }
.p360-select-options > button[aria-selected=true] { color: var(--accent, #8062c4); font-weight: 700; }
.p360-select-options > button:disabled { opacity: .45; cursor: default; }
.p360-select-status { flex: none; padding: 4px 10px 2px; color: var(--muted, #748093); font-size: 11px; }
.p360-room-viewbar > .p360-select { display: none; }
@media (max-width: 1150px) { .p360-room-viewbar > .p360-select { display: block; width: 160px; max-width: 100%; color: var(--text); } }
@media (max-width: 760px) {
  .p360-select .p360-select-trigger { min-height: 36px; padding: 7px 9px; gap: 8px; font-size: 13px; }
  .p360-select-popup > input { min-height: 36px; padding: 6px 9px; font-size: 16px; }
  .p360-select-options > button { min-height: 36px; padding: 7px 9px; font-size: 13px; }
}

/* Shared disclosure icon for catalog, drawing editor and studio inspectors. */
body details > summary { display:flex; align-items:center; gap:10px; list-style:none; cursor:pointer; }
body details > summary::-webkit-details-marker { display:none; }
body details > summary::marker { content:''; }
body details > summary::before { content:none; }
body details > summary::after { content:''; display:block; flex:0 0 8px; width:8px; height:8px; margin:0 5px 0 auto; border:0; border-right:2px solid currentColor; border-bottom:2px solid currentColor; opacity:.75; transform:translateY(-2px) rotate(45deg); transition:transform .18s ease; }
body details[open] > summary::after { transform:translateY(2px) rotate(225deg); }
/* Specificity also covers styles loaded lazily by the surface editor. */
.p360-studio #studio-root details > summary::before { content:none; }
.p360-studio #studio-root details > summary::after { content:''; flex:0 0 8px; width:8px; height:8px; margin:0 5px 0 auto; border:0; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:translateY(-2px) rotate(45deg); }
.p360-studio #studio-root details[open] > summary::after { transform:translateY(2px) rotate(225deg); }
@media(prefers-reduced-motion:reduce) { body details > summary::after,.p360-studio .cp-view-tools button { transition:none; } }
