/* BAM Real Estate — multi-photo coherent set and persistent job UI */
.bam-studio-batch .bam-photo-card{min-height:560px}
.bam-upload-toolbar{min-height:48px;margin-bottom:12px;padding:7px 9px 7px 14px;display:flex;align-items:center;gap:9px;border:1px solid var(--line-soft);border-radius:10px;background:rgba(2,15,30,.34)}
.bam-upload-toolbar>span{margin-right:auto;color:var(--muted);font-size:11px}.bam-upload-toolbar>span b{color:var(--gold-2);font-size:15px}
.bam-upload-toolbar .bam-secondary{min-height:36px;padding:0 12px;font-size:11px}.bam-upload-toolbar .bam-icon-btn{width:36px;height:36px}
.bam-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;max-height:430px;padding-right:3px;overflow:auto;overscroll-behavior:contain}
.bam-source-card{min-width:0;padding:8px;border:1px solid var(--line-soft);border-radius:11px;background:rgba(2,15,30,.34);transition:.18s ease}
.bam-source-card.master{border-color:rgba(216,173,90,.66);box-shadow:inset 0 0 0 1px rgba(216,173,90,.13),0 11px 30px rgba(0,0,0,.14)}
.bam-source-image{position:relative;height:132px;overflow:hidden;border-radius:8px;background:#081d35}.bam-source-image>img{width:100%;height:100%;object-fit:cover}
.bam-source-image>span{position:absolute;left:8px;bottom:7px;min-width:27px;padding:3px 6px;border-radius:6px;background:rgba(3,14,27,.78);color:#fff;font-size:9px;text-align:center}
.bam-source-image>button{position:absolute;top:7px;width:31px;height:31px;padding:0;display:grid;place-items:center;border:1px solid rgba(255,255,255,.11);border-radius:50%;background:rgba(3,14,27,.72);color:#dce3ec;cursor:pointer;backdrop-filter:blur(8px)}
.bam-source-image>button:first-of-type{left:7px;color:var(--gold-2)}.bam-source-image>button:last-of-type{right:7px}.bam-source-image button svg{width:15px;height:15px;stroke:currentColor;fill:none}
.bam-source-card>input{width:100%;height:38px;margin-top:7px;padding:0 9px;border:1px solid transparent;border-radius:7px;outline:0;background:transparent;color:var(--text);font-size:11px}.bam-source-card>input:focus{border-color:rgba(216,173,90,.45);background:#071a31}
.bam-source-order{display:grid;grid-template-columns:30px 1fr 30px;align-items:center;gap:5px}.bam-source-order button{width:30px;height:27px;padding:0;display:grid;place-items:center;border:0;border-radius:6px;background:rgba(255,255,255,.025);color:var(--muted);cursor:pointer}.bam-source-order button:disabled{opacity:.2}.bam-source-order button svg{width:14px;height:14px}.bam-source-order small{text-align:center;color:var(--gold-2);font-size:8px;letter-spacing:.05em;text-transform:uppercase}
.bam-upload-progress{margin-top:10px;padding:11px 13px;border:1px solid rgba(120,167,244,.22);border-radius:8px;background:rgba(55,99,168,.09);color:#a9c3ee;font-size:10px}
.bam-consistency{margin-top:14px;padding:14px;border:1px solid var(--line-soft);border-radius:11px;background:rgba(2,14,29,.28)}.bam-consistency>span{display:block;margin-bottom:10px;color:var(--muted);font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.bam-consistency>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.bam-consistency label{min-height:38px;padding:0 9px;display:flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.055);border-radius:8px;background:rgba(255,255,255,.018);color:#cbd4df;font-size:10px;cursor:pointer}.bam-consistency input{position:absolute;opacity:0;pointer-events:none}.bam-consistency label>span{width:20px;height:20px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.14);border-radius:5px;color:transparent}.bam-consistency input:checked+span{border-color:var(--gold);background:var(--gold);color:#122039}.bam-consistency svg{width:13px;height:13px}
.bam-output-plan{margin-top:13px;padding:13px 14px;display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;border:1px solid rgba(216,173,90,.17);border-radius:9px;background:rgba(216,173,90,.04)}.bam-output-plan>span{color:var(--gold)}.bam-output-plan svg{width:22px;height:22px}.bam-output-plan strong{display:block;font-size:11px;font-weight:500}.bam-output-plan p{margin:3px 0 0;color:var(--muted);font-size:9px;line-height:1.45}
.bam-batch-panel{margin:18px 0;padding:18px;border:1px solid rgba(216,173,90,.2);border-radius:12px;background:linear-gradient(145deg,rgba(13,42,76,.7),rgba(5,23,44,.72))}.bam-batch-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.bam-batch-head span{display:block;color:var(--gold);font-size:8px;letter-spacing:.15em}.bam-batch-head h3{margin:4px 0 2px;font-family:var(--serif);font-size:23px;font-weight:500}.bam-batch-head p{margin:0;color:var(--muted);font-size:10px}.bam-batch-head>strong{font-family:var(--serif);font-size:24px;color:var(--gold-2);font-weight:500}
.bam-batch-progress{height:5px;margin:14px 0;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.06)}.bam-batch-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#b98d3c,#efc86e);transition:width .3s ease}
.bam-batch-jobs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.bam-batch-job{min-width:0;padding:8px;display:grid;grid-template-columns:55px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--line-soft);border-radius:9px;background:rgba(255,255,255,.018)}.bam-batch-job.failed{border-color:rgba(223,123,118,.25)}.bam-batch-job.done{border-color:rgba(120,191,135,.2)}
.bam-batch-thumb{width:55px;height:43px;overflow:hidden;display:grid;place-items:center;border-radius:6px;background:#081d35;color:var(--gold)}.bam-batch-thumb img{width:100%;height:100%;object-fit:cover}.bam-batch-thumb svg{width:20px;height:20px}.bam-batch-job strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;font-weight:500}.bam-batch-job small{display:block;margin-top:3px;color:var(--muted);font-size:9px}.bam-batch-job em{display:block;margin-top:3px;color:#e99b96;font-size:8px;font-style:normal}.bam-state.fail{color:#f1aaa5;background:rgba(137,48,50,.18)}
.bam-project-working{margin:13px 0;padding:11px 12px;display:grid;grid-template-columns:11px 1fr;gap:2px 9px;align-items:center;border:1px solid rgba(120,167,244,.2);border-radius:8px;background:rgba(55,99,168,.08)}.bam-project-working strong{font-size:10px;font-weight:500}.bam-project-working small{grid-column:2;color:var(--muted);font-size:8px}.bam-progress-pill.working{border-color:rgba(120,167,244,.5);color:#a9c3ee;background:rgba(55,99,168,.18)}
.bam-archive-card.pending .bam-archive-preview{position:relative}.bam-archive-card.pending .bam-archive-preview::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.08) 45%,transparent 70%);transform:translateX(-100%);animation:bamPendingShimmer 1.8s ease infinite}.bam-archive-card.pending.failed .bam-archive-preview::after{display:none}@keyframes bamPendingShimmer{to{transform:translateX(100%)}}
@media(max-width:1100px){.bam-source-grid{grid-template-columns:1fr}.bam-batch-jobs{grid-template-columns:1fr}}
@media(max-width:720px){.bam-consistency>div{grid-template-columns:1fr}.bam-source-grid{max-height:none}.bam-source-image{height:160px}.bam-batch-job{grid-template-columns:48px minmax(0,1fr)}.bam-batch-job>.bam-state{grid-column:2;justify-self:start}.bam-batch-head{align-items:flex-end}.bam-batch-head>strong{font-size:20px}}
