.inventory-card{display:grid;gap:18px}.inventory-card>h2{margin:0;font-size:clamp(21px,4vw,28px);line-height:1.2}.inventory-room-count-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.inventory-room-count-form label{display:grid;gap:8px;color:#263c57;font-size:14px;font-weight:850}.inventory-room-count-form select,.inventory-upload-form input[name="room_name"]{width:100%;height:48px;padding:0 14px;border:1px solid #cbd7e5;border-radius:13px;outline:0;background:#fff;color:#102844;box-shadow:0 1px 2px rgba(22,48,80,.04),inset 0 0 0 1px rgba(255,255,255,.65);font:750 15px Nunito,system-ui,sans-serif;transition:border-color .18s,box-shadow .18s,background .18s}.inventory-room-count-form select{min-width:120px;padding-right:42px;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#526a86 50%),linear-gradient(135deg,#526a86 50%,transparent 50%);background-position:calc(100% - 19px) 21px,calc(100% - 14px) 21px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.inventory-room-count-form select:focus,.inventory-upload-form input[name="room_name"]:focus{border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 14%,transparent)}.inventory-room-list{display:grid;gap:16px}.inventory-room{padding:16px;border:1px solid #dce5ef;border-radius:18px;background:#f8fafc;display:grid;gap:14px}.inventory-room>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.inventory-room>header span{display:grid;gap:3px}.inventory-room>header b{font-size:18px}.inventory-room>header em{font-style:normal;font-weight:900;color:#607089}.inventory-status{font-size:13px;font-weight:800;color:#607089}.inventory-status.ready{color:#16824d}.inventory-status.failed{color:#bb2c2c}.inventory-status.queued,.inventory-status.processing{color:#a06100}.inventory-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.inventory-photos figure{position:relative;aspect-ratio:4/3;margin:0;overflow:hidden;border-radius:13px;background:#e7edf4}.inventory-photos img{width:100%;height:100%;object-fit:cover}.inventory-photos button{position:absolute;right:7px;top:7px;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:rgba(9,22,39,.82);color:#fff;font-size:22px;line-height:1;cursor:pointer}.inventory-upload-form{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(230px,1.3fr) auto;align-items:end;gap:11px}.inventory-upload-form>label{display:grid;gap:7px;color:#263c57;font-size:14px;font-weight:850}.inventory-file-picker{position:relative;min-height:48px;padding:9px 14px;border:1px dashed #91a5bc;border-radius:13px;background:#fff;cursor:pointer;transition:border-color .18s,background .18s,box-shadow .18s}.inventory-file-picker:hover,.inventory-file-picker:focus-within{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 4%,#fff);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 10%,transparent)}.inventory-file-picker span{display:block;font-size:14px;font-weight:900;color:var(--brand-dark)}.inventory-file-picker small{display:block;margin-top:1px;font-size:12px;font-weight:650;color:#607089}.inventory-file-picker input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.inventory-card-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:2px}.inventory-close-note{margin:0;color:#607089;font-size:13px}.inventory-reset-button{flex:0 0 auto;padding:9px 12px;border:1px solid #e0bfc4;border-radius:10px;background:#fff;color:#a13342;font:850 13px Nunito,system-ui,sans-serif;cursor:pointer;transition:background .18s,border-color .18s}.inventory-reset-button:hover{border-color:#ce8f99;background:#fff6f7}.inventory-card button.primary:disabled,.inventory-reset-button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:720px){.inventory-upload-form{grid-template-columns:1fr}.inventory-upload-form button{width:100%}.inventory-room-count-form>*{flex:1}.inventory-photos{gap:6px}.inventory-room{padding:13px}.inventory-card-footer{align-items:stretch;flex-direction:column}.inventory-reset-button{width:100%}}

/* v1.11.5: compact, collapsible client photo inventory. */
.inventory-card{gap:13px}
.inventory-card-head{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:14px}
.inventory-card-head>div{min-width:0;flex:1}
.inventory-card-head .eyebrow{margin-bottom:4px}
.inventory-card-head h2{margin:0;font-size:clamp(15px,2.4vw,18px);font-weight:800;line-height:1.4}
.inventory-toggle{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;padding:0;border:1px solid #d1dceb;border-radius:12px;background:#f7f9fc;color:var(--brand);cursor:pointer;transition:border-color .18s,background .18s,transform .18s}
.inventory-toggle:hover{border-color:color-mix(in srgb,var(--brand) 42%,#d1dceb);background:color-mix(in srgb,var(--brand) 6%,#fff)}
.inventory-toggle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s}
.inventory-toggle.expanded svg{transform:rotate(180deg)}
.inventory-collapsible{display:grid;gap:16px;padding-top:3px}
.inventory-collapsible.is-collapsed{display:none}

/* v1.12.0: immediate background uploads and one final confirmation. */
.inventory-upload-form{grid-template-columns:minmax(180px,.7fr) minmax(230px,1.3fr)}
.inventory-card-footer{display:grid;align-items:stretch;justify-content:stretch;gap:9px;padding-top:2px}
.inventory-save-button,.inventory-reset-button{width:100%;min-height:46px}
.inventory-close-note{margin:2px 0 0;text-align:center}
.inventory-reset-button{padding:10px 12px;border-radius:12px;font-size:14px}
.inventory-photo-pending:after{content:"";position:absolute;z-index:1;inset:0;background:rgba(8,25,47,.24)}
.inventory-upload-progress{--progress:0;position:absolute;z-index:2;left:50%;top:50%;display:grid;place-items:center;width:58px;height:58px;transform:translate(-50%,-50%);border-radius:50%;background:conic-gradient(#fff calc(var(--progress)*1%),rgba(255,255,255,.28) 0);box-shadow:0 3px 14px rgba(7,23,42,.22)}
.inventory-upload-progress:before{content:"";position:absolute;inset:6px;border-radius:50%;background:#17314f}
.inventory-upload-progress i{position:relative;z-index:1;color:#fff;font:900 12px Nunito,system-ui,sans-serif;font-style:normal}
.inventory-photo-pending.failed .inventory-upload-progress{background:#c73d4a}
.inventory-photo-pending button{z-index:3}
.inventory-photo-pending button:disabled{opacity:.45;cursor:wait}
@media(max-width:720px){.inventory-upload-form{grid-template-columns:1fr}}

/* v1.12.1: progressive room creation. */
.inventory-room-bootstrap{padding:18px;border:1px solid #dce5ef;border-radius:18px;background:#f8fafc;color:#607089;font-size:14px;font-weight:800;text-align:center}
.inventory-add-room{width:100%;min-height:46px;padding:10px 14px;border:1px dashed color-mix(in srgb,var(--brand) 52%,#b7c6d8);border-radius:13px;background:color-mix(in srgb,var(--brand) 4%,#fff);color:var(--brand);font:900 15px Nunito,system-ui,sans-serif;cursor:pointer;transition:border-color .18s,background .18s,transform .18s}
.inventory-add-room:hover{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 8%,#fff);transform:translateY(-1px)}
.inventory-add-room:disabled{opacity:.55;cursor:wait;transform:none}
.inventory-room-actions{display:flex;align-items:center;gap:9px}.inventory-room-actions em{font-style:normal;font-weight:900;color:#607089}.inventory-room-remove{display:grid;place-items:center;width:29px;height:29px;padding:0;border:1px solid #e1c2c7;border-radius:9px;background:#fff;color:#a13342;font:800 20px/1 Arial,sans-serif;cursor:pointer;transition:border-color .18s,background .18s}.inventory-room-remove:hover{border-color:#cb8f98;background:#fff5f6}.inventory-room-remove:disabled{opacity:.5;cursor:wait}
.inventory-save-wait{margin:0;padding:8px 11px;border-radius:10px;background:#fff7df;color:#80520b;font-size:13px;font-weight:800;text-align:center}
.inventory-draft-note{margin:0;padding:9px 12px;border-radius:11px;background:#edf4ff;color:#36577f;font-size:13px;font-weight:800;line-height:1.4;text-align:center}

/* v1.14.1: branded accessible dialogs for warnings, errors and confirmations. */
body.client-dialog-open{overflow:hidden}
.client-dialog-layer{position:fixed;z-index:1000;inset:0;padding:24px;display:flex;align-items:center;justify-content:center;background:rgba(7,23,44,.58);backdrop-filter:blur(5px);opacity:0;transition:opacity .14s ease}
.client-dialog-layer.visible{opacity:1}.client-dialog-layer.closing{opacity:0}
.client-dialog{position:relative;width:min(430px,100%);padding:28px;border:1px solid rgba(255,255,255,.75);border-radius:24px;background:#fff;color:#122b49;box-shadow:0 28px 80px rgba(4,20,42,.32);text-align:center;transform:translateY(12px) scale(.975);transition:transform .18s ease}
.client-dialog-layer.visible .client-dialog{transform:translateY(0) scale(1)}
.client-dialog-close{position:absolute;right:14px;top:14px;width:34px;height:34px;padding:0;border:0;border-radius:50%;display:grid;place-items:center;background:#f1f4f8;color:#61738a;font:700 23px/1 Arial,sans-serif;cursor:pointer;transition:background .16s,color .16s}
.client-dialog-close:hover{background:#e7edf4;color:#233d5a}
.client-dialog-icon{width:56px;height:56px;margin:0 auto 16px;border-radius:18px;display:grid;place-items:center;background:#fde9eb;color:#bd3444;font:900 27px/1 Nunito,system-ui,sans-serif}
.client-dialog-layer.warning .client-dialog-icon{background:#fff2d6;color:#a76600}.client-dialog-layer.confirm .client-dialog-icon{background:color-mix(in srgb,var(--brand) 11%,#fff);color:var(--brand)}
.client-dialog h2{margin:0 38px 8px;font-size:22px;line-height:1.25}.client-dialog p{margin:0;white-space:pre-wrap;color:#60738a;font-size:15px;font-weight:650;line-height:1.55}
.client-dialog-actions{margin-top:24px;display:flex;justify-content:center;gap:10px}.client-dialog-actions button{min-width:120px;min-height:46px;padding:10px 18px;border-radius:13px;font:900 14px Nunito,system-ui,sans-serif;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s}
.client-dialog-actions button:hover{transform:translateY(-1px)}.client-dialog-actions button:focus-visible,.client-dialog-close:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 28%,transparent);outline-offset:2px}
.client-dialog-cancel{border:1px solid #d4dee9;background:#fff;color:#425a75}.client-dialog-cancel:hover{background:#f6f8fb}
.client-dialog-primary{border:1px solid var(--brand);background:var(--brand);color:#fff;box-shadow:0 8px 20px color-mix(in srgb,var(--brand) 24%,transparent)}
.client-dialog-layer.confirm .client-dialog-primary{border-color:#c23b49;background:#c23b49;box-shadow:0 8px 20px rgba(194,59,73,.22)}
@media(max-width:600px){.client-dialog-layer{padding:0;align-items:flex-end}.client-dialog{width:100%;padding:27px 20px calc(20px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;transform:translateY(28px)}.client-dialog-actions{flex-direction:column-reverse}.client-dialog-actions button{width:100%}}
@media(prefers-reduced-motion:reduce){.client-dialog-layer,.client-dialog{transition:none}}
