@import url("app.css");

.powered {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.powered img,
.login .powered img {
    display: inline-block;
    width: 54px;
    height: 24px;
    max-height: 24px;
    object-fit: contain;
    margin: 0 0 0 2px;
}

.login-page {
    position: relative;
    padding-bottom: 88px;
}

.login-powered {
    position: fixed;
    left: 50%;
    bottom: 24px;
    transform: translateX(-50%);
    color: var(--dark);
    font-size: 12px;
    white-space: nowrap;
}

.side-foot.powered {
    justify-content: center;
}

.password-card {
    max-width: 650px;
}

.password-input {
    display: flex;
    align-items: stretch;
}

.field .password-input input {
    border-radius: 10px 0 0 10px;
}

.password-toggle {
    min-width: 88px;
    padding: 0 12px;
    border: 1px solid var(--line);
    border-left: 0;
    border-radius: 0 10px 10px 0;
    background: #e7f1ef;
    color: var(--dark);
    cursor: pointer;
    font-weight: 700;
}

.password-status {
    min-height: 20px;
    margin-top: 5px;
    font-size: 12px;
}

.password-status.ok {
    color: var(--light);
}

.password-status.error {
    color: var(--orange);
}

@media (max-width: 760px) {
    .login-powered {
        bottom: 16px;
    }
}

.sortable { cursor: pointer; user-select: none; }
.sortable::after { content: " ↕"; color: var(--light); }
.sortable[data-sort="asc"]::after { content: " ↑"; }
.sortable[data-sort="desc"]::after { content: " ↓"; }
.table-filters th { padding: 6px 8px 10px; }
.table-filters input { width: 100%; min-width: 90px; padding: 7px 8px; border: 1px solid var(--line); border-radius: 8px; background: #fff; font-size: 12px; }
.list a.record-link { color: var(--dark); font-weight: 800; text-decoration: none; }
.list a.record-link:hover { color: var(--light); text-decoration: underline; }
.metric-help { display: block; margin-top: 4px; color: var(--muted); font-size: 11px; font-weight: 400; }
.room-grid { display: grid; gap: 12px; }
.room-card { border: 1px solid var(--line); border-radius: 13px; padding: 14px; background: #fbfdfd; }
.room-title { display: flex; align-items: center; gap: 8px; font-weight: 800; color: var(--dark); }
.bed-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-top: 10px; }
.bed-choice { display: flex; gap: 8px; align-items: flex-start; border: 1px solid var(--line); border-radius: 10px; padding: 10px; background: #fff; }
.bed-choice small { display: block; color: var(--muted); }
.record-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.record-summary > div { padding: 12px; border-radius: 11px; background: var(--soft); }
.inline-form { display: flex; align-items: end; gap: 8px; flex-wrap: wrap; }
.inline-form .field { flex: 1 1 150px; }
.service-options { display: flex; flex-direction: column; gap: 9px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 11px; background: var(--soft); }
.service-options label { display: flex; align-items: center; gap: 8px; margin: 0; }
.service-options input { width: auto; }
@media (max-width:760px) { .bed-list,.record-summary { grid-template-columns: 1fr; } }

/* Intend'Up 0.5.1 — interface application */
body { background: linear-gradient(145deg,#f4f8f7 0%,#eef5f4 100%); }
.main { padding: 30px 34px 44px; }
.top { align-items: center; margin-bottom: 20px; }
.top h1 { letter-spacing: -.035em; }
.card { border-color: rgba(4,93,93,.12); box-shadow: 0 8px 28px rgba(4,61,65,.065); }
.button { border-radius: 11px; box-shadow: 0 5px 13px rgba(4,93,93,.13); transition: transform .16s ease,box-shadow .16s ease,background .16s ease; }
.button:hover { transform: translateY(-1px); box-shadow: 0 8px 18px rgba(4,93,93,.18); }
.nav a { position: relative; transition: background .16s ease,color .16s ease; }
.nav a.active::before { content:""; position:absolute; left:0; top:10px; bottom:10px; width:3px; border-radius:3px; background:var(--orange2); }

/* Signature PEREL : alignement sur le bas visible des lettres */
.powered { align-items: flex-end; gap: 9px; line-height: 1; }
.powered span { display:block; line-height:1; padding-bottom:1px; }
.powered img,
.login .powered img { width:auto; height:24px; max-height:24px; margin:0; object-fit:contain; }

/* Listes d'abord, création à la demande */
.list-toolbar { display:flex; justify-content:flex-end; align-items:center; margin:0 0 12px; }
.create-button { min-width:106px; background:linear-gradient(135deg,var(--petrol),var(--light)); }
.create-button > span { font-size:20px; font-weight:400; line-height:0; margin-right:3px; }
.create-button.active { background:var(--dark); }
.js .create-panel:not(.panel-open) { display:none; }
.create-panel { scroll-margin-top:18px; border-left:4px solid var(--orange2); animation:panelIn .18s ease-out; }
.create-panel summary { color:var(--dark); font-size:17px; }
.create-panel summary::marker { color:var(--orange); }
@keyframes panelIn { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:none; } }

/* Tableaux plus légers */
.list { border-spacing:0; }
.list thead tr:first-child th { background:#f7faf9; border-top:1px solid var(--line); }
.list thead tr:first-child th:first-child { border-radius:11px 0 0 0; }
.list thead tr:first-child th:last-child { border-radius:0 11px 0 0; }
.list tbody tr { transition:background .14s ease; }
.list tbody tr:hover { background:#f6fbfa; }
.list tbody tr:last-child td { border-bottom:0; }
.table-filters th { background:#f7faf9; }
.table-filters input { border-color:#dce8e6; background:#fff; transition:border-color .15s ease,box-shadow .15s ease; }
.table-filters input:focus { outline:0; border-color:var(--light); box-shadow:0 0 0 3px rgba(6,121,120,.11); }

/* Fiche propriété et cartes chambres */
.property-overview .record-summary > div { border:1px solid rgba(4,93,93,.07); }
.section-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:16px; }
.section-heading h2 { margin-bottom:2px; }
.section-heading p { margin:0; color:var(--muted); font-size:13px; }
.modern-room-grid { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
.modern-room-card { padding:0; overflow:hidden; border:1px solid #dce8e6; border-radius:16px; background:#fff; box-shadow:0 5px 16px rgba(4,61,65,.055); }
.room-card-head { display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:11px; padding:13px 14px; background:linear-gradient(135deg,#f4f9f8,#fff); }
.room-symbol { display:grid; place-items:center; width:38px; height:38px; border-radius:11px; background:#dff0ed; color:var(--petrol); }
.room-symbol::before { content:"⌂"; font-size:24px; line-height:1; transform:translateY(-1px); }
.modern-room-card[data-room-type="bathroom"] .room-symbol { background:#e7f4f4; color:var(--light); }
.modern-room-card[data-room-type="bathroom"] .room-symbol::before { content:"●"; font-size:14px; box-shadow:0 -6px 0 -3px currentColor; border-radius:50%; }
.room-name-form { display:grid; grid-template-columns:minmax(0,1fr) 34px; align-items:end; gap:7px; }
.compact-field label { display:block; margin:0 0 3px; color:var(--muted); font-size:10px; line-height:1.2; font-weight:800; text-transform:uppercase; letter-spacing:.055em; }
.compact-field input,.compact-field select { width:100%; min-width:0; height:35px; padding:7px 9px; border:1px solid #d6e4e2; border-radius:9px; background:#fff; color:#173536; }
.room-name-field input { border-color:transparent; background:transparent; padding-left:0; color:var(--dark); font-size:16px; font-weight:800; }
.room-name-field input:hover,.room-name-field input:focus { padding-left:9px; border-color:#c8ddda; background:#fff; outline:0; }
.room-count { align-self:center; padding:5px 8px; border-radius:99px; background:#e7f2f0; color:var(--petrol); font-size:10px; font-weight:800; white-space:nowrap; }
.compact-save { display:grid; place-items:center; width:34px; height:34px; padding:0; border:0; border-radius:9px; background:#e3efed; color:var(--dark); font-size:16px; font-weight:900; cursor:pointer; transition:background .15s ease,color .15s ease,transform .15s ease; }
.compact-save:hover { background:var(--petrol); color:#fff; transform:translateY(-1px); }
.modern-bed-list { display:grid; gap:8px; padding:10px 12px 12px; border-top:1px solid #e7efee; background:#fbfdfd; }
.modern-bed-card { display:grid; grid-template-columns:34px minmax(95px,1.25fr) minmax(115px,1fr) 78px 34px; align-items:end; gap:8px; padding:9px; border:1px solid #e0eae8; border-radius:12px; background:#fff; }
.bed-symbol { position:relative; align-self:center; width:29px; height:22px; border-left:3px solid var(--light); border-bottom:3px solid var(--light); border-radius:0 0 0 3px; }
.bed-symbol::before { content:""; position:absolute; left:3px; right:0; bottom:3px; height:10px; border:2px solid var(--light); border-radius:5px 5px 1px 1px; background:#e3f2f0; }
.bed-symbol::after { content:""; position:absolute; left:6px; bottom:8px; width:7px; height:5px; border-radius:3px; background:#fff; }
.capacity-field input { text-align:center; }

@media (max-width:1150px) {
  .modern-room-grid { grid-template-columns:1fr; }
}
@media (max-width:760px) {
  .main { padding:18px 13px 34px; }
  .list-toolbar { position:sticky; top:6px; z-index:3; }
  .modern-bed-card { grid-template-columns:30px minmax(0,1fr) 34px; }
  .modern-bed-card .compact-field:not(.bed-name-field) { grid-column:2/-1; }
  .room-card-head { grid-template-columns:38px minmax(0,1fr); }
  .room-count { grid-column:2; justify-self:start; }
}

/* Intend'Up 0.6.1 — identité personnalisable par organisation */
:root {
  --org-primary:#045d5d;
  --org-accent:#e85022;
  --org-background:#f3f6f4;
  --org-surface:#ffffff;
  --org-button:#0b6b69;
  --org-button-text:#ffffff;
  --dark:color-mix(in srgb,var(--org-primary),#000 34%);
  --petrol:var(--org-primary);
  --light:color-mix(in srgb,var(--org-primary),#fff 14%);
  --orange:var(--org-accent);
  --orange2:color-mix(in srgb,var(--org-accent),#fff 18%);
  --soft:var(--org-background);
  --line:color-mix(in srgb,var(--org-primary),#fff 76%);
  --muted:#637776;
  --ivory:color-mix(in srgb,var(--org-surface),#fff 35%);
  --shadow:0 18px 50px rgba(3,48,52,.095);
}
body {
  background:
    radial-gradient(circle at 94% 4%,color-mix(in srgb,var(--org-accent),transparent 88%),transparent 25%),
    linear-gradient(145deg,color-mix(in srgb,var(--org-background),#fff 34%) 0%,color-mix(in srgb,var(--org-background),#dfeae7 35%) 100%);
  color:#173839;
}
.side {
  overflow:hidden;
  color:var(--dark);
  background:linear-gradient(180deg,color-mix(in srgb,var(--org-surface),#fff 10%) 0%,color-mix(in srgb,var(--org-background),#fff 8%) 100%);
  border-right:1px solid color-mix(in srgb,var(--org-primary),#fff 80%);
  box-shadow:8px 0 30px rgba(3,48,52,.07);
}
.side::after {
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:3px;
  height:100%;
  background:linear-gradient(180deg,var(--orange2),rgba(232,80,34,.08) 32%,transparent 75%);
}
.brand { width:180px; margin-bottom:37px; }
.org { color:#a9cfcb; font-weight:800; letter-spacing:.13em; }
.nav a { padding:12px 14px; border-radius:12px; color:#d4e7e5; }
.nav a:hover { background:rgba(255,255,255,.09); }
.nav a.active {
  background:linear-gradient(90deg,rgba(246,129,51,.20),rgba(255,255,255,.10));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);
}
.nav a.active::before { top:8px; bottom:8px; width:4px; background:var(--orange2); }
.main { padding-top:28px; }
.top { padding-bottom:17px; border-bottom:1px solid rgba(4,93,93,.14); }
.top h1 { color:#032f33; font-size:31px; }
.top h1::after { content:""; display:block; width:35px; height:3px; margin-top:8px; border-radius:4px; background:linear-gradient(90deg,var(--orange),var(--orange2)); }
.user { border-color:rgba(4,93,93,.18); box-shadow:0 6px 20px rgba(3,48,52,.06); }
.card {
  border:1px solid rgba(4,93,93,.15);
  border-radius:19px;
  box-shadow:var(--shadow);
  background:var(--org-surface);
}
.card h2 { color:#033c40; letter-spacing:-.015em; }
.button {
  min-height:42px;
  border-radius:12px;
  background:var(--org-button);
  color:var(--org-button-text);
  border:1px solid var(--org-button);
  box-shadow:0 8px 20px color-mix(in srgb,var(--org-button),transparent 78%);
}
.button:hover { background:var(--org-button-text); color:var(--org-button); border-color:var(--org-button); }
.button.secondary { background:color-mix(in srgb,var(--org-surface),var(--org-background) 40%); color:var(--dark); border:1px solid var(--line); }
.button.secondary:hover { background:color-mix(in srgb,var(--org-background),#fff 20%); }
.button.orange,.create-button {
  background:linear-gradient(135deg,color-mix(in srgb,var(--org-accent),#000 4%),color-mix(in srgb,var(--org-accent),#fff 8%));
  color:color-mix(in srgb,var(--org-accent),#000 88%);
  border:1px solid var(--org-accent);
  box-shadow:0 9px 22px color-mix(in srgb,var(--org-accent),transparent 76%);
}
.button.orange:hover,.create-button:hover {
  background:color-mix(in srgb,var(--org-surface),#fff 8%);
  color:var(--org-accent);
  border-color:var(--org-accent);
}
.create-panel { border-left:0; border-top:4px solid var(--orange2); background:color-mix(in srgb,var(--org-surface),var(--org-background) 38%); }
.create-panel summary { font-size:18px; }

/* Tableaux très lisibles */
.list thead tr:first-child th {
  padding-top:13px;
  padding-bottom:13px;
  background:linear-gradient(135deg,#043d41,#075c5d);
  color:#fff;
  border-bottom-color:#043d41;
}
.sortable::after { color:#ffb27c; }
.table-filters th { background:color-mix(in srgb,var(--org-background),#fff 28%); border-bottom:1px solid var(--line); }
.table-filters input { min-height:34px; border-color:#c4d9d6; background:#fff; }
.list td { padding-top:14px; padding-bottom:14px; }
.list tbody tr:hover { background:color-mix(in srgb,var(--org-accent),#fff 92%); }
.list a.record-link { color:#045d5d; }
.list a.record-link:hover { color:var(--orange); }
.pill { background:#dcecea; color:#043d41; }
.pill.warn { background:#fff0e7; color:#b5411c; }

/* Fiche propriété */
.property-overview {
  color:#fff;
  border-color:#043d41;
  background:
    radial-gradient(circle at 90% 5%,rgba(246,129,51,.24),transparent 30%),
    linear-gradient(135deg,var(--dark),var(--petrol));
  box-shadow:0 22px 54px rgba(3,48,52,.18);
}
.property-overview h2 { color:#fff; font-size:24px; }
.property-overview .record-summary > div {
  border-color:rgba(255,255,255,.12);
  background:rgba(255,255,255,.095);
  color:#fff;
  backdrop-filter:blur(5px);
}
.property-overview .record-summary b { color:#aedaD6; font-size:11px; text-transform:uppercase; letter-spacing:.06em; }
.property-overview a.record-link { color:#ffb47e; }
.rooms-section { padding:23px; }
.section-heading { padding-bottom:14px; border-bottom:1px solid #d9e6e4; }
.section-heading h2::before { content:""; display:inline-block; width:5px; height:18px; margin-right:10px; border-radius:4px; background:linear-gradient(var(--orange2),var(--orange)); vertical-align:-2px; }
.modern-room-grid { gap:18px; }
.modern-room-card {
  border-color:rgba(4,93,93,.22);
  box-shadow:0 12px 30px rgba(3,48,52,.10);
  transition:transform .18s ease,box-shadow .18s ease;
}
.modern-room-card:hover { transform:translateY(-2px); box-shadow:0 17px 38px rgba(3,48,52,.14); }
.room-card-head {
  padding:15px;
  background:linear-gradient(135deg,var(--dark),var(--petrol));
}
.room-symbol { background:rgba(255,255,255,.13); color:#fff; box-shadow:inset 0 0 0 1px rgba(255,255,255,.12); }
.modern-room-card[data-room-type="bathroom"] .room-symbol,
.modern-room-card[data-room-type="shower_room"] .room-symbol,
.modern-room-card[data-room-type="toilet"] .room-symbol { background:rgba(255,255,255,.13); color:#fff; }
.room-name-field label { color:#a9d2ce; }
.room-name-field input { color:#fff; }
.room-name-field input:hover,.room-name-field input:focus { border-color:rgba(255,255,255,.35); background:rgba(255,255,255,.12); color:#fff; }
.room-count { background:#fff0e6; color:#b9431c; }
.room-card-head .compact-save { background:var(--orange2); color:#fff; }
.room-card-head .compact-save:hover { background:var(--orange); }
.modern-bed-list { gap:10px; padding:13px; background:color-mix(in srgb,var(--org-background),#fff 26%); }
.modern-bed-card {
  border-color:#d3e2df;
  border-left:3px solid #087b78;
  box-shadow:0 4px 12px rgba(3,48,52,.045);
}
.modern-bed-card:hover { border-left-color:var(--orange2); }
.modern-bed-card .compact-save { background:#dceae8; }

/* Ajout d'un couchage */
.add-bed-panel { margin:0 12px 13px; border:1px dashed rgba(4,93,93,.38); border-radius:13px; background:#fff; }
.add-bed-panel summary {
  display:flex;
  align-items:center;
  gap:8px;
  padding:11px 13px;
  color:#045d5d;
  font-size:13px;
  font-weight:850;
  list-style:none;
  cursor:pointer;
}
.add-bed-panel summary::-webkit-details-marker { display:none; }
.add-bed-panel summary span { display:grid; place-items:center; width:23px; height:23px; border-radius:8px; background:#fff0e6; color:var(--orange); font-size:18px; line-height:1; }
.add-bed-panel[open] { border-style:solid; border-color:rgba(232,80,34,.35); box-shadow:0 8px 22px rgba(3,48,52,.07); }
.add-bed-panel[open] summary { border-bottom:1px solid #ebdfd7; color:#043d41; }
.add-bed-form { display:grid; grid-template-columns:minmax(110px,1.3fr) minmax(120px,1fr) 84px auto; align-items:end; gap:9px; padding:13px; background:var(--ivory); border-radius:0 0 13px 13px; }
.add-bed-submit { min-height:35px; padding:7px 13px; }

/* Écran de connexion */
.login-page {
  background:
    radial-gradient(circle at 84% 12%,rgba(246,129,51,.25),transparent 28%),
    linear-gradient(145deg,#e7f1ef,#fffaf5);
}
.login { border-top:5px solid var(--orange2); box-shadow:0 30px 80px rgba(3,48,52,.18); }

/* V0.6 — pièces génériques, photos de référence et couchages libres */
.property-overview .record-summary { grid-template-columns:repeat(4,minmax(0,1fr)); }
.add-room-panel {
  margin:18px 0;
  border:1px solid rgba(4,93,93,.2);
  border-radius:15px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--org-background),#fff 18%),color-mix(in srgb,var(--org-surface),#fff 8%));
  overflow:hidden;
}
.add-room-panel summary {
  display:flex;
  align-items:center;
  gap:9px;
  padding:13px 16px;
  color:#043d41;
  font-size:14px;
  font-weight:850;
  cursor:pointer;
  list-style:none;
}
.add-room-panel summary::-webkit-details-marker { display:none; }
.add-room-panel summary span { display:grid; place-items:center; width:26px; height:26px; border-radius:9px; background:var(--orange2); color:#fff; font-size:20px; }
.add-room-panel[open] summary { border-bottom:1px solid rgba(4,93,93,.13); }
.add-room-form { display:grid; grid-template-columns:minmax(180px,1.4fr) minmax(180px,1fr) auto; gap:12px; align-items:end; padding:15px; }
.room-empty { margin-top:14px; }
.modern-room-grid { grid-template-columns:repeat(auto-fit,minmax(420px,1fr)); }
.modern-room-card { display:flex; flex-direction:column; min-width:0; overflow:hidden; background:var(--org-surface); }
.room-photo-wrap { position:relative; height:210px; background:#dceae8; overflow:hidden; }
.room-photo { display:block; width:100%; height:100%; object-fit:cover; }
.room-photo-placeholder {
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  color:#44706f;
  background:
    linear-gradient(135deg,rgba(4,93,93,.08),rgba(246,129,51,.10)),
    repeating-linear-gradient(135deg,transparent 0 18px,rgba(255,255,255,.35) 18px 19px);
}
.room-photo-placeholder::before { content:""; width:54px; height:42px; border:2px solid #76a4a0; border-radius:12px; background:radial-gradient(circle at 70% 30%,var(--orange2) 0 4px,transparent 5px),linear-gradient(145deg,transparent 42%,#76a4a0 43% 48%,transparent 49%); }
.room-photo-placeholder span { position:absolute; margin-top:80px; font-size:12px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.room-photo-form { position:absolute; right:12px; bottom:12px; }
.photo-button { display:block; padding:8px 12px; border:1px solid rgba(255,255,255,.72); border-radius:10px; background:color-mix(in srgb,var(--dark),transparent 8%); color:#fff; box-shadow:0 5px 18px rgba(3,48,52,.22); font-size:12px; font-weight:850; cursor:pointer; backdrop-filter:blur(6px); }
.photo-button:hover { background:var(--orange); }
.photo-button input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.room-card-head { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:start; }
.room-name-form { display:grid; grid-template-columns:minmax(130px,1.4fr) minmax(130px,1fr) auto; align-items:end; gap:8px; min-width:0; }
.room-type-field label { color:#a9d2ce; }
.room-type-field select { min-height:35px; border-color:rgba(255,255,255,.22); background:#0b5b5b; color:#fff; }
.room-count { margin-top:17px; white-space:nowrap; }
.modern-bed-list { flex:1; }
.no-beds { width:100%; padding:13px; border:1px dashed #c5d9d6; border-radius:11px; color:#66817f; background:#fff; text-align:center; font-size:13px; }

/* Navigation claire : l'identité Intend'Up reste colorée */
.intendup-brand { margin:0 8px 22px; padding:8px 0; }
.side .brand { width:176px; max-height:58px; margin:0; filter:none; object-position:left center; }
.org-brand { display:flex; align-items:center; gap:10px; margin:0 7px 22px; padding:10px 11px; border:1px solid color-mix(in srgb,var(--org-primary),#fff 78%); border-radius:13px; background:var(--org-surface); box-shadow:0 5px 16px rgba(3,48,52,.055); color:var(--dark); font-size:12px; font-weight:850; letter-spacing:.035em; text-transform:uppercase; }
.org-brand img { width:34px; height:34px; border-radius:9px; object-fit:contain; background:#fff; }
.nav a { color:#335251; }
.nav a:hover { color:var(--dark); background:color-mix(in srgb,var(--org-primary),#fff 90%); }
.nav a.active { color:var(--dark); background:linear-gradient(90deg,color-mix(in srgb,var(--org-primary),#fff 84%),color-mix(in srgb,var(--org-accent),#fff 92%)); box-shadow:inset 4px 0 0 var(--org-accent); }
.side .side-foot.powered { color:#607775; }

/* Paramétrage de l'identité visuelle */
.branding-settings { border-top:4px solid var(--org-accent); }
.branding-layout { display:grid; grid-template-columns:minmax(300px,1.15fr) minmax(280px,1fr); gap:20px; align-items:stretch; }
.branding-logo-card { display:flex; align-items:center; gap:16px; padding:17px; border:1px solid var(--line); border-radius:15px; background:linear-gradient(135deg,color-mix(in srgb,var(--org-background),#fff 26%),var(--org-surface)); }
.branding-logo-preview { display:grid; flex:0 0 96px; place-items:center; width:96px; height:96px; border:1px solid color-mix(in srgb,var(--org-primary),#fff 75%); border-radius:18px; background:#fff; overflow:hidden; box-shadow:0 8px 22px rgba(3,48,52,.08); }
.branding-logo-preview img { width:100%; height:100%; object-fit:contain; padding:8px; }
.branding-logo-preview span { color:var(--org-primary); font-size:38px; font-weight:900; }
.upload-button { position:relative; cursor:pointer; }
.upload-button input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.color-settings { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:17px; border:1px solid var(--line); border-radius:15px; background:color-mix(in srgb,var(--org-background),#fff 34%); }
.color-settings .button { grid-column:1/-1; justify-self:start; }
.color-field { display:grid; gap:7px; color:var(--dark); font-weight:800; }
.color-control { display:flex; align-items:center; gap:9px; padding:8px; border:1px solid var(--line); border-radius:11px; background:#fff; }
.color-control input { width:44px; height:36px; padding:0; border:0; background:transparent; cursor:pointer; }
.color-control code { color:#526867; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }
.branding-actions { grid-column:1/-1; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.theme-presets { margin-top:16px; padding:16px; border:1px solid var(--line); border-radius:15px; background:color-mix(in srgb,var(--org-surface),var(--org-background) 28%); }
.theme-presets h3 { margin:0 0 12px; color:var(--dark); font-size:16px; }
.theme-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.theme-card { display:grid; gap:10px; padding:14px; border:1px solid var(--line); border-radius:14px; background:var(--org-surface); box-shadow:0 6px 18px rgba(3,48,52,.05); }
.theme-card strong { color:var(--dark); }
.theme-swatches { display:flex; gap:8px; }
.theme-swatches span { width:22px; height:22px; border-radius:8px; border:1px solid rgba(0,0,0,.08); display:block; }

@media (max-width:1080px) {
  .property-overview .record-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .modern-room-grid { grid-template-columns:1fr; }
}

@media (max-width:760px) {
  .top h1 { font-size:27px; }
  .add-bed-form { grid-template-columns:1fr; }
  .add-bed-submit { width:100%; }
  .room-card-head { background:linear-gradient(135deg,#043d41,#086764); }
  .property-overview .record-summary,.add-room-form,.room-name-form { grid-template-columns:1fr; }
  .modern-room-grid { grid-template-columns:minmax(0,1fr); }
  .room-photo-wrap { height:180px; }
  .room-card-head { grid-template-columns:auto minmax(0,1fr); }
  .room-count { grid-column:2; margin-top:5px; justify-self:start; }
  .branding-layout,.color-settings,.theme-grid { grid-template-columns:1fr; }
  .color-settings .button { grid-column:auto; width:100%; }
  .branding-logo-card { align-items:flex-start; }
}


/* Intend'Up 0.7.1 — paramètres e-mail par conciergerie */
.email-settings { border-top:4px solid var(--org-primary); }
.email-settings small { display:block; margin-top:5px; }
.email-usage-box { margin:16px 0; padding:14px 16px; border:1px solid var(--line); border-radius:13px; background:color-mix(in srgb,var(--org-background),#fff 35%); }
.email-usage-box .quota { display:block; margin-top:9px; }
.email-test-form { padding-top:14px; border-top:1px solid var(--line); }
.email-test-form .button[disabled] { opacity:.45; cursor:not-allowed; transform:none; }


/* Intend'Up 0.8.0 — portails séparés */
.owner-room-title { display:grid; gap:3px; min-width:0; color:#fff; }
.owner-room-title strong { font-size:16px; }
.owner-room-title small { color:#b9d8d5; font-size:12px; }
.owner-bed-card { grid-template-columns:30px minmax(0,1fr); align-items:center; }
.owner-bed-card > div { display:grid; gap:2px; }
.owner-bed-card small { color:var(--muted); }
.login > .muted { text-transform:none; letter-spacing:.02em; }

.portal-link-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.portal-link-grid > div { display:grid; gap:7px; padding:14px; border:1px solid var(--line); border-radius:13px; background:color-mix(in srgb,var(--org-surface),var(--org-background) 22%); }
.portal-link-grid code { overflow-wrap:anywhere; color:var(--dark); font-size:12px; }
@media(max-width:900px){.portal-link-grid{grid-template-columns:1fr;}}

/* 0.9.0 — automatic sender-domain onboarding */
.email-domain-setup{margin-top:18px;padding:18px;border:1px solid rgba(4,93,93,.18);border-radius:16px;background:rgba(255,255,255,.62);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 20px;align-items:center}
.email-domain-setup.ready{border-color:rgba(30,130,76,.28);background:rgba(30,130,76,.06)}
.email-domain-setup p{margin:5px 0 0}.email-domain-status{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.email-domain-setup form{margin:0}.email-domain-ok{font-weight:800}
@media(max-width:760px){.email-domain-setup{grid-template-columns:1fr}.email-domain-status{align-items:flex-start}}
