.availability-badge { position:absolute; top:8px; right:46px; z-index:3; width:28px; height:28px; display:flex; align-items:center; justify-content:center; color:#eee; background:rgba(0,0,0,.8); border:1px solid #777; border-radius:50%; }
.availability-badge svg,.availability-label svg,.availability-download svg { width:19px; height:19px; flex:none; }
.availability-permanent { color:#6fd4a3; border-color:#6fd4a3; }
.availability-temporary { color:#f3cd70; border-color:#f3cd70; }
.availability-remote { color:#8dcdf4; border-color:#8dcdf4; }
.availability-detail { display:flex; align-items:center; flex-wrap:wrap; min-width:0; }
.availability-detail > * { margin:4px 14px 4px 0; }
.availability-detail select { color:white; background:#171717; border:1px solid #777; border-radius:4px; padding:10px; min-height:44px; max-width:100%; font:inherit; }
.availability-label { display:inline-flex; align-items:center; font-size:14px; line-height:1.4; }
.availability-label svg { margin-right:7px; }
.availability-detail .availability-download { display:inline-flex; align-items:center; justify-content:center; background:#e50914; border:1px solid #e50914; color:white; border-radius:6px; padding:12px 16px; min-height:44px; font:inherit; font-weight:700; cursor:pointer; }
.availability-download svg { margin-right:8px; }
.availability-download:disabled { opacity:.6; cursor:default; }
.availability-message { flex-basis:100%; font-size:14px; overflow-wrap:break-word; }
.availability-progress { display:flex; flex-direction:column; font-size:13px; line-height:1.4; min-width:120px; }
.availability-progress[hidden] { display:none; }
.availability-progress progress { display:block; width:100%; height:6px; border:0; margin-top:5px; accent-color:#e50914; background:#444; }
.availability-progress progress::-webkit-progress-bar { background:#444; }
.availability-progress progress::-webkit-progress-value { background:#e50914; }
.has-availability > .availability-progress { position:absolute; z-index:4; top:44px; left:8px; right:8px; min-width:0; padding:7px; background:rgba(0,0,0,.9); border-radius:4px; }
.has-availability > .availability-progress > span { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.availability-detail .availability-progress { min-width:180px; }
.availability-download:focus-visible,.availability-detail select:focus-visible { outline:2px solid white; outline-offset:3px; }
.availability-expiry { position:absolute; bottom:8px; left:8px; z-index:3; padding:4px 6px; border-radius:3px; background:rgba(0,0,0,.85); color:#f3cd70; font-size:12px; line-height:1.3; }
.availability-download-facts { flex-basis:100%; margin:4px 0 8px; font-size:13px; color:#ccc; line-height:1.6; overflow-wrap:break-word; }
.availability-tracking { width:100%; max-width:560px; font-size:14px; }
.availability-tracking a { display:inline-block; min-height:40px; padding:10px 0; color:#fff; text-decoration:underline; }
.availability-steps { list-style:none; display:flex; margin:6px 0; padding:0; width:100%; }
.availability-steps li { flex:1; min-width:0; border-top:3px solid #555; padding:8px 0 0; margin-right:8px; color:#999; font-size:12px; }
.availability-steps .current { border-color:#e50914; color:#fff; }
.availability-steps .done { border-color:#6fd4a3; color:#ddd; }
.availability-detail .availability-progress { flex-basis:100%; max-width:560px; }
.availability-transfer { display:block; margin-top:6px; color:#ccc; font-size:13px; }
.availability-reason { color:#f3cd70; margin-top:6px; }
.availability-detail [hidden] { display:none !important; }
