/* IntendUp consolidated stylesheet — 0.12.23. No @import chain. */

/* ===== Consolidated from app.css ===== */
:root{--dark:#043d41;--petrol:#045d5d;--light:#067978;--orange:#e85022;--orange2:#f68133;--soft:#f3f8f7;--line:#d5e3e1;--muted:#607070;--white:#fff;--shadow:0 12px 36px rgba(4,61,65,.09)}*{box-sizing:border-box}body{margin:0;background:var(--soft);color:#173536;font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--petrol)}button,input,select,textarea{font:inherit}.shell{min-height:100vh;display:grid;grid-template-columns:245px 1fr}.side{position:sticky;top:0;height:100vh;padding:28px 18px;background:linear-gradient(165deg,var(--dark),#065c5d);color:#fff}.brand{display:block;width:176px;max-height:58px;object-fit:contain;object-position:left center;filter:brightness(0) invert(1);margin:0 10px 34px}.org{margin:0 10px 22px;color:#c4e1df;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.nav a{display:block;color:#d9ecea;text-decoration:none;padding:11px 13px;border-radius:10px;margin:3px 0;font-weight:650}.nav a:hover,.nav a.active{color:#fff;background:rgba(255,255,255,.13)}.side-foot{position:absolute;bottom:22px;left:28px;right:28px;font-size:12px;color:#b9d5d3}.main{min-width:0;padding:34px}.top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin:0 0 24px}.top h1{margin:0;color:var(--dark);font-size:30px}.muted{color:var(--muted);font-size:13px}.user{background:#fff;border:1px solid var(--line);border-radius:99px;padding:8px 13px}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:20px;margin-bottom:16px;box-shadow:var(--shadow)}.card h2{margin:0 0 14px;color:var(--dark);font-size:19px}.kpi strong{display:block;color:var(--petrol);font-size:34px;line-height:1.1}.kpi span{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field label{display:block;color:var(--dark);font-weight:700;margin:0 0 5px}.field input,.field select,.field textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}.field.wide{grid-column:1/-1}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;padding:10px 15px;background:var(--petrol);color:#fff;text-decoration:none;font-weight:750;cursor:pointer}.button:hover{background:var(--light)}.button.secondary{background:#e7f1ef;color:var(--dark)}.button.orange{background:var(--orange)}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.list{width:100%;border-collapse:collapse}.list th{text-align:left;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em;padding:10px;border-bottom:1px solid var(--line)}.list td{padding:12px 10px;border-bottom:1px solid #eaf0ef;vertical-align:top}.pill{display:inline-block;border-radius:99px;padding:4px 8px;background:#e6f1ef;color:var(--dark);font-size:11px;font-weight:800}.pill.warn{background:#fff0e8;color:#a43c19}.notice{padding:13px 15px;border-radius:11px;background:#fff5ed;border-left:4px solid var(--orange);margin-bottom:16px}.success{background:#e8f4ef;border-left-color:var(--light)}details summary{cursor:pointer}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 85% 10%,rgba(246,129,51,.18),transparent 28%),linear-gradient(140deg,#edf7f5,#fff)}.login{width:min(430px,100%);background:#fff;padding:34px;border-radius:24px;border:1px solid var(--line);box-shadow:0 24px 70px rgba(4,61,65,.15)}.login img{display:block;width:230px;max-height:85px;object-fit:contain;margin:0 auto 26px}.login h1{color:var(--dark);margin:0 0 5px}.login .field{margin:13px 0}.onboarding{display:flex;gap:7px;flex-wrap:wrap}.step{padding:7px 10px;border-radius:99px;background:#edf3f2;color:var(--muted);font-size:12px}.step.done{background:#dff1eb;color:var(--dark)}.quota{height:8px;background:#e5efed;border-radius:99px;overflow:hidden;margin-top:7px}.quota i{display:block;height:100%;background:linear-gradient(90deg,var(--light),var(--orange2))}.team-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.check{border:1px solid var(--line);border-radius:9px;padding:8px}.empty{padding:28px;text-align:center;color:var(--muted)}@media(max-width:1000px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.team-choices{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.shell{display:block}.side{position:relative;height:auto;padding:16px}.brand{width:150px;margin:0 8px 12px}.org{margin:0 8px 10px}.nav{display:flex;overflow:auto;gap:4px}.nav a{white-space:nowrap}.side-foot{display:none}.main{padding:20px 14px}.top{display:block}.user{display:inline-block;margin-top:10px}.grid,.grid.two,.form{grid-template-columns:1fr}.field.wide{grid-column:auto}.card{overflow:auto}.team-choices{grid-template-columns:1fr}}


/* ===== Consolidated from v081.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}}


/* ===== Consolidated from v1123.css ===== */
/* Intend’Up 0.9.5 — séjours compacts, missions et validation */
.compact-room-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stay-room-card{border:1px solid var(--line);border-radius:14px;background:var(--org-surface);overflow:hidden;box-shadow:0 5px 16px rgba(3,48,52,.04)}.stay-room-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;background:color-mix(in srgb,var(--org-primary),#fff 91%)}.stay-room-head strong{color:var(--dark);font-size:14px}.select-room{font-size:11px;color:var(--muted);white-space:nowrap}.stay-bed-choices{display:flex;flex-wrap:wrap;gap:7px;padding:10px 12px}.stay-bed-choice{display:flex;align-items:center;gap:7px;padding:7px 9px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer}.stay-bed-choice span{display:grid}.stay-bed-choice b{font-size:12px}.stay-bed-choice small{font-size:10px;color:var(--muted)}.selected-capacity{grid-column:1/-1;padding:4px 2px}.stay-service-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.automatic-service,.daily-option{display:flex;gap:10px;align-items:flex-start;padding:12px 13px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--org-background),#fff 40%)}.automatic-service .auto-check{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--org-primary);color:#fff;font-weight:900;flex:0 0 24px}.automatic-service span:last-child,.daily-option span{display:grid;gap:3px}.automatic-service small,.daily-option small{color:var(--muted);font-size:11px}.daily-option{cursor:pointer;background:var(--org-surface)}.daily-option input{margin-top:4px}.secondary-option{grid-column:1/-1}.stay-list-section{margin-top:16px}.stay-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.stay-card{display:grid;gap:13px;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--org-surface);box-shadow:0 7px 20px rgba(3,48,52,.055)}.stay-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.stay-card h3{margin:2px 0 0;font-size:16px}.stay-card h3 a{color:var(--dark);text-decoration:none}.stay-card small{color:var(--muted)}.stay-ref{font-size:10px;color:var(--muted);letter-spacing:.05em;text-transform:uppercase}.stay-dates{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:9px;padding:9px 10px;border-radius:12px;background:color-mix(in srgb,var(--org-background),#fff 28%)}.stay-dates div{display:grid;gap:2px}.stay-dates span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.stay-dates b{font-size:13px;color:var(--dark)}.stay-arrow{font-size:15px!important;color:var(--org-accent)!important}.stay-meta{display:flex;flex-wrap:wrap;gap:6px}.stay-meta>span{font-size:11px}.service-chip{padding:5px 8px;border-radius:999px;background:color-mix(in srgb,var(--org-primary),#fff 88%);color:var(--dark);font-weight:750}.service-chip.accent{background:color-mix(in srgb,var(--org-accent),#fff 88%)}.stay-open{justify-self:end;color:var(--org-primary);font-size:12px;font-weight:850;text-decoration:none}.used-room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.used-room-card{padding:12px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--org-background),#fff 38%)}.used-room-card>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.used-bed-chip{padding:5px 8px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:11px}.stay-mission-list{display:grid;gap:8px}.stay-mission-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px}.stay-mission-row>div{display:grid;gap:2px}.stay-mission-row small{color:var(--muted)}.mission-review-actions{display:flex;gap:8px;margin-top:12px}.mission-review-actions form{margin:0}
@media(max-width:1050px){.stay-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.used-room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.compact-room-picker,.stay-service-options,.stay-card-grid,.used-room-grid{grid-template-columns:1fr}.stay-room-head{align-items:flex-start;flex-direction:column}.secondary-option{grid-column:auto}.stay-mission-row{align-items:flex-start;flex-direction:column}}

/* 0.9.6 - stay form reliability and polish */
.property-layout[hidden]{display:none!important}
.daily-option{align-items:center}
.daily-option input{margin:0;flex:0 0 auto;width:18px;height:18px;align-self:center}
.daily-option>span{min-width:0}
.stay-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:auto}
.stay-card-actions form{margin:0}
.stay-delete{border:0;background:transparent;color:#a23b32;font:inherit;font-size:11px;font-weight:800;cursor:pointer;padding:4px 0}
.stay-delete:hover{text-decoration:underline}

/* 0.9.7 - stay picker simplification and validation */
.stay-room-head{align-items:center}
.stay-room-head .room-capacity-status{font-size:11px;color:var(--muted);font-weight:700;white-space:nowrap}
.stay-bed-choice input{width:18px;height:18px;flex:0 0 auto;margin:0}
.room-guest-control{display:grid;grid-template-columns:minmax(150px,1fr) 82px;gap:6px 10px;align-items:center;padding:0 12px 12px}
.room-guest-control label{font-size:11px;font-weight:800;color:var(--dark)}
.room-guest-control input{width:82px;min-height:38px;padding:6px 8px;text-align:center}
.room-guest-control small{grid-column:1/-1;color:var(--muted);font-size:10px}
.stay-room-card.room-invalid{border-color:#d46b55;box-shadow:0 0 0 2px rgba(212,107,85,.08)}
.stay-capacity-summary{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 18px;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--org-background),#fff 20%);font-size:12px;color:var(--muted)}
.stay-capacity-summary strong{color:var(--dark)}
.stay-validation-message{grid-column:1/-1;display:none;padding:9px 11px;border-radius:10px;background:#fff3ef;color:#8b3b2b;font-size:11px;font-weight:700}
.stay-validation-message.visible{display:block}
.daily-option{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:10px}
.daily-option .daily-check-wrap{display:grid;place-items:center;width:24px;height:24px}
.daily-option .daily-check-wrap input{margin:0;width:18px;height:18px;align-self:auto}
.daily-option>span:last-child{align-self:center}
.stay-picker-help{margin:-2px 0 10px;color:var(--muted);font-size:11px}
@media(max-width:760px){.room-guest-control{grid-template-columns:1fr 76px}.stay-capacity-summary{flex-direction:column}}

/* 0.9.8 - alignment and localized dates */
.daily-option{display:flex!important;align-items:flex-start!important;gap:10px}
.daily-option .daily-check-wrap{display:flex!important;align-items:center!important;justify-content:center!important;width:20px!important;height:20px!important;flex:0 0 20px!important;margin-top:1px!important}
.daily-option .daily-check-wrap input{margin:0!important;width:18px!important;height:18px!important}
.daily-option>span:last-child{display:flex!important;flex-direction:column!important;gap:3px!important;align-self:auto!important}
.team-choices .check{display:flex;align-items:center;gap:8px;min-height:54px}
.team-choices .check input{margin:0;flex:0 0 auto;width:18px;height:18px}

/* 0.9.9 - mission team scheduling and field-team planning */
.assignment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px}.assignment-person{border:1px solid var(--line);border-radius:13px;padding:12px;background:var(--surface,#fff)}.assignment-person-check{display:flex;align-items:center;gap:9px;margin-bottom:10px}.assignment-person-check input{width:18px;height:18px;margin:0}.assignment-times{display:grid;grid-template-columns:1fr 1fr;gap:8px}.assignment-times label{font-size:12px;font-weight:700;color:var(--muted)}.assignment-times input{width:100%;margin-top:4px;padding:8px;border:1px solid var(--line);border-radius:8px}.mission-team-editor{display:grid;grid-template-columns:minmax(210px,.7fr) minmax(0,2.3fr);gap:14px;margin-top:12px}.mission-leader{align-self:start}.planning-list{display:grid;gap:10px;margin:14px 0}.planning-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;border:1px solid var(--line);border-radius:14px;padding:13px 15px;background:var(--surface,#fff)}.planning-card>div:first-child{display:flex;flex-direction:column}.planning-card strong{color:var(--dark)}.planning-card span{color:var(--muted)}.planning-time{display:flex;align-items:center;gap:7px;white-space:nowrap}.team-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.team-member-card{margin-bottom:0}.team-member-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.team-member-head h2{margin-bottom:3px}.team-access-form{display:flex;gap:10px;align-items:end;margin-top:14px}.team-access-form .field{flex:1}.team-access-form .button{white-space:nowrap}@media(max-width:900px){.assignment-grid,.team-admin-grid{grid-template-columns:1fr}.mission-team-editor{grid-template-columns:1fr}.planning-card{grid-template-columns:1fr}.planning-time{white-space:normal}.team-access-form{display:block}.team-access-form .button{margin-top:8px}}

/* 0.9.10 - checkbox spacing */
.assignment-person-check{column-gap:8px!important;gap:8px!important}.assignment-person-check input[type=checkbox]{margin:0 6px 0 0!important}


/* 0.9.11 - Google-calendar-style team planning and read-only property details */
.calendar-shell{overflow:hidden}.calendar-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px}.calendar-toolbar h2{margin-bottom:3px}.calendar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.button.small{padding:8px 12px;font-size:12px}.calendar-nav{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--dark);font-size:22px;background:var(--org-surface)}.calendar-view-switch{display:flex;padding:3px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--org-background),#fff 50%)}.calendar-view-switch a{padding:7px 11px;border-radius:8px;text-decoration:none;color:var(--muted);font-size:12px;font-weight:800}.calendar-view-switch a.active{background:var(--org-surface);color:var(--org-primary);box-shadow:0 2px 6px rgba(3,48,52,.08)}
.agenda-grid{display:grid;grid-template-columns:58px repeat(7,minmax(120px,1fr));border:1px solid var(--line);border-radius:15px;overflow:auto;min-width:900px;background:var(--org-surface)}.agenda-grid.days-1{grid-template-columns:58px minmax(600px,1fr);min-width:700px}.agenda-head-spacer{grid-column:1;grid-row:1;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--org-background),#fff 45%)}.agenda-day-head{grid-row:1;padding:10px 8px;text-align:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--org-background),#fff 45%)}.agenda-day-head span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.agenda-day-head b{font-size:15px}.agenda-day-head.today b{display:inline-grid;place-items:center;min-width:30px;height:30px;border-radius:50%;background:var(--org-primary);color:#fff}.agenda-hours{grid-column:1;grid-row:2;position:relative;height:1088px;border-right:1px solid var(--line);background:color-mix(in srgb,var(--org-background),#fff 60%)}.agenda-hours span{position:absolute;right:8px;transform:translateY(-7px);font-size:10px;color:var(--muted)}.agenda-day-column{grid-row:2;position:relative;height:1088px;border-right:1px solid var(--line);background:var(--org-surface)}.agenda-line{position:absolute;left:0;right:0;border-top:1px solid color-mix(in srgb,var(--line),transparent 20%)}.agenda-event{position:absolute;left:5px;right:5px;z-index:2;display:flex;flex-direction:column;gap:2px;padding:6px 8px;border-left:4px solid var(--org-accent);border-radius:8px;background:color-mix(in srgb,var(--org-primary),#fff 87%);color:var(--dark);text-decoration:none;overflow:hidden;box-shadow:0 3px 8px rgba(3,48,52,.08)}.agenda-event:hover{background:color-mix(in srgb,var(--org-primary),#fff 82%)}.agenda-event span{font-size:10px;font-weight:800}.agenda-event strong{font-size:12px;line-height:1.2}.agenda-event small{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-empty{margin-top:12px}
.month-grid{border:1px solid var(--line);border-radius:15px;overflow:hidden;background:var(--org-surface)}.month-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:color-mix(in srgb,var(--org-background),#fff 45%);border-bottom:1px solid var(--line)}.month-weekdays div{padding:10px;text-align:center;font-size:11px;font-weight:800;color:var(--muted);border-right:1px solid var(--line)}.month-days{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr))}.month-day{min-height:110px;padding:7px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--org-surface)}.month-day.outside{opacity:.38;background:color-mix(in srgb,var(--org-background),#fff 58%)}.month-day-number{display:grid;place-items:center;width:26px;height:26px;margin-left:auto;font-size:11px;font-weight:800}.month-day.today .month-day-number{border-radius:50%;background:var(--org-primary);color:#fff}.month-event{display:block;margin-top:4px;padding:5px 6px;border-radius:7px;background:color-mix(in srgb,var(--org-primary),#fff 88%);color:var(--dark);font-size:10px;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.month-event b{color:var(--org-primary)}
.team-mission-layout{display:grid;gap:14px}.mission-hero{display:flex;justify-content:space-between;gap:20px;align-items:center}.mission-hero h2{margin:8px 0 2px}.mission-property-name{margin:0;color:var(--muted);font-weight:750}.back-link{font-size:12px;text-decoration:none;color:var(--org-primary);font-weight:800}.mission-slot{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--org-background),#fff 30%);white-space:nowrap}.property-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.property-facts>div{display:grid;gap:4px;padding:12px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--org-background),#fff 48%)}.property-facts span{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.property-facts b{font-size:13px}.instruction-block+ .instruction-block{margin-top:12px}.instruction-block p{margin:5px 0 0;white-space:normal}.team-property-rooms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.team-room-card{display:flex;gap:11px;min-height:92px;padding:10px;border:1px solid var(--line);border-radius:13px;background:var(--org-surface)}.team-room-card img{width:92px;height:72px;object-fit:cover;border-radius:9px;background:var(--org-background)}.team-room-card>div{display:flex;flex-direction:column;gap:3px;min-width:0}.team-room-card>div>span{font-size:10px;color:var(--muted)}.room-bed-list{display:grid;gap:2px;margin-top:4px}.room-bed-list small{color:var(--muted)}
@media(max-width:900px){.calendar-toolbar,.mission-hero{flex-direction:column;align-items:stretch}.calendar-actions{justify-content:flex-start}.property-facts,.team-property-rooms{grid-template-columns:1fr 1fr}.mission-slot{white-space:normal}.month-days{min-width:760px}.month-grid{overflow:auto}}
@media(max-width:820px){.calendar-shell{padding:14px}.calendar-toolbar{gap:12px;margin-bottom:12px}.calendar-toolbar h2{margin-bottom:2px;font-size:18px}.calendar-period-title{display:block;font-size:15px;line-height:1.2;margin-bottom:4px}.calendar-toolbar p{margin:0;font-size:14px;line-height:1.45}.calendar-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}.calendar-actions .button.small{grid-column:1/-1;display:flex;align-items:center;justify-content:center;min-height:40px}.calendar-nav{width:100%;height:40px;font-size:20px}.calendar-view-switch{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.calendar-view-switch a{display:flex;align-items:center;justify-content:center;min-height:40px;padding:8px 6px;text-align:center}.month-grid{overflow:auto;-webkit-overflow-scrolling:touch}.month-weekdays,.month-days{min-width:630px}.month-weekdays div{padding:8px 4px;font-size:10px}.month-day{min-height:82px;padding:5px}.month-day-number{width:22px;height:22px;font-size:10px}.month-event{margin-top:3px;padding:3px 4px;font-size:9px;line-height:1.2}.month-event b{display:block;line-height:1.1}.agenda-grid.days-1{grid-template-columns:46px minmax(260px,1fr);min-width:0}.agenda-grid.days-1 .agenda-day-column,.agenda-grid.days-1 .agenda-day-head{min-width:260px}.agenda-hours{width:46px}.agenda-hours span{right:5px;font-size:9px}.agenda-event{left:3px;right:3px;padding:5px 6px}.agenda-event strong{font-size:11px}.agenda-event small{font-size:9px}.agenda-day-head{padding:9px 4px}.agenda-day-head b{font-size:13px}}
@media(max-width:650px){.property-facts,.team-property-rooms{grid-template-columns:1fr}.calendar-shell{padding:12px}.calendar-actions{grid-template-columns:1fr 1fr}.calendar-actions .button.small,.calendar-view-switch{grid-column:1/-1}.calendar-view-switch a{padding:8px 4px;font-size:11px}.agenda-grid{min-width:700px}.agenda-grid.days-1 .agenda-day-column,.agenda-grid.days-1 .agenda-day-head{min-width:220px}.month-weekdays,.month-days{min-width:560px}.month-day{min-height:74px;padding:4px}.team-room-card img{width:82px}}


/* 0.9.13 - mission completion report */
.mission-completion-card{display:grid;gap:14px}.completion-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.completion-head h2{margin-bottom:4px}.completion-head p{margin:0;color:var(--muted)}.completion-progress{display:flex;align-items:baseline;gap:8px;padding:9px 12px;border-radius:11px;background:color-mix(in srgb,var(--org-background),#fff 38%);width:max-content}.completion-progress strong{font-size:18px;color:var(--org-primary)}.completion-progress span{font-size:11px;color:var(--muted)}.completion-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.completion-photo-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--org-surface)}.completion-photo-card.done{border-color:color-mix(in srgb,var(--org-primary),#fff 40%)}.completion-photo-card>img,.completion-photo-card>.photo-placeholder{width:100%;height:150px;object-fit:cover;background:var(--org-background)}.completion-photo-card>.reference-ghost{filter:saturate(.65);opacity:.45}.photo-placeholder{display:grid;place-items:center;font-size:34px}.completion-photo-body{display:grid;gap:5px;padding:11px}.completion-photo-body>span{font-size:11px;color:var(--muted)}.photo-upload-button{display:inline-flex;width:max-content;margin-top:5px;padding:7px 10px;border-radius:9px;background:color-mix(in srgb,var(--org-primary),#fff 88%);color:var(--org-primary);font-size:11px;font-weight:800;cursor:pointer}.photo-upload-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.completion-submit{display:grid;gap:11px;padding-top:4px;border-top:1px solid var(--line)}.completion-submit .button{width:max-content}.completion-validation-note{font-size:11px;color:var(--muted)}.notice.subtle{background:color-mix(in srgb,var(--org-background),#fff 35%);color:var(--muted)}
@media(max-width:900px){.completion-photo-grid{grid-template-columns:1fr 1fr}.completion-head{flex-direction:column}}@media(max-width:620px){.completion-photo-grid{grid-template-columns:1fr}}


/* 0.9.14 — mobile-first portal + installable PWA */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-width:0}
img,video{max-width:100%;height:auto}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
.mobile-menu-toggle,.mobile-nav-overlay{display:none}
.pwa-install-button{display:none;margin:0 10px 0 0;padding:6px 9px;border:1px solid var(--line);border-radius:9px;background:color-mix(in srgb,var(--org-primary),#fff 92%);color:var(--org-primary);font-size:11px;font-weight:800;cursor:pointer}
.pwa-install-button:not([hidden]){display:inline-flex}
body.pwa-installed .pwa-install-button{display:none!important}

@media(max-width:820px){
  body{overflow-x:hidden;padding-bottom:env(safe-area-inset-bottom)}
  .shell{display:block;min-height:100dvh}
  .side{position:fixed!important;z-index:1001;top:0!important;left:0;width:min(82vw,310px);height:100dvh!important;padding:calc(20px + env(safe-area-inset-top)) 16px calc(18px + env(safe-area-inset-bottom));transform:translateX(-104%);transition:transform .22s ease;overflow-y:auto;overscroll-behavior:contain;box-shadow:18px 0 45px rgba(3,48,52,.22)}
  body.mobile-nav-open{overflow:hidden}
  body.mobile-nav-open .side{transform:translateX(0)}
  .side .brand{width:160px;margin:0 8px 18px}
  .side .org-brand{margin-bottom:13px}
  .side .nav{display:grid!important;overflow:visible!important;gap:4px}
  .side .nav a{white-space:normal!important;min-height:44px;display:flex;align-items:center;padding:11px 13px}
  .side-foot{display:flex!important;position:static!important;margin-top:24px;padding-top:18px;border-top:1px solid color-mix(in srgb,var(--org-primary),#fff 76%)}
  .mobile-nav-overlay{display:block;position:fixed;z-index:1000;inset:0;border:0;background:rgba(1,31,34,.42);opacity:0;pointer-events:none;transition:opacity .2s ease}
  body.mobile-nav-open .mobile-nav-overlay{opacity:1;pointer-events:auto}
  .main{padding:0 12px calc(30px + env(safe-area-inset-bottom))!important}
  .top{position:sticky;z-index:20;top:0;display:grid!important;grid-template-columns:44px minmax(0,1fr);align-items:center!important;gap:8px 10px;margin:0 -12px 15px!important;padding:calc(9px + env(safe-area-inset-top)) 12px 10px;background:color-mix(in srgb,var(--org-background),#fff 36%);border-bottom:1px solid var(--line);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
  .top>div:first-of-type{min-width:0}
  .top h1{font-size:21px!important;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .top h1::after{display:none!important}
  .top .muted{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .top .user{grid-column:1/-1;display:flex!important;align-items:center;justify-content:flex-end;gap:5px;min-width:0;margin:0!important;padding:5px 8px;font-size:11px;background:transparent;border:0;box-shadow:none}
  .mobile-menu-toggle{display:grid;place-items:center;align-content:center;gap:4px;width:42px;height:42px;padding:0;border:1px solid var(--line);border-radius:12px;background:var(--org-surface);box-shadow:0 4px 13px rgba(3,48,52,.08)}
  .mobile-menu-toggle span{display:block;width:18px;height:2px;border-radius:2px;background:var(--org-primary)}
  .card{padding:15px;border-radius:15px;margin-bottom:12px;overflow:visible!important}
  .card h2{font-size:17px}
  .grid,.grid.two,.form,.intendup-grid,.intendup-grid-2,.intendup-form-grid,.team-admin-grid,.assignment-grid,.property-facts,.team-property-rooms{grid-template-columns:1fr!important}
  .field.wide{grid-column:auto!important}
  .field input,.field select,.field textarea,.intendup-field input,.intendup-field select,.intendup-field textarea{min-height:44px;font-size:16px}
  textarea{min-height:110px!important}
  .button{min-height:44px;padding:10px 14px}
  .actions,.intendup-actions,.calendar-actions,.mission-review-actions{gap:7px}
  .actions .button,.mission-review-actions .button{flex:1 1 auto}
  .section-heading{display:block}
  .section-heading>*+*{margin-top:10px}
  .record-summary{grid-template-columns:1fr 1fr!important;gap:8px}
  .record-summary>div{padding:10px}
  .modern-room-grid,.compact-room-picker,.stay-service-options,.stay-card-grid,.used-room-grid,.completion-photo-grid{grid-template-columns:1fr!important}
  .modern-room-card:hover{transform:none}
  .stay-card{padding:12px}
  .stay-dates{gap:6px}
  .stay-card-actions{justify-content:space-between;align-items:center}
  .daily-option,.automatic-service{min-height:58px}
  .daily-option{align-items:center!important}
  .assignment-person{padding:10px}
  .assignment-times{grid-template-columns:1fr 1fr}
  .team-access-form{display:grid!important;grid-template-columns:1fr}
  .portal-link-grid{grid-template-columns:1fr!important}
  .portal-link-grid code{white-space:normal;word-break:break-all}
  .branding-layout,.theme-grid{grid-template-columns:1fr!important}
  .color-settings{grid-template-columns:1fr!important}
  .list-toolbar{position:static!important;margin-bottom:10px}
  .list-toolbar .button{width:100%}
  table.list{display:block;width:100%;border:0}
  table.list thead{display:none}
  table.list tbody{display:grid;gap:10px;width:100%}
  table.list tr{display:block;border:1px solid var(--line);border-radius:13px;background:var(--org-surface);box-shadow:0 4px 14px rgba(3,48,52,.04);overflow:hidden}
  table.list td{display:grid;grid-template-columns:minmax(92px,38%) minmax(0,1fr);gap:10px;padding:9px 11px!important;border-bottom:1px solid color-mix(in srgb,var(--line),transparent 35%)!important;word-break:break-word}
  table.list td:last-child{border-bottom:0!important}
  table.list td::before{content:attr(data-label);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.035em;color:var(--muted)}
  .table-filters{display:none!important}
  .calendar-shell{overflow:visible!important}
  .calendar-toolbar{display:grid!important;gap:10px;margin-bottom:12px}
  .calendar-actions{display:grid!important;grid-template-columns:40px 1fr 40px;align-items:center}
  .calendar-actions>.button.small{grid-column:1/-1}
  .calendar-view-switch{grid-column:1/-1;display:grid!important;grid-template-columns:repeat(3,1fr)}
  .calendar-view-switch a{text-align:center;padding:8px 5px!important}
  .agenda-grid,.agenda-grid.days-1{min-width:0!important;width:100%;display:grid;grid-template-columns:44px minmax(0,1fr)!important;overflow:hidden}
  .agenda-grid:not(.days-1) .agenda-day-head:not(.today),.agenda-grid:not(.days-1) .agenda-day-column:not([data-today="1"]){display:none}
  .agenda-head-spacer{grid-column:1!important}
  .agenda-day-head{grid-column:2!important}
  .agenda-hours{grid-column:1!important}
  .agenda-day-column{grid-column:2!important}
  .month-grid{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .month-days{min-width:680px!important}
  .planning-card{grid-template-columns:1fr!important;gap:8px;padding:12px}
  .mission-hero{display:grid!important;gap:10px}
  .mission-slot{white-space:normal!important}
  .completion-photo-card>img,.completion-photo-card>.photo-placeholder{height:210px}
  .photo-upload-button{min-height:44px;align-items:center}
  .completion-submit .button{width:100%}
  .login-page{padding:calc(18px + env(safe-area-inset-top)) 14px calc(76px + env(safe-area-inset-bottom))}
  .login{padding:24px 18px;border-radius:20px}
  .login img{width:190px;margin-bottom:20px}
  .login .button{width:100%}
  .login-powered{bottom:calc(14px + env(safe-area-inset-bottom))}
}

@media(max-width:480px){
  .record-summary{grid-template-columns:1fr!important}
  .assignment-times{grid-template-columns:1fr}
  .stay-dates{grid-template-columns:1fr;align-items:start}
  .stay-arrow{display:none}
  .top .user{justify-content:flex-start;flex-wrap:wrap}
  .pwa-install-button{margin-right:auto}
  table.list td{grid-template-columns:1fr;gap:2px}
}

@media(display-mode:standalone){
  body{overscroll-behavior-y:none}
  .pwa-install-button{display:none!important}
}
\n\n/* 0.9.16 — mobile/PWA production polish */\n.ios-install-hint{position:fixed;z-index:1400;inset:0;display:grid;align-items:end;padding:18px;background:rgba(1,31,34,.44)}\n.ios-install-hint>div{position:relative;max-width:520px;width:100%;margin:0 auto;padding:18px 48px 18px 18px;border-radius:18px;background:var(--org-surface,#fff);box-shadow:0 18px 55px rgba(3,48,52,.28)}\n.ios-install-hint strong{display:block;font-size:16px;color:var(--dark)}.ios-install-hint p{margin:6px 0 0;color:var(--muted);line-height:1.45;font-size:13px}.ios-install-hint button{position:absolute;top:9px;right:9px;width:34px;height:34px;border:0;border-radius:50%;background:color-mix(in srgb,var(--org-background),#fff 40%);font-size:22px;color:var(--dark)}\n.mobile-bottom-nav{display:none}\n@media(max-width:820px){\n  body[data-portal="proprietaire"],body[data-portal="equipe"]{padding-bottom:calc(78px + env(safe-area-inset-bottom))}\n  body[data-portal="proprietaire"] .main,body[data-portal="equipe"] .main{padding-bottom:calc(92px + env(safe-area-inset-bottom))!important}\n  .mobile-bottom-nav{position:fixed;z-index:900;left:10px;right:10px;bottom:calc(8px + env(safe-area-inset-bottom));display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:3px;padding:5px;border:1px solid color-mix(in srgb,var(--line),transparent 15%);border-radius:17px;background:color-mix(in srgb,var(--org-surface),transparent 4%);box-shadow:0 10px 30px rgba(3,48,52,.17);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}\n  .mobile-bottom-nav a{display:flex;align-items:center;justify-content:center;min-width:0;min-height:48px;padding:6px 5px;border-radius:12px;text-align:center;text-decoration:none;color:var(--muted);font-size:10px;font-weight:800;line-height:1.15;overflow:hidden}\n  .mobile-bottom-nav a.active{background:color-mix(in srgb,var(--org-primary),#fff 89%);color:var(--org-primary)}\n  body[data-portal="equipe"] .mobile-bottom-nav a{font-size:12px}\n  input[type="file"]{max-width:100%}\n  .photo-upload-button,.photo-button{touch-action:manipulation}\n  .calendar-shell{scroll-margin-top:86px}\n  .notice{overflow-wrap:anywhere}\n}\n@media(max-width:430px){\n  body[data-portal="proprietaire"] .mobile-bottom-nav a{font-size:9px;padding-inline:2px}\n  .mobile-bottom-nav{left:6px;right:6px;bottom:calc(5px + env(safe-area-inset-bottom))}\n}\n@media(hover:none) and (pointer:coarse){\n  .button,.nav a,.stay-bed-choice,.calendar-view-switch a,.calendar-nav,.photo-upload-button,.photo-button{min-height:44px}\n}\n
/* 0.9.17 - make team-leader assignments instantly visible in planning */
.agenda-event.is-leader{border-left-color:var(--org-primary);background:color-mix(in srgb,var(--org-accent),#fff 78%);box-shadow:0 4px 12px rgba(3,48,52,.14)}
.agenda-event.is-leader:hover{background:color-mix(in srgb,var(--org-accent),#fff 70%)}
.leader-badge{display:inline-flex!important;align-items:center;gap:4px;width:max-content;padding:2px 6px;border-radius:999px;background:var(--org-primary);color:#fff!important;font-size:9px!important;font-weight:900!important;line-height:1.2}
.month-event.is-leader{position:relative;padding-left:20px;background:color-mix(in srgb,var(--org-accent),#fff 78%);font-weight:800}
.month-event .leader-mark{position:absolute;left:6px;top:5px;color:var(--org-primary);font-size:11px;line-height:1}

/* 0.9.21 — account settings */
.account-gear{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;text-decoration:none;font-size:17px;line-height:1;color:var(--org-primary);background:color-mix(in srgb,var(--org-primary),transparent 91%);transition:.15s ease}
.account-gear:hover,.account-gear:focus-visible{background:var(--org-primary);color:#fff;transform:rotate(18deg)}
.user-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-sep{opacity:.45}.profile-form{margin-top:18px}.readonly-value{min-height:42px;display:flex;align-items:center;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--org-background),#fff 45%)}
@media(max-width:760px){.account-gear{width:34px;height:34px;font-size:19px}.profile-form .field{grid-column:1/-1}.profile-card .actions{display:grid;grid-template-columns:1fr}.profile-card .button{text-align:center}}


/* 0.9.22 — concierge mission table, sortable tabs */
.mission-list-card{padding:0;overflow:hidden}.mission-list-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:18px 18px 12px}.mission-list-head h2{margin:0 0 3px}.mission-tabs{display:flex;gap:5px;flex-wrap:wrap;padding:4px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--org-background),#fff 35%)}.mission-tab{border:0;background:transparent;color:var(--muted);padding:8px 12px;border-radius:9px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.mission-tab.active{background:var(--org-surface);color:var(--org-primary);box-shadow:0 2px 8px rgba(3,48,52,.08)}.mission-table-wrap{overflow-x:auto}.mission-table{width:100%;border-collapse:collapse;min-width:920px}.mission-table th{position:sticky;top:0;text-align:left;padding:10px 12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--org-background),#fff 42%);font-size:11px;text-transform:uppercase;letter-spacing:.035em;color:var(--muted);white-space:nowrap}.mission-table th[data-sort]{cursor:pointer;user-select:none}.mission-table th span{opacity:.45;margin-left:4px}.mission-table td{padding:11px 12px;border-bottom:1px solid color-mix(in srgb,var(--line),transparent 25%);vertical-align:middle;font-size:12px}.mission-table td small{display:block;color:var(--muted);margin-top:2px}.mission-row:hover{background:color-mix(in srgb,var(--org-primary),#fff 97%)}.mission-manage-button{border:0;background:transparent;color:var(--org-primary);font:inherit;font-size:12px;font-weight:850;cursor:pointer;padding:7px 8px;border-radius:8px}.mission-manage-button:hover{background:color-mix(in srgb,var(--org-primary),#fff 91%)}.mission-detail-row{display:none;background:color-mix(in srgb,var(--org-background),#fff 56%)}.mission-detail-row.open{display:table-row}.mission-detail-panel{padding:6px 4px 12px}.mission-detail-row td{padding:14px 18px 18px}.mission-detail-row[hidden]{display:none!important}
@media(max-width:820px){.mission-list-card{padding:0!important}.mission-list-head{display:grid;gap:12px;padding:14px}.mission-tabs{display:grid;grid-template-columns:repeat(2,1fr);width:100%}.mission-tab{text-align:center;min-height:40px}.mission-table{min-width:0;display:block}.mission-table thead{display:none}.mission-table tbody{display:grid;gap:9px;padding:0 12px 12px}.mission-table tr.mission-row{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:13px;background:var(--org-surface);box-shadow:0 4px 14px rgba(3,48,52,.04);overflow:hidden}.mission-table tr.mission-row td{display:grid;grid-template-columns:1fr;gap:2px;padding:9px 11px;border-bottom:1px solid color-mix(in srgb,var(--line),transparent 35%)}.mission-table tr.mission-row td::before{content:attr(data-label);font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.035em;color:var(--muted)}.mission-table tr.mission-row td:nth-child(1),.mission-table tr.mission-row td:nth-child(7){grid-column:1/-1}.mission-table tr.mission-row td:nth-last-child(1){border-bottom:0}.mission-manage-button{justify-self:start;padding-left:0}.mission-detail-row.open{display:block;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--org-background),#fff 45%)}.mission-detail-row.open td{display:block!important;padding:12px!important}.mission-detail-row.open td::before{display:none!important}.mission-team-editor{grid-template-columns:1fr!important}}

/* 0.9.23 — scalable concierge mission filters */
.mission-filters{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;padding:12px 18px 16px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--org-background),#fff 62%)}.mission-filters .field{margin:0}.mission-filters label{display:block;margin:0 0 5px;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.035em;color:var(--muted)}.mission-filters input,.mission-filters select{width:100%;min-height:38px;padding:7px 9px;border:1px solid var(--line);border-radius:9px;background:var(--org-surface);color:var(--text);font:inherit;font-size:12px}.mission-filter-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:12px}.mission-filter-count{font-size:11px;font-weight:800;color:var(--muted)}
@media(max-width:980px){.mission-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.mission-filters{grid-template-columns:1fr;padding:12px 14px}.mission-filter-actions{justify-content:space-between}.mission-filter-actions .button{min-height:40px}}

/* 0.10.0 — tenant billing */
.billing-kpis{grid-template-columns:repeat(5,minmax(130px,1fr))}.billing-kpis article strong{font-size:20px}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{width:100%;border-collapse:collapse;min-width:840px}.data-table th,.data-table td{padding:10px 11px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;font-size:12px}.data-table th{font-size:10px;text-transform:uppercase;letter-spacing:.035em;color:var(--muted);background:color-mix(in srgb,var(--org-background),#fff 50%)}.inline-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.button.small{min-height:34px;padding:6px 10px;font-size:11px}.mark-paid-form{display:flex;gap:5px;align-items:center}.mark-paid-form input{width:110px;min-height:34px;padding:5px 7px;border:1px solid var(--line);border-radius:8px}.compact-form{margin-top:10px}.billing-rule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.mini-card{border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--org-surface);box-shadow:0 4px 14px rgba(3,48,52,.04)}.mini-card>.field{margin-top:8px}.billing-property{border:1px solid var(--line);border-radius:13px;margin:10px 0;background:var(--org-surface);overflow:hidden}.billing-property summary{cursor:pointer;padding:13px 14px;background:color-mix(in srgb,var(--org-background),#fff 55%)}.rate-grid{padding:8px 12px}.rate-row{display:grid;grid-template-columns:minmax(220px,1.4fr) 130px 120px 100px auto;gap:9px;align-items:end;padding:10px 0;border-bottom:1px solid color-mix(in srgb,var(--line),transparent 30%)}.rate-row:last-child{border-bottom:0}.rate-row>div:first-child input{width:100%;margin-top:6px;min-height:36px;border:1px solid var(--line);border-radius:8px;padding:6px 8px}.rate-row .field{margin:0}.rate-row select,.rate-row .field input{width:100%;min-height:36px}.billing-settings-form textarea{min-height:76px}.checkbox-line{align-self:end}.invoice-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.invoice-amount{font-size:24px;font-weight:900;margin:12px 0;color:var(--org-primary)}
@media(max-width:1100px){.billing-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.rate-row{grid-template-columns:1fr 1fr 1fr}.rate-row>div:first-child{grid-column:1/-1}.rate-row .button{align-self:end}}
@media(max-width:700px){.billing-kpis{grid-template-columns:1fr 1fr}.mark-paid-form{display:grid;grid-template-columns:1fr 1fr}.mark-paid-form .button{grid-column:1/-1}.rate-row{grid-template-columns:1fr}.rate-row>div:first-child{grid-column:auto}.billing-rule-grid{grid-template-columns:1fr}.invoice-cards{grid-template-columns:1fr}.billing-settings-form .field{grid-column:1/-1}}


/* 0.10.1 — account header actions */
.user{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.user-name{font-weight:800;color:var(--dark)}
.user-action{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 12px;border-radius:999px;border:1px solid color-mix(in srgb,var(--line),transparent 10%);background:var(--org-surface);color:var(--dark);text-decoration:none;font-size:12px;font-weight:800;box-shadow:0 4px 14px rgba(3,48,52,.06);transition:transform .15s ease,box-shadow .15s ease,background .15s ease,color .15s ease,border-color .15s ease}
.user-action:hover,.user-action:focus-visible{transform:translateY(-1px);box-shadow:0 8px 18px rgba(3,48,52,.1);outline:none}
.user-action-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;flex:0 0 26px}
.user-action-icon svg{width:15px;height:15px;display:block}
.user-action-account{border-color:color-mix(in srgb,var(--org-primary),transparent 75%)}
.user-action-account .user-action-icon{background:color-mix(in srgb,var(--org-primary),#fff 88%);color:var(--org-primary)}
.user-action-account:hover,.user-action-account:focus-visible{background:color-mix(in srgb,var(--org-primary),#fff 95%)}
.user-action-logout{border-color:color-mix(in srgb,var(--org-accent),transparent 78%)}
.user-action-logout .user-action-icon{background:color-mix(in srgb,var(--org-accent),#fff 88%);color:var(--org-accent)}
.user-action-logout:hover,.user-action-logout:focus-visible{background:color-mix(in srgb,var(--org-accent),#fff 95%)}
.account-gear,.user-sep{display:none!important}
@media(max-width:760px){.user{justify-content:flex-start}.user-action{min-height:36px;padding:0 10px;font-size:11px}.user-action-label{display:none}.user-action-icon{width:28px;height:28px;flex-basis:28px}.user-name{max-width:100%}}

/* 0.10.4 — sidebar scrolling */
@media(min-width:821px){
  .side{display:flex!important;flex-direction:column;overflow:hidden!important}
  .side .intendup-brand,.side .org-brand{flex:0 0 auto}
  .side .nav{flex:1 1 auto;min-height:0;overflow-y:auto!important;overflow-x:hidden!important;padding-right:5px;margin-right:-5px;overscroll-behavior:contain;scrollbar-gutter:stable}
  .side .nav::-webkit-scrollbar{width:7px}
  .side .nav::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--org-primary),transparent 72%);border-radius:99px}
  .side .nav::-webkit-scrollbar-track{background:transparent}
  .side .side-foot.powered{position:static!important;left:auto!important;right:auto!important;bottom:auto!important;flex:0 0 auto;margin-top:12px;padding-top:12px}
}


/* 0.10.5 — modern billing KPI cards */
.billing-kpis{display:grid;grid-template-columns:repeat(5,minmax(170px,1fr));gap:12px;margin-bottom:18px}
.billing-kpi-card{display:flex;align-items:center;gap:12px;padding:14px 15px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--org-background),#fff 36%));box-shadow:0 8px 22px rgba(3,48,52,.06);transition:transform .15s ease,box-shadow .15s ease}
.billing-kpi-card:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(3,48,52,.09)}
.billing-kpi-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;border-radius:14px;font-size:20px;font-weight:900;line-height:1}
.billing-kpi-body{display:grid;gap:4px;min-width:0}
.billing-kpi-label{font-size:10px;font-weight:850;letter-spacing:.055em;text-transform:uppercase;color:var(--muted)}
.billing-kpi-value{display:block;font-size:28px;line-height:1.02;font-weight:900;color:var(--dark);word-break:break-word}
.billing-kpi--invoiced .billing-kpi-icon{background:color-mix(in srgb,var(--org-primary),#fff 88%);color:var(--org-primary)}
.billing-kpi--paid .billing-kpi-icon{background:#e8f7ee;color:#23814e}
.billing-kpi--outstanding .billing-kpi-icon{background:#eef3fb;color:#456a9c}
.billing-kpi--overdue .billing-kpi-icon{background:#fff0e8;color:#b14b24}
.billing-kpi--pending .billing-kpi-icon{background:color-mix(in srgb,var(--org-accent),#fff 87%);color:var(--org-accent)}
@media(max-width:1100px){.billing-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.billing-kpis{grid-template-columns:1fr}.billing-kpi-card{padding:13px 14px}.billing-kpi-value{font-size:24px}}

/* 0.10.6 — compact dashboards and scalable billing configuration */
.portal-kpis{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;margin:16px 0 18px}
.portal-kpi-card{display:flex;align-items:center;gap:12px;padding:14px 15px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--org-background),#fff 38%));box-shadow:0 8px 22px rgba(3,48,52,.06)}
.portal-kpi-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 42px;border-radius:13px;background:color-mix(in srgb,var(--org-primary),#fff 88%);color:var(--org-primary);font-size:20px;font-weight:900}
.portal-kpi-card>div{display:grid;gap:3px}.portal-kpi-card span:not(.portal-kpi-icon){font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:850}.portal-kpi-card strong{font-size:27px;line-height:1;color:var(--dark)}
.billing-table-card{padding-bottom:14px}.billing-data-table th,.billing-data-table td{white-space:nowrap}.billing-data-table td:nth-child(2),.billing-data-table td:nth-child(3),.billing-data-table td:nth-child(4){white-space:normal}
.billing-inline-filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 12px}.billing-inline-filters input,.billing-inline-filters select{min-height:38px;padding:7px 10px;border:1px solid var(--line);border-radius:10px;background:var(--org-surface);color:var(--text);font:inherit;font-size:12px}.billing-inline-filters input{min-width:220px;flex:1 1 240px}.billing-inline-filters select{min-width:160px}
.billing-configuration h3{margin:20px 0 10px}.billing-config-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--org-background),#fff 50%);margin-bottom:18px}.billing-config-summary>div{display:flex;align-items:center;gap:10px}.billing-config-summary small{display:block;color:var(--muted);margin-top:2px}
.config-status{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;border-radius:50%;font-size:13px;font-weight:900}.config-status.ready{background:#e5f5eb;color:#1f7a49}.config-status.missing{background:#fff0e5;color:#b24d20}
.billing-rate-scroll{max-height:560px;border:1px solid var(--line);border-radius:12px}.billing-rate-scroll .data-table{margin:0}.billing-rate-scroll thead th{position:sticky;top:0;z-index:2}
.billing-dialog{width:min(820px,calc(100vw - 28px));max-height:min(86vh,860px);overflow:auto;border:0;border-radius:20px;padding:20px;background:var(--org-surface);color:var(--text);box-shadow:0 30px 80px rgba(3,48,52,.28)}.billing-dialog-small{width:min(620px,calc(100vw - 28px))}.billing-dialog::backdrop{background:rgba(3,35,38,.42);backdrop-filter:blur(3px)}.billing-dialog .form{margin:0}.dialog-head{grid-column:1/-1;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:6px;padding-bottom:12px;border-bottom:1px solid var(--line)}.dialog-head h2{margin:0}.dialog-head p{margin:4px 0 0;color:var(--muted);font-size:12px}.dialog-close{display:flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 34px;border:0;border-radius:50%;background:color-mix(in srgb,var(--org-background),#fff 25%);font-size:22px;cursor:pointer;color:var(--dark)}
@media(max-width:1100px){.portal-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.portal-kpis{grid-template-columns:1fr 1fr}.billing-inline-filters{display:grid;grid-template-columns:1fr}.billing-inline-filters input,.billing-inline-filters select{min-width:0;width:100%}.billing-config-summary{align-items:flex-start}.billing-dialog{padding:15px}.billing-dialog .field{grid-column:1/-1}.billing-rate-scroll{max-height:none}}
@media(max-width:460px){.portal-kpis{grid-template-columns:1fr}.portal-kpi-card{padding:12px 13px}}

/* 0.10.7 — scalable billing groups and compact rate configuration */
.billable-group-table td small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.billing-progress{display:grid;gap:5px;min-width:86px}.billing-progress>span{font-size:12px;color:var(--dark)}.billing-progress>i{display:block;height:6px;border-radius:999px;background:color-mix(in srgb,var(--line),#fff 30%);overflow:hidden}.billing-progress>i>em{display:block;height:100%;border-radius:inherit;background:var(--org-primary)}
.billing-property-groups{display:grid;gap:14px}.billing-property-group{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--org-surface);box-shadow:0 5px 16px rgba(3,48,52,.04)}.billing-property-group-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:color-mix(in srgb,var(--org-background),#fff 42%);border-bottom:1px solid var(--line)}.billing-property-group-head>div{display:grid;gap:2px}.billing-property-group-head strong{font-size:14px;color:var(--dark)}.billing-property-group-head small{font-size:10px;color:var(--muted)}.billing-rate-compact{min-width:760px}.billing-rate-compact td{padding-top:9px;padding-bottom:9px}.billing-state-badge{display:inline-flex;align-items:center;min-height:25px;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:850;white-space:nowrap}.billing-state-badge.missing{background:#fff0e8;color:#a84722}.billing-state-badge.inherited{background:#edf6f5;color:var(--org-primary)}.billing-state-badge.override{background:#f1eefb;color:#6651a5}.billing-state-badge.ready{background:#e8f7ee;color:#24784a}.billing-price{display:block;font-size:13px;font-weight:900;color:var(--dark)}.billing-rate-compact td small{display:block;margin-top:2px;color:var(--muted);font-size:9px}.billing-missing-price{display:inline-flex;padding:4px 7px;border-radius:8px;background:#fff0e8;color:#a84722;font-size:10px;font-weight:850}.billing-rule-line{display:block;font-size:11px;font-weight:800;color:var(--dark);white-space:nowrap}
@media(max-width:760px){.billable-group-table{min-width:720px}.billing-property-group{border-radius:13px}.billing-property-group-head{padding:11px 12px}.billing-rate-compact{min-width:680px}}


/* 0.10.9 — per-property service activation */
.billing-state-badge.disabled{background:#f1f2f2;color:#6c7475}
.billing-disabled-text{color:var(--muted);font-size:11px;font-weight:750}
.billing-service-toggle{display:flex;align-items:flex-start;gap:11px;padding:12px 13px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--org-background),#fff 46%);cursor:pointer}
.billing-service-toggle input{width:19px;height:19px;margin:1px 0 0;flex:0 0 auto}
.billing-service-toggle span{display:grid;gap:2px}.billing-service-toggle strong{font-size:13px}.billing-service-toggle small{color:var(--muted);font-size:10px}

/* 0.11.0 — lighter concierge management with record tabs */
.record-tabs{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 16px;padding:5px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--org-background),#fff 45%)}
.record-tabs a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 14px;border-radius:10px;color:var(--muted);text-decoration:none;font-size:12px;font-weight:850;transition:.15s ease}
.record-tabs a:hover{color:var(--org-primary);background:color-mix(in srgb,var(--org-primary),#fff 94%)}
.record-tabs a.active{background:var(--org-surface);color:var(--org-primary);box-shadow:0 3px 10px rgba(3,48,52,.08)}
.settings-tabs{position:sticky;z-index:12;top:78px;background:color-mix(in srgb,var(--org-background),#fff 20%);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.property-billing-table td small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.property-billing-table td:nth-child(5){min-width:260px}
.config-badge{display:inline-flex;align-items:center;min-height:26px;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:850;white-space:nowrap}.config-badge.ready{background:#e8f7ee;color:#24784a}.config-badge.missing{background:#fff0e8;color:#a84722}.config-badge.neutral{background:#f1f2f2;color:#6c7475}
.billing-command-card .section-heading{align-items:center}.management-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.management-shortcuts a{display:grid;gap:4px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--org-surface);color:var(--dark);text-decoration:none;box-shadow:0 4px 14px rgba(3,48,52,.04)}.management-shortcuts a:hover{border-color:color-mix(in srgb,var(--org-primary),#fff 55%);transform:translateY(-1px)}.management-shortcuts span{color:var(--muted);font-size:11px;line-height:1.35}
.clickable-table tbody tr[data-href]{cursor:pointer}.clickable-table tbody tr[data-href]:hover{background:color-mix(in srgb,var(--org-primary),#fff 96%)}
.invoice-format-preview{margin-top:8px;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--org-background),#fff 38%);font-size:12px;color:var(--muted)}.invoice-format-preview strong{color:var(--dark)}
@media(max-width:820px){.record-tabs{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.record-tabs::-webkit-scrollbar{display:none}.record-tabs a{white-space:nowrap}.settings-tabs{top:112px}.management-shortcuts{grid-template-columns:1fr}.property-billing-table{min-width:760px}}

/* 0.11.1 — lifecycle status controls */
.status-filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.status-filter-bar .button.active{background:var(--org-primary);color:#fff;border-color:var(--org-primary)}.status-management{display:flex;align-items:center;justify-content:space-between;gap:16px}.status-management .section-heading{flex:1;margin:0;padding:0;border:0}.button.danger-soft{background:#fff3ef;color:#9d3e27;border-color:#efc0ae}.button.danger-soft:hover{background:#ffe7df}.pill.success{background:#e7f5ec;color:#247248}.pill.warn{background:#fff0e8;color:#a94c28}@media(max-width:700px){.status-management{align-items:flex-start;flex-direction:column}.status-filter-bar{display:grid;grid-template-columns:repeat(3,1fr)}}

/* 0.11.5 — billing dashboard period filter */
.billing-period-card{margin-bottom:14px;padding:15px 16px}.billing-period-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:12px}.billing-period-head h2{margin:0 0 3px}.billing-period-head p{margin:0;color:var(--muted);font-size:11px}.billing-period-head>strong{white-space:nowrap;padding:7px 10px;border-radius:10px;background:color-mix(in srgb,var(--org-primary),#fff 90%);color:var(--org-primary);font-size:12px}.billing-period-form{display:flex;align-items:end;gap:9px;flex-wrap:wrap}.billing-period-form .field{margin:0;min-width:150px}.billing-period-form .field label{font-size:10px}.billing-period-form input[type=date]{min-height:38px}.billing-period-presets{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}
@media(max-width:820px){.billing-period-head{display:grid;gap:8px}.billing-period-head>strong{width:max-content}.billing-period-form{display:grid;grid-template-columns:1fr 1fr}.billing-period-form>.button{align-self:end}.billing-period-presets{grid-column:1/-1;margin-left:0}.billing-period-presets .button{flex:1 1 auto;text-align:center}}
@media(max-width:520px){.billing-period-form{grid-template-columns:1fr}.billing-period-presets{grid-column:auto}.billing-period-presets .button{flex:1 1 45%}}

/* 0.11.6 — service catalogue */
.service-catalog-intro{margin-bottom:16px}
.service-catalog-table td small{display:block;margin-top:4px;color:var(--muted,#6b7280)}
.service-catalog-table tr.is-inactive{opacity:.62}
.service-catalog-table .config-badge{white-space:nowrap}
.service-catalog-table th:nth-child(4),.service-catalog-table td:nth-child(4),.service-catalog-table th:nth-child(5),.service-catalog-table td:nth-child(5){text-align:right}
@media(max-width:760px){.service-catalog-table{min-width:760px}}
/* 0.11.7 - Excel service catalog import */
.import-catalog-card{margin-top:16px}.import-upload-form{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.import-upload-form input[type=file]{flex:1;min-width:260px;border:1px dashed var(--line,#d7dde5);border-radius:12px;padding:14px;background:var(--surface,#fff)}.import-preview-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:8px 0 14px}.import-preview-head span{color:var(--muted,#667085);font-size:.92rem}.import-preview-table{max-height:420px;overflow:auto;border:1px solid var(--line,#e4e7ec);border-radius:12px}.import-confirm-form{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:16px;flex-wrap:wrap}.service-catalog-table td small{display:block;margin-top:3px}
@media(max-width:760px){.import-preview-head{align-items:flex-start;flex-direction:column}.import-confirm-form{align-items:flex-start;flex-direction:column}}
.inline-delete-form{display:inline-flex;margin:0}.service-catalog-table .actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}


/* 0.11.9 — unified action icons and portal feedback */
.row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.icon-action{width:38px;height:38px;min-width:38px;border:1px solid rgba(18,53,55,.18);border-radius:12px;background:var(--org-surface,#fff);color:var(--org-primary,#164c4c);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;text-decoration:none;box-shadow:0 5px 14px rgba(30,48,47,.08);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease;color .15s ease;padding:0}
.icon-action svg{width:18px;height:18px;display:block;pointer-events:none}
.icon-action:hover,.icon-action:focus-visible{transform:translateY(-1px);box-shadow:0 8px 18px rgba(30,48,47,.14);border-color:color-mix(in srgb,var(--org-primary,#164c4c) 40%,transparent);outline:none}
.icon-action.danger{color:#a23b32;border-color:rgba(162,59,50,.18);background:#fffafa}
.icon-action.danger:hover,.icon-action.danger:focus-visible{background:#fff1ef;border-color:rgba(162,59,50,.42)}
.inline-delete-form{display:inline-flex;margin:0}
.stay-card-actions.row-actions{justify-content:flex-end}
.notice{position:relative;border-left:4px solid #c69a2b}
.notice.notice-success,.notice.success{border-left-color:#2f8f63;background:#f1fbf6}
.notice.notice-error{border-left-color:#b94a48;background:#fff4f2;color:#6f2725}
.notice.notice-warning{border-left-color:#c68a23;background:#fff9ed}
.notice.notice-info{border-left-color:var(--org-primary,#164c4c);background:#f2f8f8}
.notice.notice-success::before,.notice.notice-error::before,.notice.notice-warning::before,.notice.notice-info::before{font-weight:900;margin-right:8px}
.notice.notice-success::before{content:'✓'}
.notice.notice-error::before{content:'!'}
.notice.notice-warning::before{content:'!'}
.notice.notice-info::before{content:'i'}
@media(max-width:720px){.icon-action{width:42px;height:42px;min-width:42px;border-radius:13px}.row-actions{gap:6px}}

.summary-icon{display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;color:var(--org-primary,#164c4c);vertical-align:middle;margin-right:7px}.summary-icon svg{width:17px;height:17px;display:block}.edit-panel>summary{display:flex;align-items:center;gap:2px}

/* 0.11.10 — clickable tables and compact row actions */
.list tbody tr.clickable-row,
.data-table tbody tr.clickable-row,
.data-table tbody tr.clickable-dialog-row,
.mission-table tbody tr.clickable-toggle-row{cursor:pointer;transition:background .15s ease,box-shadow .15s ease}
.list tbody tr.clickable-row:hover,
.data-table tbody tr.clickable-row:hover,
.data-table tbody tr.clickable-dialog-row:hover,
.mission-table tbody tr.clickable-toggle-row:hover{background:color-mix(in srgb,var(--org-primary),#fff 96%)}
.list tbody tr.clickable-row:focus-visible,
.data-table tbody tr.clickable-row:focus-visible{outline:2px solid var(--org-accent);outline-offset:-2px}
.record-link{color:var(--org-primary);font-weight:800;text-decoration:none}
.record-link:hover{text-decoration:underline;text-underline-offset:2px}
.icon-action,.mission-manage-button.icon-action{width:34px;height:34px;min-width:34px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--line);border-radius:10px;background:var(--org-surface);color:var(--org-primary);cursor:pointer;box-shadow:0 2px 8px rgba(3,48,52,.06);transition:transform .12s ease,background .12s ease,border-color .12s ease}
.icon-action svg,.mission-manage-button.icon-action svg{width:17px;height:17px;display:block}
.icon-action:hover,.mission-manage-button.icon-action:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--org-primary),#fff 93%);border-color:color-mix(in srgb,var(--org-primary),var(--line) 55%)}
.icon-action.danger{color:#a8342d;background:#fff8f7;border-color:#efd0cd}
.icon-action.danger:hover{background:#fff0ee;border-color:#e4aaa5}
.row-actions,.inline-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.invoice-register .inline-actions form{display:inline-flex;margin:0}
.invoice-register .mark-paid-form{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.invoice-register .mark-paid-form input{min-width:120px;max-width:150px}
@media(max-width:820px){.icon-action,.mission-manage-button.icon-action{width:38px;height:38px;min-width:38px}.record-link{display:inline-block;min-height:24px}.mission-table tr.mission-row{cursor:pointer}}
/* 0.11.11 — scalable mission drawer + team picker */
.clickable-mission-row{cursor:pointer}.clickable-mission-row:hover{background:rgba(21,77,76,.035)}.mission-team-summary{font-weight:700;color:var(--brand-primary,#154d4c)}
.mission-drawer-backdrop,.mission-team-modal-backdrop{position:fixed;inset:0;background:rgba(10,24,24,.32);backdrop-filter:blur(2px);z-index:1090}.mission-drawer{position:fixed;top:0;right:0;width:min(520px,94vw);height:100dvh;background:var(--brand-surface,#fff);box-shadow:-18px 0 50px rgba(0,0,0,.18);z-index:1100;transform:translateX(105%);transition:transform .22s ease;display:flex;flex-direction:column}.mission-drawer.open{transform:translateX(0)}.mission-drawer-head,.mission-team-modal-head{display:flex;justify-content:space-between;gap:16px;padding:24px 26px 18px;border-bottom:1px solid #e2e7e5}.mission-drawer-head h3,.mission-team-modal-head h3{margin:3px 0 0;font-size:1.35rem}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#6d807e}.mission-drawer-body{padding:22px 26px 34px;overflow:auto;display:grid;gap:24px}.mission-drawer-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mission-drawer-meta>div{padding:12px;border:1px solid #e2e7e5;border-radius:12px;background:#fbfcfb}.mission-drawer-meta b,.mission-drawer-meta span{display:block}.mission-drawer-meta b{font-size:.72rem;text-transform:uppercase;color:#71807e;margin-bottom:5px}.mission-drawer-section{border-top:1px solid #edf0ef;padding-top:20px}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-title-row h4{margin:0}.button.compact{padding:8px 12px;min-height:36px;font-size:.88rem}.mission-assigned-list{display:grid;gap:8px}.assigned-chip{display:flex;justify-content:space-between;gap:12px;border:1px solid #e4e8e6;border-radius:12px;padding:11px 13px;background:#fff}.assigned-chip.leader{border-color:rgba(192,143,31,.42);background:rgba(192,143,31,.07)}.assigned-chip small{color:#6e7c7a}.compact-empty{padding:16px}.mission-review-card{border:1px solid #f0d8ae;background:#fff8eb;border-radius:14px;padding:16px}
.mission-team-modal{position:fixed;z-index:1120;left:50%;top:50%;width:min(820px,94vw);max-height:92dvh;transform:translate(-50%,-48%) scale(.98);opacity:0;pointer-events:none;background:var(--brand-surface,#fff);border-radius:20px;box-shadow:0 24px 70px rgba(0,0,0,.24);transition:.18s ease;overflow:hidden}.mission-team-modal.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.mission-team-modal form{display:flex;flex-direction:column;max-height:92dvh}.mission-team-modal-body{padding:20px 24px;overflow:auto}.mission-team-modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid #e4e8e6;background:#fbfcfb}.team-picker-toolbar{display:grid;grid-template-columns:1fr auto;gap:12px;margin-bottom:14px}.team-picker-tabs{display:flex;border:1px solid #dce3e1;border-radius:12px;padding:3px;background:#f7f9f8}.team-picker-tab{border:0;background:transparent;border-radius:9px;padding:8px 12px;font-weight:700;cursor:pointer}.team-picker-tab.active{background:#fff;box-shadow:0 1px 5px rgba(0,0,0,.09)}.team-picker-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:290px;overflow:auto;padding:2px}.team-picker-person{display:grid;grid-template-columns:auto 34px 1fr;align-items:center;gap:10px;padding:10px 12px;border:1px solid #dfe5e3;border-radius:12px;cursor:pointer;background:#fff}.team-picker-person.selected{border-color:var(--brand-primary,#154d4c);background:rgba(21,77,76,.05)}.team-picker-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#eef2f1;font-weight:800;color:#355b58}.team-picker-name{font-weight:700}.team-picker-settings{margin-top:20px;padding-top:18px;border-top:1px solid #e7ebe9;display:grid;gap:14px}.team-common-time{display:grid;grid-template-columns:1fr 1fr;gap:12px}.switch-line{display:flex;align-items:center;gap:9px;font-weight:700}.selected-schedules{display:grid;gap:8px}.selected-schedule-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(190px,1.3fr) auto minmax(190px,1.3fr);gap:8px;align-items:center;padding:10px 12px;border:1px solid #e2e7e5;border-radius:12px;background:#fbfcfb}.drawer-open,.modal-open{overflow:hidden}
@media(max-width:760px){.mission-drawer-meta,.team-picker-list,.team-picker-toolbar,.team-common-time,.selected-schedule-row{grid-template-columns:1fr}.selected-schedule-row span{display:none}.mission-team-modal-body{padding:16px}.mission-drawer-head,.mission-drawer-body{padding-left:18px;padding-right:18px}}
/* 0.11.12 — archive states, dashboard icons, compact filters */
.portal-kpi-svg svg{width:22px;height:22px;display:block}.team-member-card.is-archived{opacity:.72}.team-card-actions{margin-top:14px;display:flex;justify-content:flex-end;gap:8px}.team-card-actions form{margin:0}.status-filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.stay-status-tabs{margin-bottom:14px}.team-status-tabs{margin-bottom:14px}.icon-action.danger-soft{color:#9b5b36;background:#fff4ec}.stay-card[hidden],.team-member-card[hidden]{display:none!important}

/* 0.11.13 — mission readiness and mission-type visual language */
.mission-table .pill.ready{background:#dff3e7;color:#17613c;border:1px solid #b9dfc8;font-weight:850}
.mission-table .pill.cancelled{background:#f1f2f2;color:#737b7b;border:1px solid #d9dddd}
.mission-type-chip{display:inline-flex;align-items:center;min-height:26px;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:850;line-height:1.15;border:1px solid transparent;white-space:nowrap}
.mission-type-chip.type-daily{background:#e5f3f7;color:#17627a;border-color:#c8e4ed}
.mission-type-chip.type-rotation_departure,.mission-type-chip.type-rotation_arrival{background:#fff0dc;color:#8a5410;border-color:#efd5aa}
.mission-type-chip.type-preparation{background:#eee8f8;color:#68458b;border-color:#d9cbed}
.mission-type-chip.type-one_off{background:#e8f4e7;color:#3c6e35;border-color:#cce4c9}
.mission-type-chip.type-incident{background:#fde8e5;color:#9a3f32;border-color:#f3c7c0}
.mission-type-chip.type-linen_change{background:#e9effa;color:#395d91;border-color:#cfdaef}
.mission-type-chip.type-exceptional_reset{background:#f4e8f1;color:#7c456d;border-color:#e4cade}
@media(max-width:700px){.mission-type-chip{white-space:normal}}

/* 0.11.14 — compact mission team planner + live workload coverage */
.mission-team-modal{width:min(980px,95vw);max-height:90dvh}
.mission-team-modal-head{padding:20px 24px 16px;background:linear-gradient(180deg,#fff,#fbfcfb)}
.mission-team-context{margin:6px 0 0;color:#60716f;font-size:.92rem}
.mission-team-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:18px;padding:18px 22px 20px;background:#f7f9f8}
.team-picker-panel,.team-planning-panel{min-width:0;background:#fff;border:1px solid #e0e6e4;border-radius:16px;padding:16px;box-shadow:0 2px 10px rgba(11,43,42,.035)}
.team-panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.team-panel-title strong{display:block;font-size:1rem;margin-top:2px}.selected-count{min-width:30px;height:30px;border-radius:999px;display:grid;place-items:center;background:#edf3f1;color:#174f4d;font-weight:800}
.team-picker-toolbar{grid-template-columns:1fr;gap:10px}.team-picker-tabs{width:max-content}.team-picker-list{grid-template-columns:1fr;gap:7px;max-height:430px;padding-right:5px}.team-picker-person{grid-template-columns:auto 34px 1fr;padding:9px 10px}.team-picker-person:hover{border-color:#bdcbc8;background:#fbfdfc}.team-picker-person.selected{box-shadow:inset 3px 0 0 var(--brand-primary,#154d4c)}
.team-planning-panel{display:flex;flex-direction:column;gap:14px}.coverage-card{border:1px solid #f1d8a7;background:#fff9ee;border-radius:14px;padding:14px}.coverage-card.is-ready{border-color:#b9dfcf;background:#eef9f4}.coverage-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.coverage-top strong{display:block;font-size:1.08rem;margin-top:2px}.coverage-status{font-size:.78rem;font-weight:800;border-radius:999px;padding:5px 9px;background:#fff2d8;color:#915d00}.coverage-card.is-ready .coverage-status{background:#d9f2e7;color:#176148}.coverage-bar{height:8px;border-radius:999px;background:#e8eceb;margin:11px 0 8px;overflow:hidden}.coverage-bar i{display:block;height:100%;width:0;background:#c69228;border-radius:inherit;transition:width .18s ease}.coverage-card.is-ready .coverage-bar i{background:#2f9a73}.coverage-card small{color:#647572;line-height:1.35}
.team-common-time{gap:10px}.team-common-time .field{margin:0}.schedule-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-top:2px}.switch-line{font-size:.9rem}.selected-schedules{max-height:230px;overflow:auto}.selected-schedule-row{grid-template-columns:minmax(110px,.7fr) minmax(0,1.7fr);padding:9px 10px}.selected-schedule-row .schedule-time{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:7px}.selected-schedule-row input{min-width:0}
.mission-team-modal-foot{padding:13px 22px;background:#fff}
@media(max-width:820px){.mission-team-layout{grid-template-columns:1fr}.team-picker-list{max-height:250px}.mission-team-modal{width:min(96vw,720px)}.selected-schedule-row{grid-template-columns:1fr}.selected-schedule-row .schedule-time{grid-template-columns:1fr}.selected-schedule-row .schedule-time span{display:none}}

/* 0.11.15 — stay-to-mission navigation */
.stay-mission-link{color:inherit;text-decoration:none;cursor:pointer;transition:background .14s ease,border-color .14s ease,transform .14s ease}
.stay-mission-link:hover{background:color-mix(in srgb,var(--org-primary),#fff 96%);border-color:color-mix(in srgb,var(--org-primary),var(--line) 65%);transform:translateY(-1px)}
.stay-mission-right{display:flex;align-items:center;gap:10px;flex:0 0 auto}.stay-mission-open{font-size:18px;color:var(--org-primary);font-weight:800}.mission-drawer-links{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:760px){.stay-mission-right{width:100%;justify-content:space-between}.mission-drawer-links{display:grid;grid-template-columns:1fr}.mission-drawer-links .button{width:100%}}

/* 0.11.16 — missions gérées directement depuis la fiche séjour */
.stay-mission-row.stay-mission-link{width:100%;font:inherit;text-align:left;background:var(--org-surface);color:inherit;cursor:pointer;appearance:none;-webkit-appearance:none;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.stay-mission-row.stay-mission-link:hover{border-color:color-mix(in srgb,var(--org-primary),#fff 52%);box-shadow:0 7px 18px rgba(3,48,52,.08);transform:translateY(-1px)}
.stay-mission-row.stay-mission-link:focus-visible{outline:3px solid color-mix(in srgb,var(--org-accent),transparent 55%);outline-offset:2px}

/* 0.11.17 — charge prévue / charge affectée */
\n\n/* 0.11.18 — séjour : liste de missions compacte et statuts lisibles */\n.pill.ready{background:#dff3e7;color:#17613c;border:1px solid #b9dfc8;font-weight:850}.pill.planning{background:#fff3d9;color:#80550c;border:1px solid #efd69c;font-weight:800}.pill.confirmed{background:#e4effb;color:#235f91;border:1px solid #c7dbef;font-weight:800}.pill.ongoing{background:#eee8f8;color:#66448a;border:1px solid #d8caec;font-weight:800}.pill.reservation{background:#fff0e5;color:#9a4f20;border:1px solid #efc9ad;font-weight:800}.pill.cancelled{background:#f1f2f2;color:#697373;border:1px solid #d9dddd;font-weight:800}.pill.warn{background:#fff0e8;color:#9d4929;border:1px solid #f0c8b6;font-weight:800}.pill.success{background:#e5f5eb;color:#246d47;border:1px solid #c5e4d1;font-weight:800}\n.stay-missions-card{padding-bottom:10px}.stay-mission-count{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:color-mix(in srgb,var(--org-primary),#fff 91%);color:var(--org-primary);font-size:11px;font-weight:850;white-space:nowrap}.stay-mission-table-wrap{overflow-x:auto;margin:4px -2px 0}.stay-mission-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.stay-mission-table th{padding:8px 10px;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:left;white-space:nowrap}.stay-mission-table td{padding:9px 10px;border-bottom:1px solid color-mix(in srgb,var(--line),transparent 25%);vertical-align:middle}.stay-mission-table tbody tr{cursor:pointer;transition:background .14s ease,transform .14s ease}.stay-mission-table tbody tr:hover{background:color-mix(in srgb,var(--org-primary),#fff 96%)}.stay-mission-table tbody tr:focus-visible{outline:2px solid color-mix(in srgb,var(--org-accent),#fff 15%);outline-offset:-2px}.stay-mission-table tbody tr:last-child td{border-bottom:0}.stay-mission-table td strong{display:block;color:var(--dark);font-size:13px}.stay-mission-table td small{display:block;margin-top:2px;color:var(--muted);font-size:10px}.stay-mission-table .mission-type-chip{min-height:23px;padding:4px 8px}.stay-team-summary{font-weight:700;color:var(--dark);white-space:nowrap}.stay-mission-chevron{width:20px;text-align:right!important;font-size:20px;font-weight:700;color:var(--org-accent);padding-left:2px!important}.stay-mission-table .pill{white-space:nowrap}.stay-mission-table td:nth-child(1){width:120px}.stay-mission-table td:nth-child(3){width:96px}.stay-mission-table td:nth-child(5){width:150px}.stay-mission-table td:nth-child(6){width:24px}\n@media(max-width:800px){.stay-mission-count{display:none}.stay-mission-table thead{display:none}.stay-mission-table,.stay-mission-table tbody,.stay-mission-table tr,.stay-mission-table td{display:block;width:100%!important}.stay-mission-table tbody{display:grid;gap:8px}.stay-mission-table tr{position:relative;border:1px solid var(--line);border-radius:13px;padding:9px 38px 9px 10px;background:var(--org-surface)}.stay-mission-table td{display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;padding:4px 0}.stay-mission-table td:before{content:attr(data-label);font-size:10px;color:var(--muted);font-weight:750;text-transform:uppercase;letter-spacing:.04em}.stay-mission-table td:nth-child(2){order:-2}.stay-mission-table td:nth-child(1){order:-1}.stay-mission-table .stay-mission-chevron{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:block;width:auto!important}.stay-mission-table .stay-mission-chevron:before{display:none}.stay-mission-table td strong,.stay-mission-table td small{display:inline}.stay-mission-table td small{margin-left:5px}.stay-team-summary{white-space:normal;text-align:right}}\n

/* 0.11.19 — refonte page Missions */
.mission-list-card-v2{overflow:hidden;padding:0}.mission-list-head-v2{padding:18px 20px 8px;align-items:flex-start}.mission-list-head-v2 h2{font-size:20px}.mission-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:8px 20px 14px}.mission-overview-item{appearance:none;border:1px solid var(--line);border-radius:13px;background:var(--org-surface);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease;text-align:left}.mission-overview-item:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(3,48,52,.08);border-color:color-mix(in srgb,var(--org-primary),#fff 65%)}.mission-overview-item span{font-size:11px;font-weight:800;color:var(--muted)}.mission-overview-item strong{font-size:20px;line-height:1;color:var(--dark)}.mission-overview-item.planning{box-shadow:inset 3px 0 0 #d79c2a}.mission-overview-item.ready{box-shadow:inset 3px 0 0 #4f9a72}.mission-overview-item.ongoing{box-shadow:inset 3px 0 0 #71599a}.mission-overview-item.today{box-shadow:inset 3px 0 0 var(--org-primary)}
.mission-tabs-v2{margin:0 20px 10px;padding:3px;border-radius:11px;background:color-mix(in srgb,var(--org-background),#fff 25%);border:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);gap:3px}.mission-tabs-v2 .mission-tab{min-height:36px;padding:7px 10px;text-align:center}.mission-filters-v2{grid-template-columns:1.25fr 1.05fr 1.05fr 1.15fr .9fr .9fr auto;gap:8px;padding:10px 20px 12px;border-top:0;border-bottom:1px solid var(--line);align-items:end}.mission-filters-v2 label{font-size:9px;margin-bottom:4px}.mission-filters-v2 input,.mission-filters-v2 select{min-height:36px;border-radius:9px;padding:6px 8px}.mission-filter-actions-v2{grid-column:auto;align-items:center;justify-content:flex-end;gap:10px;min-width:max-content}.filter-clear{border:0;background:transparent;color:var(--muted);font:inherit;font-size:11px;font-weight:800;cursor:pointer;padding:8px 5px;border-radius:8px;white-space:nowrap}.filter-clear:hover{color:var(--dark);background:color-mix(in srgb,var(--org-background),#fff 25%)}.filter-clear>span{display:none}.mission-filter-count{white-space:nowrap}
.mission-table-wrap-v2{overflow-x:auto}.mission-table-v2{min-width:820px}.mission-table-v2 th{padding:9px 12px;background:color-mix(in srgb,var(--org-background),#fff 52%);font-size:10px}.mission-table-v2 td{padding:10px 12px}.mission-table-v2 .mission-row{position:relative;cursor:pointer;transition:background .12s ease,box-shadow .12s ease}.mission-table-v2 .mission-row:hover{background:color-mix(in srgb,var(--org-primary),#fff 97%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--org-primary),#fff 88%)}.mission-table-v2 .mission-row td:first-child{border-left:4px solid transparent;padding-left:10px}.mission-table-v2 .mission-row.type-daily td:first-child{border-left-color:#67aec4}.mission-table-v2 .mission-row.type-rotation_departure td:first-child,.mission-table-v2 .mission-row.type-rotation_arrival td:first-child{border-left-color:#d89a3f}.mission-table-v2 .mission-row.type-preparation td:first-child{border-left-color:#8b70af}.mission-table-v2 .mission-row.type-one_off td:first-child{border-left-color:#70a36a}.mission-table-v2 .mission-row.type-incident td:first-child{border-left-color:#cf6657}.mission-table-v2 .mission-row.type-linen_change td:first-child{border-left-color:#6580b4}.mission-table-v2 .mission-row.type-exceptional_reset td:first-child{border-left-color:#986f91}.mission-date-cell{white-space:nowrap}.mission-date-cell strong{font-size:13px}.mission-property-link strong{font-size:13px}.mission-team-summary{font-weight:780;color:var(--dark);white-space:nowrap}.mission-team-summary.unassigned{color:#9a6840;font-weight:750}.mission-load{display:grid;gap:5px;min-width:105px}.mission-load>div{display:flex;align-items:baseline;gap:3px;white-space:nowrap}.mission-load strong{font-size:12px}.mission-load span{font-size:10px;color:var(--muted)}.mission-load>i{display:block;height:4px;border-radius:999px;background:#eceeed;overflow:hidden}.mission-load>i>b{display:block;height:100%;border-radius:999px;background:#d39a35}.mission-load.complete>i>b{background:#4e9870}.mission-load.empty>i>b{background:#c9cecc}.mission-table-v2 .pill{white-space:nowrap}.mission-table-v2 .mission-type-chip{min-height:24px;padding:4px 8px}
@media(max-width:1100px){.mission-filters-v2{grid-template-columns:repeat(3,minmax(0,1fr))}.mission-filter-actions-v2{grid-column:1/-1;justify-content:flex-end}.mission-overview{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.mission-list-head-v2{padding:14px 14px 6px}.mission-overview{grid-template-columns:repeat(2,1fr);padding:8px 14px 12px}.mission-overview-item{padding:10px 11px}.mission-tabs-v2{margin:0 14px 10px;grid-template-columns:repeat(2,1fr)}.mission-filters-v2{grid-template-columns:1fr 1fr;padding:10px 14px}.mission-filter-actions-v2{grid-column:1/-1;justify-content:space-between}.filter-clear>span{display:inline}.mission-table-wrap-v2{padding:0 12px 12px}.mission-table-v2{min-width:0;display:block}.mission-table-v2 thead{display:none}.mission-table-v2 tbody{display:grid;gap:8px}.mission-table-v2 tr.mission-row{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-left:4px solid transparent;border-radius:13px;background:var(--org-surface);overflow:hidden}.mission-table-v2 tr.mission-row td{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;padding:8px 10px;border:0;border-bottom:1px solid color-mix(in srgb,var(--line),transparent 45%)}.mission-table-v2 tr.mission-row td:first-child{border-left:0;padding-left:10px}.mission-table-v2 tr.mission-row td::before{content:attr(data-label);font-size:8px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:850}.mission-table-v2 tr.mission-row td:nth-child(2),.mission-table-v2 tr.mission-row td:nth-child(3){grid-column:auto}.mission-table-v2 tr.mission-row td:nth-child(5),.mission-table-v2 tr.mission-row td:nth-child(6){border-bottom:0}.mission-load{min-width:90px;width:100%}}


/* 0.11.23 — compact property record + sensible default filters */
.property-record-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 14px;padding:18px 20px;border:1px solid var(--line);border-radius:18px;background:var(--org-surface);box-shadow:0 8px 24px rgba(3,48,52,.05)}
.property-title-wrap{min-width:0}.property-title-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.property-title-line h2{margin:0;font-size:1.55rem;line-height:1.1}.property-subline{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:7px;color:var(--muted);font-size:.92rem}.property-head-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.property-head-actions form{margin:0}
.property-facts-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.property-fact{min-height:92px;padding:15px 16px;border:1px solid var(--line);border-radius:15px;background:var(--org-surface)}.property-fact span{display:block;margin-bottom:7px;color:var(--muted);font-size:10px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.property-fact strong{display:block;color:var(--dark);font-size:1.12rem;line-height:1.25}.property-fact small{display:block;margin-top:2px;color:var(--muted)}.property-fact.wide{grid-column:span 1}
.property-info-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:14px}.property-info-card{margin:0}.property-info-card h3{margin:0}.compact-definition-list{margin:0}.compact-definition-list>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid color-mix(in srgb,var(--line),transparent 30%)}.compact-definition-list>div:last-child{border-bottom:0}.compact-definition-list dt{color:var(--muted);font-weight:700}.compact-definition-list dd{margin:0;font-weight:850}.property-owner-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:44px}.property-owner-summary strong{font-size:1.05rem}
.record-edit-dialog{width:min(820px,94vw);max-height:90dvh;padding:0;border:0;border-radius:20px;box-shadow:0 24px 70px rgba(0,0,0,.24);background:var(--org-surface)}.record-edit-dialog::backdrop{background:rgba(10,24,24,.34);backdrop-filter:blur(2px)}.record-edit-dialog form{padding:0 22px 22px;overflow:auto;max-height:90dvh}.record-edit-dialog .dialog-head{position:sticky;top:0;z-index:2;margin:0 -22px 16px;padding:20px 22px 16px;background:var(--org-surface);border-bottom:1px solid var(--line)}
.status-filter-bar .button.active{background:color-mix(in srgb,var(--org-primary),#fff 89%);color:var(--org-primary);border-color:color-mix(in srgb,var(--org-primary),#fff 68%)}
@media(max-width:900px){.property-facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.property-info-grid{grid-template-columns:1fr}}
@media(max-width:560px){.property-record-head{align-items:flex-start;padding:15px}.property-title-line h2{font-size:1.3rem}.property-facts-grid{grid-template-columns:1fr 1fr}.property-fact{min-height:78px;padding:12px}.property-fact.wide{grid-column:1/-1}.property-head-actions{margin-left:auto}.record-edit-dialog form{padding-inline:16px}.record-edit-dialog .dialog-head{margin-inline:-16px;padding-inline:16px}}


/* ===== Consolidated from v1124.css ===== */
/* 0.11.24 — cartes Séjours plus compactes et plus lisibles */
.stay-status-tabs{
  display:inline-flex;
  gap:3px;
  padding:4px;
  margin:0 0 20px;
  border:1px solid color-mix(in srgb,var(--line),transparent 18%);
  border-radius:14px;
  background:color-mix(in srgb,var(--org-surface),var(--org-background) 26%);
  box-shadow:none;
}
.stay-status-tabs .button{
  min-height:34px;
  padding:7px 12px;
  border:0;
  border-radius:10px;
  background:transparent;
  box-shadow:none;
  color:var(--muted);
}
.stay-status-tabs .button:hover{background:color-mix(in srgb,var(--org-primary),#fff 94%);color:var(--dark)}
.stay-status-tabs .button.active{background:var(--org-surface);color:var(--org-primary);box-shadow:0 3px 9px rgba(3,48,52,.09)}
.stay-list-section{margin-top:0}
.stay-card-grid{grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:18px}
.stay-card{
  position:relative;
  display:grid;
  grid-template-rows:auto auto 1fr auto;
  gap:0;
  padding:0;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--line),var(--org-primary) 8%);
  border-radius:18px;
  background:var(--org-surface);
  box-shadow:0 10px 28px rgba(3,48,52,.07);
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.stay-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--org-accent)}
.stay-card[data-status="ongoing"]:before{background:var(--org-primary)}
.stay-card[data-status="past"]:before{background:#a7b0ae}
.stay-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--org-primary),#fff 68%);box-shadow:0 15px 34px rgba(3,48,52,.11)}
.stay-card-top{padding:20px 18px 14px;align-items:center}
.stay-ref{display:block;margin-bottom:4px;font-size:10px;font-weight:750;letter-spacing:.075em;color:var(--muted)}
.stay-card h3{margin:0;font-size:19px;line-height:1.2}
.stay-card h3 a{color:var(--dark)}
.stay-card h3 a:hover{color:var(--org-primary)}
.stay-card-top small{display:block;margin-top:5px;font-size:12px}
.stay-card-top>.pill{align-self:flex-start;padding:6px 9px;border:0;font-size:10px}
.stay-dates{
  grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);
  gap:8px;
  margin:0 18px;
  padding:12px 13px;
  border:1px solid color-mix(in srgb,var(--line),transparent 35%);
  border-radius:13px;
  background:color-mix(in srgb,var(--org-background),#fff 34%);
}
.stay-dates div:last-child{text-align:right}
.stay-dates span{font-size:9px;font-weight:750;letter-spacing:.075em}
.stay-dates b{font-size:14px}
.stay-arrow{display:grid;place-items:center;font-size:18px!important;font-weight:800}
.stay-meta{align-content:start;gap:7px;padding:14px 18px 16px}
.stay-meta>span:not(.service-chip){display:inline-flex;align-items:center;padding:5px 0;color:var(--muted);font-weight:700}
.service-chip{padding:6px 9px;border:1px solid color-mix(in srgb,var(--org-primary),#fff 76%);background:color-mix(in srgb,var(--org-primary),#fff 91%);font-size:10px!important}
.service-chip.accent{border-color:color-mix(in srgb,var(--org-accent),#fff 72%);background:color-mix(in srgb,var(--org-accent),#fff 91%)}
.stay-card-actions.row-actions{
  min-height:50px;
  padding:8px 14px;
  border-top:1px solid color-mix(in srgb,var(--line),transparent 24%);
  background:color-mix(in srgb,var(--org-background),#fff 48%);
}
.stay-card-actions .icon-action{width:34px;height:34px;background:var(--org-surface)}

/* Prestations réellement applicables à la propriété */
.property-billing-table tr.is-not-applied{opacity:.68;background:color-mix(in srgb,var(--org-background),#fff 46%)}
.property-billing-table tr.is-not-applied:hover{opacity:1}
.property-service-toggle{margin:0}
.service-switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer;white-space:nowrap}
.service-switch input{position:absolute;opacity:0;pointer-events:none}
.service-switch span{position:relative;width:36px;height:20px;border-radius:999px;background:#cbd2d0;box-shadow:inset 0 0 0 1px rgba(3,48,52,.08);transition:.18s ease}
.service-switch span:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(3,48,52,.2);transition:.18s ease}
.service-switch input:checked+span{background:var(--org-primary)}
.service-switch input:checked+span:after{transform:translateX(16px)}
.service-switch input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--org-accent),transparent 55%);outline-offset:2px}
.service-switch b{font-size:11px;color:var(--dark)}
.property-billing-table td:nth-child(2) small{display:block;margin-top:5px}

@media(max-width:760px){
  .stay-status-tabs{display:grid;grid-template-columns:repeat(4,auto);width:100%;overflow-x:auto}
  .stay-status-tabs .button{padding-inline:8px}
  .stay-card-grid{grid-template-columns:1fr;gap:14px}
  .stay-card{border-radius:16px}
  .stay-card:hover{transform:none}
  .stay-card-top{padding:18px 14px 12px}
  .stay-card h3{font-size:18px}
  .stay-dates{grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);margin:0 14px;padding:11px 10px}
  .stay-dates b{font-size:13px}
  .stay-meta{padding:12px 14px 14px}
  .stay-card-actions.row-actions{justify-content:flex-end;padding-inline:12px}
  .property-billing-table .service-switch b{display:none}
}


/* ===== Consolidated from v1125.css ===== */
/* 0.11.25 — détail complet des forfaits par propriété */
.property-billing-table{
  min-width:1020px;
  table-layout:fixed;
}
.property-billing-table th:nth-child(1){width:128px}
.property-billing-table th:nth-child(2){width:390px}
.property-billing-table th:nth-child(3){width:130px}
.property-billing-table th:nth-child(4){width:70px}
.property-billing-table th:nth-child(5){width:250px}
.property-billing-table th:nth-child(6){width:62px}
.property-billing-table td{
  padding:15px 12px;
  vertical-align:top;
}
.property-billing-table tr.is-not-applied{
  opacity:1;
  background:color-mix(in srgb,var(--org-background),#fff 52%);
}
.property-billing-table tr.is-not-applied .property-service-description{
  color:var(--dark);
}
.property-service-description{min-width:0}
.property-service-title{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px 8px;
}
.property-service-title strong{
  flex:1 1 220px;
  font-size:14px;
  line-height:1.35;
  color:var(--dark);
}
.service-family,
.service-variant{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:4px 7px;
  border-radius:7px;
  font-size:10px;
  font-weight:800;
  line-height:1.2;
}
.service-family{
  color:var(--org-primary);
  background:color-mix(in srgb,var(--org-primary),#fff 90%);
  text-transform:uppercase;
  letter-spacing:.045em;
}
.service-variant{
  color:color-mix(in srgb,var(--org-accent),#111 33%);
  background:color-mix(in srgb,var(--org-accent),#fff 88%);
}
.property-service-facts{
  display:flex;
  flex-wrap:wrap;
  gap:5px 7px;
  margin-top:9px;
}
.property-service-facts>span{
  display:inline-flex;
  gap:4px;
  padding:4px 7px;
  border:1px solid color-mix(in srgb,var(--line),transparent 22%);
  border-radius:7px;
  background:var(--org-surface);
  color:var(--muted);
  font-size:10px;
  line-height:1.3;
}
.property-service-facts b{color:var(--dark);font-weight:750}
.property-service-facts .service-real-cost{color:var(--org-primary);font-weight:750}
.property-service-conditions{
  margin:9px 0 0;
  color:var(--muted);
  font-size:11px;
  line-height:1.45;
}
.property-service-conditions b{color:var(--dark)}
.property-price-display{display:grid;gap:4px}
.property-price-display strong{font-size:15px;color:var(--dark);white-space:nowrap}
.property-price-display small{font-size:10px;line-height:1.3;color:var(--org-primary);font-weight:750}
.property-price-display .catalog-price-reference{color:var(--muted);font-weight:600}

@media(max-width:760px){
  .property-billing-table{min-width:980px}
  .property-billing-table th:nth-child(2){width:370px}
}


/* ===== Consolidated from v1126.css ===== */
/* 0.11.26 — filtres des prestations par propriété */
.property-service-filters{
  display:grid;
  grid-template-columns:minmax(220px,1.7fr) repeat(3,minmax(145px,1fr)) auto;
  align-items:end;
  gap:10px;
  margin:18px 0 8px;
  padding:14px;
  border:1px solid color-mix(in srgb,var(--line),transparent 18%);
  border-radius:14px;
  background:color-mix(in srgb,var(--org-background),#fff 48%);
}
.property-service-filters label{display:grid;gap:6px;min-width:0}
.property-service-filters label>span{
  color:var(--muted);
  font-size:10px;
  font-weight:800;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.property-service-filters input,
.property-service-filters select{
  width:100%;
  min-height:40px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--org-surface);
  color:var(--dark);
  font:inherit;
  font-size:12px;
}
.property-service-filters input:focus,
.property-service-filters select:focus{
  border-color:var(--org-primary);
  outline:3px solid color-mix(in srgb,var(--org-primary),transparent 86%);
}
.property-service-filter-clear{min-height:40px;white-space:nowrap}
.property-service-filter-summary{
  display:flex;
  justify-content:flex-end;
  margin:0 2px 9px;
  color:var(--muted);
  font-size:11px;
}
.property-service-filter-summary strong{color:var(--dark)}
.property-service-filter-empty{margin:14px 0 0}

@media(max-width:1100px){
  .property-service-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .property-service-search{grid-column:1/-1}
  .property-service-filter-clear{justify-self:start}
}

@media(max-width:620px){
  .property-service-filters{grid-template-columns:1fr;padding:12px}
  .property-service-search{grid-column:auto}
  .property-service-filter-clear{width:100%}
}


/* ===== Consolidated from v1127.css ===== */
/* 0.11.27 — cascade Famille → Prestation et état en accès direct */
.property-service-filters{
  grid-template-columns:minmax(220px,1.6fr) minmax(150px,.9fr) minmax(190px,1.15fr) minmax(245px,1.25fr) auto;
}
.property-service-filters select:disabled{
  color:var(--muted);
  background:color-mix(in srgb,var(--org-background),#fff 28%);
  cursor:not-allowed;
}
.property-service-status-filter{
  display:grid;
  gap:6px;
  min-width:0;
}
.property-service-status-filter>span{
  color:var(--muted);
  font-size:10px;
  font-weight:800;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.property-service-status-options{
  display:flex;
  min-height:40px;
  gap:3px;
  padding:3px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--org-surface);
}
.property-service-status-options button{
  flex:1 1 auto;
  padding:5px 8px;
  border:0;
  border-radius:7px;
  background:transparent;
  color:var(--muted);
  font:inherit;
  font-size:11px;
  font-weight:750;
  white-space:nowrap;
  cursor:pointer;
}
.property-service-status-options button:hover{
  color:var(--dark);
  background:color-mix(in srgb,var(--org-primary),#fff 94%);
}
.property-service-status-options button.active{
  color:var(--org-primary);
  background:color-mix(in srgb,var(--org-primary),#fff 88%);
  box-shadow:0 2px 6px rgba(3,48,52,.09);
}
.property-service-status-options button:focus-visible{
  outline:3px solid color-mix(in srgb,var(--org-accent),transparent 55%);
  outline-offset:1px;
}

@media(max-width:1100px){
  .property-service-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .property-service-status-filter{align-self:end}
}

@media(max-width:620px){
  .property-service-filters{grid-template-columns:1fr}
  .property-service-status-options{flex-wrap:wrap}
}


/* ===== Consolidated from v1139.css ===== */
/* 0.11.32 — facturation : interface plus compacte et hiérarchisée */
.billing-period-compact{
  display:grid;
  grid-template-columns:auto minmax(360px,1fr) auto;
  align-items:end;
  gap:12px 18px;
  padding:13px 16px;
  margin-bottom:12px;
}
.billing-period-label{
  display:grid;
  gap:2px;
  align-self:center;
  min-width:175px;
}
.billing-period-label>span{
  color:var(--muted);
  font-size:10px;
  font-weight:850;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.billing-period-label>strong{
  color:var(--dark);
  font-size:13px;
  white-space:nowrap;
}
.billing-period-compact .billing-period-presets{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:nowrap;
  margin:0;
}
.billing-period-compact .billing-period-form{
  display:flex;
  align-items:end;
  justify-content:flex-end;
  gap:7px;
  flex-wrap:nowrap;
}
.billing-period-compact .billing-period-form .field{
  margin:0;
  min-width:126px;
}
.billing-period-compact .billing-period-form .field label{
  display:block;
  margin-bottom:3px;
  font-size:9px;
}
.billing-period-compact .billing-period-form input[type=date]{
  min-height:34px;
  height:34px;
  padding:5px 8px;
  font-size:11px;
}
.billing-period-compact .button.small{
  min-height:34px;
  height:34px;
  padding:6px 10px;
  white-space:nowrap;
}

.billing-kpis{
  gap:10px;
  margin-bottom:12px;
}
.billing-kpi-card{
  padding:11px 13px;
  border-radius:15px;
  box-shadow:0 5px 16px rgba(3,48,52,.05);
}
.billing-kpi-icon{
  width:38px;
  height:38px;
  flex-basis:38px;
  border-radius:12px;
  font-size:17px;
}
.billing-kpi-value{font-size:22px}

.billing-command-card{padding:17px 20px}
.billing-command-card .billing-command-heading{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  margin-bottom:13px;
  padding-bottom:13px;
}
.billing-command-heading>div:first-child{min-width:0}
.billing-command-heading p{
  max-width:650px;
  font-size:11px;
}
.billing-command-card .billing-command-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  flex-wrap:nowrap;
  margin:0;
}
.billing-command-actions form{margin:0}
.billing-command-actions .button{
  min-height:38px;
  padding:8px 11px;
  font-size:11px;
  white-space:nowrap;
}
.billing-command-actions form .button{width:auto}
.billing-command-card .billing-inline-filters{
  display:grid;
  grid-template-columns:minmax(260px,1fr) minmax(170px,230px) minmax(170px,260px);
  gap:8px;
  margin:0 0 10px;
  padding:0;
}
.billing-command-card .billing-inline-filters input,
.billing-command-card .billing-inline-filters select{
  width:100%;
  min-width:0;
  min-height:36px;
}
.billing-command-card .table-responsive{
  border:1px solid var(--line);
  border-radius:12px;
  overflow:auto;
}
.billing-command-card .data-table{margin:0}
.billing-command-card .data-table th{padding-top:9px;padding-bottom:9px}
.billing-command-card .data-table td{padding-top:9px;padding-bottom:9px}

@media(max-width:1250px){
  .billing-period-compact{grid-template-columns:auto 1fr}
  .billing-period-compact .billing-period-form{grid-column:1/-1;justify-content:flex-start}
  .billing-period-compact .billing-period-presets{justify-content:flex-end}
  .billing-command-card .billing-command-heading{grid-template-columns:1fr}
  .billing-command-card .billing-command-actions{justify-content:flex-start}
}
@media(max-width:820px){
  .billing-period-compact{grid-template-columns:1fr}
  .billing-period-compact .billing-period-presets{justify-content:flex-start;flex-wrap:wrap}
  .billing-period-compact .billing-period-form{grid-column:auto;display:grid;grid-template-columns:1fr 1fr auto}
  .billing-command-card .billing-command-actions{display:grid;grid-template-columns:1fr 1fr}
  .billing-command-actions form{display:contents}
  .billing-command-actions .button{width:100%;text-align:center}
  .billing-command-actions>a.button{grid-column:1/-1}
  .billing-command-card .billing-inline-filters{grid-template-columns:1fr}
}
@media(max-width:520px){
  .billing-period-compact .billing-period-form{grid-template-columns:1fr}
  .billing-command-card .billing-command-actions{grid-template-columns:1fr}
  .billing-command-actions>a.button{grid-column:auto}
}


/* 0.11.33 — stays urgency alerts */
.urgent-sticky-banner{position:sticky;top:14px;z-index:45;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;margin:0 0 14px;padding:14px 16px;border:1px solid rgba(186,74,59,.28);border-radius:18px;background:linear-gradient(135deg,#fff7f3 0%,#fff1e8 100%);box-shadow:0 18px 38px rgba(140,53,34,.12)}
.urgent-banner-icon,.stay-urgent-inline-icon,.urgent-modal-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#c95e3d;color:#fff;font-size:20px;font-weight:900;box-shadow:0 8px 20px rgba(171,78,52,.28)}
.urgent-banner-body strong{display:block;color:#7f3521;font-size:16px}.urgent-banner-body p{margin:4px 0 0;color:#9a5a45;font-size:13px;line-height:1.45}.urgent-banner-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.urgent-modal-backdrop{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:20px;background:rgba(16,24,27,.42);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.urgent-modal-card{position:relative;max-width:640px;width:min(100%,640px);padding:22px;border-radius:22px;background:#fff;box-shadow:0 25px 65px rgba(8,36,40,.28);display:grid;gap:16px}.urgent-modal-close{position:absolute;top:10px;right:10px;border:0;background:transparent;color:#6a6f72;font-size:28px;line-height:1;cursor:pointer}.urgent-modal-head{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start}.urgent-modal-head strong{display:block;font-size:20px;color:#7f3521}.urgent-modal-head p{margin:5px 0 0;color:var(--muted);line-height:1.45}.urgent-modal-list{display:grid;gap:10px}.urgent-modal-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border:1px solid rgba(186,74,59,.18);border-radius:16px;background:#fff8f5;text-decoration:none;color:inherit;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.urgent-modal-item:hover{transform:translateY(-1px);box-shadow:0 10px 25px rgba(140,53,34,.11);border-color:rgba(186,74,59,.34)}.urgent-modal-item b{display:block;color:var(--dark)}.urgent-modal-item small{display:block;margin-top:4px;color:var(--muted)}.urgent-modal-item span{font-size:12px;font-weight:800;color:#a0482d}.urgent-modal-actions{display:flex;justify-content:flex-end}.stay-card-urgent{position:relative;border-color:rgba(186,74,59,.32)!important;box-shadow:0 14px 34px rgba(140,53,34,.12)!important;background:linear-gradient(180deg,#fffdfc 0%,#fff8f4 100%)}.stay-urgent-flag{position:absolute;top:14px;right:14px;padding:6px 10px;border-radius:999px;background:#c95e3d;color:#fff;font-size:11px;font-weight:900;letter-spacing:.03em;text-transform:uppercase;box-shadow:0 8px 20px rgba(171,78,52,.22)}.stay-card-urgent .stay-card-top{padding-right:88px}.stay-urgent-inline{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;padding:10px 12px;border-radius:14px;border:1px solid rgba(186,74,59,.2);background:#fff5ef}.stay-urgent-inline strong{display:block;color:#8b3b2b;font-size:12px}.stay-urgent-inline small{display:block;margin-top:3px;color:#a4604b}.stay-urgent-inline-icon{width:28px;height:28px;font-size:17px}.urgent-modal-open{overflow:hidden}@media(max-width:860px){.urgent-sticky-banner{grid-template-columns:1fr}.urgent-banner-icon{display:none}.urgent-banner-actions{justify-content:flex-start}.urgent-modal-card{padding:18px;border-radius:18px}}@media(max-width:560px){.urgent-modal-item{flex-direction:column;align-items:flex-start}.stay-card-urgent .stay-card-top{padding-right:0}.stay-urgent-flag{position:static;justify-self:start;margin-bottom:2px}}

/* 0.11.34 — two urgency levels: urgent <5 days, imminent <48 h */
.urgent-sticky-banner.is-urgent{border-color:rgba(196,135,35,.35);background:linear-gradient(135deg,#fffaf0 0%,#fff4dd 100%);box-shadow:0 16px 34px rgba(139,97,24,.11)}
.urgent-sticky-banner.is-urgent .urgent-banner-icon{background:#c58d28;box-shadow:0 8px 20px rgba(162,112,31,.24)}
.urgent-sticky-banner.is-urgent .urgent-banner-body strong{color:#79520d}
.urgent-sticky-banner.is-urgent .urgent-banner-body p{color:#8f6a27}
.urgent-sticky-banner.is-imminent{border-color:rgba(187,47,38,.42);background:linear-gradient(135deg,#fff4f2 0%,#ffe8e3 100%);box-shadow:0 20px 42px rgba(145,37,31,.17)}
.urgent-sticky-banner.is-imminent .urgent-banner-icon{background:#b8322b;box-shadow:0 8px 22px rgba(170,42,34,.35);animation:intendupUrgentPulse 1.45s ease-in-out infinite}
.urgent-sticky-banner.is-imminent .urgent-banner-body strong{color:#82241f;text-transform:uppercase;letter-spacing:.025em}
.urgent-sticky-banner.is-imminent .urgent-banner-body p{color:#9a473f}
.stay-card-alert{position:relative}.stay-card-urgent{border-color:rgba(196,135,35,.38)!important;box-shadow:0 12px 30px rgba(139,97,24,.11)!important;background:linear-gradient(180deg,#fffefb 0%,#fff9ec 100%)}
.stay-card-imminent{border:2px solid rgba(187,47,38,.48)!important;box-shadow:0 16px 38px rgba(145,37,31,.17)!important;background:linear-gradient(180deg,#fffdfc 0%,#fff3f0 100%)}
.stay-card-alert .stay-card-top{padding-right:98px}.stay-urgent-flag.is-urgent{background:#c58d28;box-shadow:0 8px 20px rgba(162,112,31,.22)}.stay-urgent-flag.is-imminent{background:#b8322b;box-shadow:0 8px 20px rgba(170,42,34,.28);animation:intendupUrgentPulse 1.45s ease-in-out infinite}
.stay-urgent-inline.is-urgent{border-color:rgba(196,135,35,.25);background:#fff9e9}.stay-urgent-inline.is-urgent .stay-urgent-inline-icon{background:#c58d28}.stay-urgent-inline.is-urgent strong{color:#79520d}.stay-urgent-inline.is-urgent small{color:#8f6a27}
.stay-urgent-inline.is-imminent{border-color:rgba(187,47,38,.28);background:#fff0ed}.stay-urgent-inline.is-imminent .stay-urgent-inline-icon{background:#b8322b;animation:intendupUrgentPulse 1.45s ease-in-out infinite}.stay-urgent-inline.is-imminent strong{color:#82241f}.stay-urgent-inline.is-imminent small{color:#9a473f}
.urgent-modal-card.is-imminent{border:2px solid rgba(187,47,38,.34);box-shadow:0 28px 72px rgba(112,29,24,.3)}.urgent-modal-card.is-imminent .urgent-modal-mark{background:#b8322b;animation:intendupUrgentPulse 1.45s ease-in-out infinite}.urgent-modal-card.is-imminent .urgent-modal-head strong{color:#82241f}.urgent-modal-item.is-urgent{border-color:rgba(196,135,35,.24);background:#fffaf0}.urgent-modal-item.is-urgent span{color:#8a611a}.urgent-modal-item.is-imminent{border-color:rgba(187,47,38,.3);background:#fff2ef}.urgent-modal-item.is-imminent span{color:#a52f28;font-weight:900}
@keyframes intendupUrgentPulse{0%,100%{transform:scale(1);box-shadow:0 8px 20px rgba(170,42,34,.24)}50%{transform:scale(1.07);box-shadow:0 10px 28px rgba(170,42,34,.42)}}
@media(max-width:560px){.stay-card-alert .stay-card-top{padding-right:0}}

/* 0.11.35 — mission team modal spacing + validated stay recap */
.mission-team-modal-foot{
  padding:18px 24px 24px!important;
  gap:12px!important;
  border-top:1px solid #e4e8e6;
  background:#fff;
}
.mission-team-modal-foot .button{min-width:0}
@media(max-width:760px){
  .mission-team-modal-foot{padding:16px 18px 20px!important;flex-wrap:wrap}
}
.stay-validation-badge{background:#eaf6ef!important;color:#2f7151!important;border-color:#c9e8d6!important}


/* 0.11.36 — mission team picker and responsible role */
.team-picker-person[hidden]{display:none!important}

/* 0.11.37 — persistent active left navigation on detail pages */

/* 0.11.38 — invoice PDF redesign only; no portal CSS changes. */

/* 0.11.39 — invoice legal footer: capital currency suffix. */


/* ===== Consolidated from v1218.css ===== */
/* 0.12.18 — Paramétrage : onglet actif encadré uniquement, sans soulignement. */
.settings-tabs{
  position:static;
  top:auto;
  z-index:auto;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
  overflow:visible;
  flex-wrap:initial;
  background:color-mix(in srgb,var(--org-background),#fff 45%);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.settings-tabs a{
  width:100%;
  min-width:0;
  min-height:42px;
  padding:9px 12px;
  white-space:normal;
  text-align:center;
  line-height:1.2;
  border:1px solid transparent;
  position:relative;
}
.settings-tabs a.active{
  color:var(--org-primary);
  background:var(--org-surface);
  border-color:color-mix(in srgb,var(--org-primary),transparent 72%);
  box-shadow:0 4px 12px rgba(3,48,52,.10);
}
@media(max-width:820px){
  .settings-tabs{
    position:static;
    grid-template-columns:repeat(2,minmax(0,1fr));
    overflow:visible;
  }
  .settings-tabs a{white-space:normal}
}
@media(max-width:480px){
  .settings-tabs{grid-template-columns:1fr}
}


/* ===== Consolidated from v1219.css ===== */
/* 0.12.19 — vraie messagerie bidirectionnelle. */
.mailbox-head,.mailbox-section-head,.conversation-top,.message-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.mailbox-head{margin-bottom:16px}.mailbox-head h2,.mailbox-section-head h2{margin:0}.mailbox-head p{margin:4px 0 0;color:var(--muted)}.mailbox-layout{display:grid;grid-template-columns:minmax(280px,34%) minmax(0,1fr);gap:16px;align-items:start}.mailbox-list,.mailbox-thread{padding:0;overflow:hidden}.mailbox-section-head,.thread-head{padding:16px 18px;border-bottom:1px solid var(--line)}.conversation-item{display:block;padding:14px 16px;border-bottom:1px solid var(--line);color:inherit;text-decoration:none!important;position:relative}.conversation-item:hover,.conversation-item.active{background:color-mix(in srgb,var(--org-primary),transparent 94%)}.conversation-item.active{box-shadow:inset 4px 0 0 var(--org-accent)}.conversation-item.unread strong{font-weight:900}.conversation-item span,.conversation-item time{display:block}.conversation-subject,.conversation-property,.conversation-preview,.conversation-item time{font-size:12px;color:var(--muted);margin-top:3px}.conversation-preview{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unread-dot{min-width:22px;height:22px;border-radius:99px;background:var(--org-accent);color:#fff;text-align:center;line-height:22px;font-size:11px;font-weight:800}.thread-head h2{margin:0 0 4px}.thread-head p{margin:0;color:var(--muted)}.thread-messages{display:flex;flex-direction:column;gap:12px;padding:20px;min-height:300px;max-height:54vh;overflow:auto}.message-bubble{max-width:78%;padding:12px 14px;border-radius:16px;background:color-mix(in srgb,var(--org-primary),transparent 93%);align-self:flex-start}.message-bubble.mine{align-self:flex-end;background:color-mix(in srgb,var(--org-accent),transparent 84%)}.message-meta{font-size:11px;margin-bottom:6px;opacity:.75}.message-meta time{font-weight:400}.reply-box{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:16px;border-top:1px solid var(--line);align-items:end}.reply-box textarea{width:100%;box-sizing:border-box;resize:vertical}.mailbox-empty{min-height:300px;display:grid;place-items:center}.mailbox-compose{margin-bottom:16px}.mailbox-compose .mailbox-section-head{padding:0 0 14px;margin-bottom:14px}.mailbox-compose .form{margin-top:0}
@media(max-width:820px){.mailbox-layout{grid-template-columns:1fr}.thread-messages{max-height:none}.message-bubble{max-width:90%}}
@media(max-width:560px){.mailbox-head{align-items:flex-start;flex-direction:column}.mailbox-head .button{width:100%;box-sizing:border-box;text-align:center}.reply-box{grid-template-columns:1fr}.reply-box .button{width:100%}.message-bubble{max-width:94%}}


/* ===== Consolidated from v1220.css ===== */
/* 0.12.20 — unread messaging visibility + private broadcast. */
.nav a{display:flex;align-items:center;justify-content:space-between;gap:10px}.nav-badge,.message-dashboard-count{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:var(--org-accent);color:#fff;font-size:12px;font-weight:900;box-sizing:border-box}.message-dashboard-alert{display:flex;align-items:center;gap:14px;margin:0 0 16px;padding:15px 17px;border:1px solid color-mix(in srgb,var(--org-accent),transparent 45%);border-radius:16px;background:color-mix(in srgb,var(--org-accent),transparent 91%);color:inherit;text-decoration:none!important}.message-dashboard-alert:hover{background:color-mix(in srgb,var(--org-accent),transparent 86%)}.message-dashboard-alert>span:nth-child(2){display:flex;flex-direction:column;gap:2px;flex:1}.message-dashboard-alert small{color:var(--muted)}.message-dashboard-icon{font-size:22px}.field-help{display:block;margin-top:6px;color:var(--muted);font-size:12px;line-height:1.4}


/* ===== Consolidated from v1222.css ===== */
/* 0.12.22 — private broadcast progress. */
.broadcast-progress{display:none;margin-top:18px;padding:18px;border:1px solid var(--border);border-radius:16px;background:var(--card-bg,#fff)}
.broadcast-progress.visible{display:block}.broadcast-progress-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px}.broadcast-progress-head strong{font-size:16px}.broadcast-progress-count{font-weight:800;color:var(--muted)}
.broadcast-progress-track{height:10px;border-radius:999px;background:rgba(0,0,0,.08);overflow:hidden}.broadcast-progress-bar{height:100%;width:0;background:var(--org-accent);transition:width .25s ease}
.broadcast-progress-status{margin:10px 0 0;color:var(--muted);font-size:13px}.broadcast-progress.done .broadcast-progress-status{color:var(--text)}


/* 0.14.1 — reservations empty state, channel settings and rental billing */
.reservation-empty{text-align:center;padding:52px 28px!important}.reservation-empty-icon{width:64px;height:64px;margin:0 auto 14px;display:grid;place-items:center;border-radius:22px;background:color-mix(in srgb,var(--org-primary),#fff 90%);color:var(--org-primary);font-size:30px}.reservation-empty h2{margin:0 0 8px}.reservation-empty p{max-width:560px;margin:0 auto 22px;color:var(--muted)}
.settings-channel-list{display:grid;gap:10px;margin-top:18px}.settings-channel-row{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:14px;align-items:end;padding:14px;border:1px solid var(--line);border-radius:14px}.settings-channel-row .field{margin:0}.toggle-line{align-self:center;white-space:nowrap}.settings-channel-add{display:flex;gap:12px;align-items:end;margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.settings-channel-add .field{flex:1;margin:0}
.rental-billing-box{padding:18px;margin:6px 0 24px;border:1px solid color-mix(in srgb,var(--org-primary),transparent 70%);border-radius:16px;background:color-mix(in srgb,var(--org-primary),#fff 96%)}.rental-billing-form{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr auto;gap:12px;align-items:end}.rental-billing-form .field{margin:0}.rental-billing-note{margin:12px 0 0}.reservation-billing-summary{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;gap:4px 18px;padding:16px;border-radius:14px;background:color-mix(in srgb,var(--org-primary),#fff 94%);border:1px solid color-mix(in srgb,var(--org-primary),transparent 75%)}.reservation-billing-summary strong,.reservation-billing-summary small{grid-column:1}.reservation-billing-summary b{grid-column:2;grid-row:1/3;align-self:center;font-size:22px;color:var(--org-primary)}
@media(max-width:900px){.rental-billing-form{grid-template-columns:1fr 1fr}.settings-channel-row{grid-template-columns:1fr auto}.settings-channel-row .button{grid-column:2}.settings-channel-add{align-items:stretch;flex-direction:column}}

/* 0.14.2 — premium reservation UI */

/* ===== Reservations premium UI — V0.14.3 ===== */
.reservation-editor{padding:0!important;overflow:hidden;border-radius:24px!important;border:1px solid color-mix(in srgb,var(--org-primary),transparent 86%)!important;box-shadow:0 14px 38px rgba(3,48,52,.07)!important;background:var(--org-surface,#fff)!important}
.reservation-editor-head{padding:24px 26px 20px!important;margin:0!important;background:linear-gradient(135deg,var(--org-surface,#fff),color-mix(in srgb,var(--org-primary),#fff 96%));border-bottom:1px solid var(--line)}
.reservation-editor-head h2{font-size:22px!important;letter-spacing:-.02em}.reservation-editor-head .muted{margin-top:5px!important}
.reservation-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px!important;padding:20px 22px 24px!important}
.reservation-section{padding:20px 21px!important;border:1px solid color-mix(in srgb,var(--org-primary),transparent 87%)!important;border-radius:20px!important;background:linear-gradient(180deg,var(--org-surface,#fff),color-mix(in srgb,var(--org-background),#fff 58%))!important;box-shadow:0 8px 24px rgba(3,48,52,.045)!important;min-width:0}
.reservation-section-head{display:flex!important;align-items:center!important;gap:12px!important;margin:0 0 18px!important;padding-bottom:14px!important;border-bottom:1px solid var(--line)!important}
.reservation-section-head h3{margin:0!important;color:var(--dark)!important;font-size:17px!important;font-weight:850!important;letter-spacing:-.01em}.reservation-section-head p{margin:3px 0 0!important;color:var(--muted)!important;font-size:12px!important}
.reservation-step{display:grid!important;place-items:center!important;width:38px!important;height:38px!important;flex:0 0 38px!important;border-radius:14px!important;background:color-mix(in srgb,var(--org-primary),#fff 89%)!important;color:var(--org-primary)!important;font-size:14px!important;font-weight:900!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--org-primary),transparent 86%)!important}
.reservation-fields{display:grid!important;gap:14px!important}.reservation-fields-3{grid-template-columns:1.35fr .9fr 1fr!important}.reservation-fields-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.reservation-fields-money{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.reservation-form .field{margin:0!important;min-width:0}.reservation-form .field label{display:block!important;margin:0 0 6px!important;font-size:12px!important;font-weight:800!important;color:var(--dark)!important}.reservation-form input,.reservation-form select,.reservation-form textarea{width:100%!important;box-sizing:border-box!important;min-height:44px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:#fff!important;padding:10px 12px!important;box-shadow:0 2px 6px rgba(3,48,52,.025)!important}.reservation-form textarea{min-height:82px!important;resize:vertical}.reservation-form input:focus,.reservation-form select:focus,.reservation-form textarea:focus{outline:none!important;border-color:color-mix(in srgb,var(--org-primary),transparent 38%)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--org-primary),transparent 91%)!important}
.reservation-visitors{max-width:none!important}.reservation-visitors small{display:block!important;margin-top:6px!important;font-size:11px!important}
.reservation-finance{grid-column:1/-1!important}.reservation-notes{grid-column:1/-1!important;padding:16px 20px!important}.reservation-actions{grid-column:1/-1!important;display:flex!important;justify-content:flex-end!important;gap:10px!important;padding-top:0!important}
.reservation-billing-summary{margin-top:18px!important;display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;gap:14px 16px!important;padding:18px 20px!important;border-radius:18px!important;background:linear-gradient(135deg,color-mix(in srgb,var(--org-primary),#fff 92%),color-mix(in srgb,var(--org-accent),#fff 95%))!important;border:1px solid color-mix(in srgb,var(--org-primary),transparent 78%)!important;box-shadow:0 8px 24px rgba(3,48,52,.05)!important}
.reservation-billing-icon{display:grid!important;place-items:center!important;width:46px!important;height:46px!important;border-radius:15px!important;background:var(--org-primary)!important;color:#fff!important;font-size:19px!important;font-weight:900!important;box-shadow:0 8px 18px color-mix(in srgb,var(--org-primary),transparent 74%)!important}.reservation-billing-copy{display:flex!important;flex-direction:column!important;gap:3px!important}.reservation-billing-eyebrow{font-size:10px!important;font-weight:900!important;letter-spacing:.09em!important;text-transform:uppercase!important;color:var(--org-primary)!important}.reservation-billing-copy strong{font-size:16px!important;color:var(--dark)!important}.reservation-billing-copy span:not(.reservation-billing-eyebrow){font-size:12px!important;color:var(--muted)!important}.reservation-billing-summary>b{font-size:27px!important;line-height:1!important;color:var(--org-primary)!important;white-space:nowrap!important}.reservation-billing-summary small{grid-column:2/4!important;color:var(--muted)!important;font-size:11px!important}
.reservation-filter-card{padding:14px 16px!important;border-radius:18px!important;box-shadow:0 8px 24px rgba(3,48,52,.045)!important}.filters{display:flex!important;gap:10px!important;align-items:center!important;flex-wrap:wrap!important}.filters select{min-height:40px!important;padding:8px 34px 8px 11px!important;border:1px solid var(--line)!important;border-radius:11px!important;background:#fff!important;font-size:12px!important}
.reservation-list{display:grid!important;gap:12px!important;margin-top:16px!important}.reservation-card{display:grid!important;grid-template-columns:74px minmax(0,1fr) auto!important;gap:18px!important;align-items:center!important;padding:17px 20px!important;background:var(--org-surface,#fff)!important;border:1px solid color-mix(in srgb,var(--org-primary),transparent 86%)!important;border-radius:21px!important;box-shadow:0 10px 28px rgba(3,48,52,.055)!important;cursor:pointer!important;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease!important}.reservation-card:hover{transform:translateY(-2px)!important;border-color:color-mix(in srgb,var(--org-primary),transparent 62%)!important;box-shadow:0 16px 34px rgba(3,48,52,.09)!important}
.reservation-date-block{height:70px!important;border-radius:18px!important;background:linear-gradient(145deg,color-mix(in srgb,var(--org-primary),#fff 88%),color-mix(in srgb,var(--org-primary),#fff 95%))!important;display:grid!important;place-items:center!important;align-content:center!important;line-height:1!important;color:var(--org-primary)!important;border:1px solid color-mix(in srgb,var(--org-primary),transparent 85%)!important}.reservation-date-block span{font-size:10px!important;font-weight:900!important;letter-spacing:.1em!important}.reservation-date-block strong{font-size:27px!important;margin:4px 0 3px!important}.reservation-date-block small{font-size:10px!important;color:var(--muted)!important}
.reservation-main{min-width:0!important}.reservation-title-line{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important}.reservation-title-line h3{margin:0!important;color:var(--dark)!important;font-size:17px!important;font-weight:850!important}.reservation-title-line>div>span{display:block!important;color:var(--muted)!important;font-size:12px!important;margin-top:3px!important}.reservation-meta{display:flex!important;gap:7px!important;flex-wrap:wrap!important;margin-top:11px!important;color:var(--muted)!important;font-size:11px!important}.reservation-meta>span{padding:5px 8px!important;border-radius:9px!important;background:color-mix(in srgb,var(--org-background),#fff 42%)!important;border:1px solid color-mix(in srgb,var(--line),transparent 20%)!important}.reservation-channel{font-weight:850!important;color:var(--org-primary)!important}.reservation-status{display:inline-flex!important;align-items:center!important;padding:6px 10px!important;border-radius:999px!important;background:#e8f4ef!important;color:#24634e!important;font-size:10px!important;font-weight:850!important;white-space:nowrap!important}.reservation-status.cancelled{background:#f5ecea!important;color:#8a4437!important}
.reservation-money{display:flex!important;align-items:center!important;gap:22px!important;padding-left:20px!important;border-left:1px solid var(--line)!important}.reservation-money>div{display:flex!important;flex-direction:column!important;min-width:125px!important}.reservation-money span{font-size:10px!important;color:var(--muted)!important;white-space:nowrap!important}.reservation-money strong{font-size:17px!important;color:var(--dark)!important;margin-top:3px!important}.reservation-money-accent{padding:9px 12px!important;border-radius:13px!important;background:color-mix(in srgb,var(--org-primary),#fff 94%)!important}.reservation-money-accent strong{color:var(--org-primary)!important}.reservation-open{font-size:29px!important;line-height:1!important;color:var(--org-primary)!important;margin-left:2px!important}
.reservation-empty{text-align:center!important;padding:44px 24px!important}.reservation-empty-icon{margin:0 auto 14px!important;display:grid!important;place-items:center!important;width:58px!important;height:58px!important;border-radius:20px!important;background:color-mix(in srgb,var(--org-primary),#fff 90%)!important;color:var(--org-primary)!important;font-size:26px!important}.reservation-empty h2{margin:0 0 7px!important}.reservation-empty p{margin:0 auto 18px!important;max-width:520px!important;color:var(--muted)!important}
@media(max-width:1050px){.reservation-form{grid-template-columns:1fr!important}.reservation-finance,.reservation-notes,.reservation-actions{grid-column:auto!important}.reservation-fields-money{grid-template-columns:repeat(2,minmax(0,1fr))!important}.reservation-card{grid-template-columns:64px minmax(0,1fr)!important}.reservation-money{grid-column:2!important;border-left:0!important;padding-left:0!important;border-top:1px solid var(--line)!important;padding-top:12px!important}.reservation-open{margin-left:auto!important}}
@media(max-width:760px){.reservation-editor-head{padding:20px!important}.reservation-form{padding:14px!important}.reservation-section{padding:16px!important}.reservation-fields-3,.reservation-fields-2,.reservation-fields-money{grid-template-columns:1fr!important}.reservation-billing-summary{grid-template-columns:auto 1fr!important}.reservation-billing-summary>b{grid-column:2!important}.reservation-billing-summary small{grid-column:1/-1!important}.reservation-card{grid-template-columns:52px 1fr!important;gap:12px!important;padding:13px!important}.reservation-date-block{height:56px!important;border-radius:14px!important}.reservation-date-block strong{font-size:21px!important}.reservation-money{grid-column:1/-1!important;display:grid!important;grid-template-columns:1fr 1fr auto!important;gap:8px!important}.reservation-money>div{min-width:0!important}.reservation-title-line{display:block!important}.reservation-status{margin-top:7px!important}}

/* Intend'Up 0.14.4 - reservation form polish */
.reservation-reference{grid-column:1 / -1;max-width:52%;}
.reservation-section-head{align-items:center;}
.reservation-section-head h3{margin:0;}
.reservation-section-head p{display:none;}
@media (max-width:760px){.reservation-reference{max-width:none;}}

/* 0.14.7 reservations polish */
.reservation-list-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 22px!important}.reservation-list-header p{margin:0!important}.reservation-new-button{flex:0 0 auto;margin-left:auto!important;padding:13px 20px!important}
.reservation-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 16px}.reservation-kpi{background:var(--org-surface,#fff);border:1px solid color-mix(in srgb,var(--org-primary),transparent 86%);border-radius:18px;padding:17px 20px;box-shadow:0 8px 24px rgba(3,48,52,.045)}.reservation-kpi span{display:block;font-size:11px;color:var(--muted);font-weight:750;margin-bottom:6px}.reservation-kpi strong{font-size:24px;color:var(--dark);line-height:1.1}
.reservation-filters{align-items:flex-end!important}.reservation-filters .filter-field{display:flex;flex-direction:column;gap:5px}.reservation-filters .filter-field label{font-size:10px;font-weight:850;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.reservation-filters input,.reservation-filters select{min-height:40px!important;border:1px solid var(--line)!important;border-radius:11px!important;background:#fff!important;padding:8px 11px!important;box-sizing:border-box}.reservation-filters .button{min-height:40px!important}
.reservation-card{text-decoration:none!important;color:inherit!important}.reservation-card:visited{color:inherit!important}.reservation-notes{grid-column:1/-1!important;padding:20px!important}.reservation-notes .reservation-section-head{margin-bottom:12px!important}.reservation-stay-link{margin-top:16px!important}.reservation-cancel-form{margin:0 24px 24px!important}.reservation-owner-payout{margin-top:12px!important}
@media(max-width:900px){.reservation-kpis{grid-template-columns:1fr}.reservation-list-header{align-items:flex-start;flex-direction:column}.reservation-new-button{margin-left:0!important}}

/* 0.14.9 — reversements interaction and filters */
.payout-list-card{overflow-x:auto}.payout-table tbody tr[data-row-href]{cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.payout-table tbody tr[data-row-href]:hover{background:color-mix(in srgb,var(--org-primary),#fff 96%);box-shadow:inset 3px 0 0 var(--org-accent)}.payout-table .table-filters select,.payout-table .table-filters input{width:100%;min-width:100px;box-sizing:border-box}.payout-table .table-filter-empty{background:transparent}.payout-doc{white-space:nowrap}.payout-action{margin:0}.payout-top-filters .filters{align-items:center}.payout-table th:last-child{min-width:125px}

/* 0.14.10 — owner accounting ledger */
.accounting-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.accounting-kpi{padding:18px 20px;border:1px solid var(--line);border-radius:18px;background:var(--org-surface,#fff);box-shadow:0 8px 24px rgba(3,48,52,.04)}.accounting-kpi span{display:block;color:var(--muted);font-size:12px;font-weight:750;margin-bottom:6px}.accounting-kpi strong{font-size:21px;color:var(--dark)}.accounting-balance{background:color-mix(in srgb,var(--org-primary),#fff 93%);border-color:color-mix(in srgb,var(--org-primary),transparent 75%)}.accounting-balance strong{color:var(--org-primary)}.account-filters .filters{align-items:end;gap:12px}.owner-account-card{padding:0!important;overflow:hidden}.owner-account-card .section-heading{padding:20px 22px 14px;margin:0;border-bottom:1px solid var(--line)}.owner-account-wrap{overflow-x:auto}.owner-account-table{margin:0}.owner-account-table th.money,.owner-account-table td.money{text-align:right;white-space:nowrap}.owner-account-table td:nth-child(3){min-width:300px}.owner-account-table td small{display:block;margin-top:3px;color:var(--muted);font-size:11px}.owner-account-table .debit{color:#9a4338}.owner-account-table .credit{color:#176c59}.owner-account-table .opening-row{background:color-mix(in srgb,var(--org-primary),#fff 97%)}
@media(max-width:900px){.accounting-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.account-filters .filters{align-items:stretch}.account-filters .filters .button{width:100%;box-sizing:border-box;text-align:center}}
@media(max-width:560px){.accounting-summary{grid-template-columns:1fr}}
/* 0.14.12 — owner financial workspace */
.owner-month-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.owner-doc-card{border:1px solid #dfe8e6;border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:14px;background:var(--org-surface,#fff);min-height:220px}.owner-doc-card h3{margin:3px 0 5px;font-size:1.05rem}.owner-doc-card p{margin:0;color:#718080}.owner-doc-card .button{margin-top:auto;align-self:flex-start}.owner-doc-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#e8f2f0;color:var(--org-primary,#045d5d)}.owner-doc-icon svg{width:22px;height:22px}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700;color:var(--org-primary,#045d5d)}.owner-accounting .data-table th:nth-child(3){min-width:300px}.owner-accounting .data-table .num{text-align:right;white-space:nowrap}.owner-account-kpis{margin:18px 0}.button.compact{padding:7px 11px;font-size:.84rem}@media(max-width:900px){.owner-month-grid{grid-template-columns:1fr}.owner-doc-card{min-height:0}}

/* 0.14.13 — owner invoices + default future lists */
.owner-invoice-table{min-width:720px}.owner-invoice-table th:nth-child(1){width:22%}.owner-invoice-table th:nth-child(2),.owner-invoice-table th:nth-child(3){width:16%}.owner-invoice-table th:nth-child(4){width:18%}.owner-invoice-table th:nth-child(5){width:18%}.owner-invoice-table th:last-child{width:54px}.owner-invoice-table td:nth-child(4){font-variant-numeric:tabular-nums}.owner-invoice-table tbody tr[data-row-href]{cursor:pointer}.owner-invoice-table tbody tr[data-row-href]:hover{background:color-mix(in srgb,var(--org-primary),transparent 95%)}.owner-invoice-pdf{text-align:right}

/* 0.14.16 — financial tables: calm typography and useful interval filters. */
.payout-table a.record-link,.billing-data-table a.record-link,.invoice-register a.record-link{font-weight:400}
.payout-table tbody td,.billing-data-table tbody td{font-weight:400}
.table-filters .table-range-filter{display:grid;grid-template-columns:minmax(78px,1fr) minmax(78px,1fr);gap:5px;min-width:166px}
.table-filters .table-range-filter input{width:100%;min-width:0;box-sizing:border-box}
.table-filters .table-date-range{min-width:230px}
.table-filters .table-date-range input{min-width:110px}

/* 0.14.17 — interval filters stacked vertically for compact financial tables. */
.table-filters .table-range-filter{display:flex;flex-direction:column;gap:5px;min-width:0}
.table-filters .table-range-filter input{display:block;width:100%;min-width:0;box-sizing:border-box}
.table-filters .table-date-range{min-width:0}
.table-filters .table-date-range input{min-width:0}

/* 0.14.18 — invoice register drawer */
.invoice-register .record-link.invoice-open-button{appearance:none;border:0;background:transparent;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left;text-decoration:underline;text-decoration-color:rgba(21,77,76,.28);text-underline-offset:3px}.invoice-row-open{width:44px;text-align:center}.invoice-row-open .icon-action{font-size:1.45rem;font-weight:400}.invoice-drawer-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid #edf0ef;padding-top:20px}.invoice-drawer-actions form{margin:0}.invoice-payment-form{display:grid;gap:14px}.invoice-payment-form .field{margin:0}.invoice-payment-form input,.invoice-payment-form select{width:100%}.payment-readonly{display:grid;gap:10px}.payment-readonly>div{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:11px 0;border-bottom:1px solid #edf0ef}.payment-readonly b{font-size:.78rem;color:#71807e}.payment-readonly span{font-weight:500}


/* 0.15.0 — invoice payment ledger */
.invoice-payment-balance{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;margin-bottom:14px;border-radius:12px;background:#f4f7f6;font-size:.86rem}.invoice-payment-history{margin:0 0 18px}.invoice-payment-history h5{margin:0 0 8px}.mini-table{width:100%;border-collapse:collapse;font-size:.78rem}.mini-table th,.mini-table td{padding:8px 6px;border-bottom:1px solid #e7ecea;text-align:left}.mini-table th:first-child,.mini-table td:first-child{text-align:right;white-space:nowrap}.invoice-payment-form{border-top:1px solid #edf0ef;padding-top:16px}
/* 0.15.1 owner payment allocation */
.payment-allocation-block{margin-top:8px}.payment-allocation-row{display:grid;grid-template-columns:minmax(0,1fr) 130px;gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border,#e6eceb)}.payment-allocation-row>div{display:flex;flex-direction:column;gap:2px}.payment-allocation-row span{font-size:.84rem;color:#71807e}.payment-allocation-row input{text-align:right}.payment-allocation-summary{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--border,#e6eceb);font-size:.92rem}.payment-allocation-summary b{font-weight:600}.button.small{padding:6px 10px;font-size:.82rem}
/* 0.15.2 launch assistant, imports and notification center */
.setup-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.setup-steps a,.import-choice{border:1px solid #e3e8e5;border-radius:14px;padding:16px;background:#fff;text-decoration:none;color:inherit;display:flex;justify-content:space-between;gap:12px}.setup-steps a:hover{border-color:var(--org-primary);box-shadow:0 5px 18px rgba(0,0,0,.05)}.import-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.import-choice{display:block}.import-choice form{display:flex;gap:10px;align-items:center;margin-top:14px;flex-wrap:wrap}.notification-settings{max-width:720px}.notification-settings label{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid #edf0ee}.notification-center{position:relative}.notification-bell{list-style:none;cursor:pointer;position:relative;width:38px;height:38px;border:1px solid #e1e6e3;border-radius:12px;display:grid;place-items:center;background:#fff}.notification-bell::-webkit-details-marker{display:none}.notification-bell span{position:absolute;right:-5px;top:-5px;background:var(--org-accent);color:#fff;font-size:10px;min-width:18px;height:18px;border-radius:9px;display:grid;place-items:center;padding:0 4px}.notification-panel{position:absolute;right:0;top:46px;width:min(390px,85vw);background:#fff;border:1px solid #dde4e0;border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.14);padding:10px;z-index:100}.notification-panel-head{display:flex;justify-content:space-between;align-items:center;padding:8px 10px 12px}.notification-panel-head a{text-decoration:none}.notification-item{display:block;text-decoration:none;color:inherit;padding:11px 12px;border-radius:11px}.notification-item:hover{background:#f3f7f5}.notification-item b,.notification-item span{display:block}.notification-item span{font-size:12px;color:#66736d;margin-top:3px}.notification-panel p{padding:10px}.import-preview-head{display:flex;justify-content:space-between;gap:12px;margin:12px 0 16px}@media(max-width:800px){.setup-steps,.import-choice-grid{grid-template-columns:1fr}}

/* 0.15.6 — guided first-run workflow */
.setup-wizard{max-width:980px;margin:0 auto}.setup-wizard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.setup-wizard-head h2{font-size:26px;margin:3px 0 6px}.setup-wizard-head>strong{font-size:20px;color:var(--org-primary,var(--petrol));white-space:nowrap}.setup-eyebrow{font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.11em;color:var(--org-accent,var(--orange))}.setup-progress{height:11px;border-radius:99px;background:#e7efee;overflow:hidden;margin:24px 0 7px}.setup-progress i,.setup-mini-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--org-primary,var(--petrol)),var(--org-accent,var(--orange)))}.setup-progress-caption{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;margin-bottom:22px}.setup-timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.setup-step-card{display:flex;gap:10px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:13px;text-decoration:none;background:#fff;color:var(--dark)}.setup-step-card.current{border-color:var(--org-accent,var(--orange));box-shadow:0 0 0 2px color-mix(in srgb,var(--org-accent,var(--orange)) 12%,transparent)}.setup-step-card.done{background:#f1f8f5}.setup-step-number{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#edf3f2;font-weight:850;flex:0 0 auto}.setup-step-card.current .setup-step-number{background:var(--org-accent,var(--orange));color:#fff}.setup-step-card.done .setup-step-number{background:#d8eee5;color:#17624e}.setup-step-card small{display:block;color:var(--muted);margin-top:2px}.setup-wizard-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:24px}.setup-context-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:11px 15px;margin:0 0 16px;background:#fff;border:1px solid var(--line);border-radius:12px}.setup-context-bar>a{text-decoration:none;font-weight:750}.setup-context-bar>div{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}.setup-mini-progress{width:150px;height:7px;background:#e7efee;border-radius:99px;overflow:hidden}.setup-next-row{display:flex;justify-content:flex-end;margin-top:18px}@media(max-width:900px){.setup-timeline{grid-template-columns:1fr 1fr}}@media(max-width:600px){.setup-timeline{grid-template-columns:1fr}.setup-wizard-actions,.setup-context-bar{align-items:stretch;flex-direction:column}.setup-mini-progress{width:100%}}
/* 0.15.6 — premium onboarding billing */
.onboarding-billing-card{padding:26px}.billing-settings-form{gap:18px 20px}.settings-block-title{display:flex;align-items:center;gap:13px;margin:12px 0 0;padding:15px 17px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(135deg,color-mix(in srgb,var(--org-primary,var(--petrol)) 7%,#fff),#fff);box-shadow:0 5px 18px rgba(3,48,52,.045)}.settings-block-title h3{margin:0;color:var(--org-primary,var(--dark));font-size:17px}.settings-block-title small{display:block;color:var(--muted);margin-top:3px;font-size:12px}.settings-block-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--org-primary,var(--petrol));color:#fff;font-size:11px;font-weight:900;letter-spacing:.04em;flex:0 0 auto}.toggle-setting{align-self:stretch}.toggle-setting>label,.premium-check{height:100%;min-height:70px;display:flex;align-items:flex-start;gap:11px;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer}.toggle-setting input,.premium-check input{width:18px;height:18px;margin:2px 0 0;flex:0 0 auto}.toggle-setting b,.premium-check b{display:block;color:var(--dark);font-size:13px}.toggle-setting small,.premium-check small{display:block;color:var(--muted);font-size:11px;line-height:1.4;margin-top:3px}.recovery-fee-setting{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:12px;align-items:stretch}.recovery-amount{display:flex;flex-direction:column;justify-content:center;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:#fff}.recovery-amount>span{font-size:11px;font-weight:800;color:var(--muted);margin-bottom:5px}.recovery-amount>div{display:flex;align-items:center;gap:7px}.recovery-amount input{min-width:0}.recovery-amount em{font-style:normal;font-weight:800;color:var(--dark)}.onboarding-submit{justify-content:flex-end;margin-top:6px;padding-top:18px;border-top:1px solid var(--line)}.onboarding-submit .button.orange{min-width:220px;padding:13px 20px;font-size:14px;box-shadow:0 8px 18px color-mix(in srgb,var(--org-accent,var(--orange)) 22%,transparent)}@media(max-width:700px){.recovery-fee-setting{grid-template-columns:1fr}.onboarding-submit .button{width:100%}}

/* 0.15.8 — premium billing onboarding cards */
.onboarding-billing-shell{margin-bottom:18px}.billing-page-intro{margin:0 0 16px;padding:0 2px}.billing-page-intro h2{margin:0 0 4px;color:var(--dark);font-size:21px}.billing-page-intro p{margin:0;color:var(--muted);font-size:13px}.billing-premium-form{display:grid;gap:16px}.billing-premium-card{overflow:hidden;background:var(--org-surface,#fff);border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 26px rgba(3,48,52,.055)}.billing-premium-card>header{display:flex;gap:13px;align-items:center;padding:17px 20px;background:linear-gradient(135deg,color-mix(in srgb,var(--org-primary,var(--petrol)) 7%,#fff),#fff);border-bottom:1px solid color-mix(in srgb,var(--line),transparent 15%)}.billing-premium-card>header>span{width:36px;height:36px;display:grid;place-items:center;flex:0 0 auto;border-radius:11px;background:var(--org-primary,var(--petrol));color:#fff;font-size:11px;font-weight:900}.billing-premium-card>header h3{margin:0;color:var(--dark);font-size:17px}.billing-premium-card>header p{margin:3px 0 0;color:var(--muted);font-size:12px}.billing-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;padding:20px}.billing-card-grid .span-2{grid-column:1/-1}.billing-card-grid textarea{min-height:76px}.input-suffix{display:flex;align-items:stretch}.input-suffix input{border-radius:10px 0 0 10px!important}.input-suffix span{display:grid;place-items:center;min-width:44px;padding:0 10px;border:1px solid var(--line);border-left:0;border-radius:0 10px 10px 0;background:color-mix(in srgb,var(--org-background),#fff 48%);font-weight:850;color:var(--dark)}.activity-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.activity-choice{display:flex;align-items:flex-start;gap:9px;padding:13px;border:1px solid var(--line);border-radius:12px;cursor:pointer;background:#fff;min-height:68px}.activity-choice.selected{border-color:var(--org-primary,var(--petrol));box-shadow:0 0 0 2px color-mix(in srgb,var(--org-primary,var(--petrol)) 12%,transparent)}.activity-choice input{width:17px!important;height:17px;margin:2px 0 0;flex:0 0 auto}.activity-choice b{display:block;font-size:13px;color:var(--dark)}.activity-choice small{display:block;margin-top:3px;color:var(--org-primary,var(--petrol));font-size:10px;font-weight:750}.premium-toggle{display:flex;align-items:flex-start;gap:11px;padding:14px 15px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--org-background),#fff 70%);cursor:pointer}.premium-toggle input{width:18px!important;height:18px;margin:2px 0 0;flex:0 0 auto}.premium-toggle b{display:block;color:var(--dark);font-size:13px}.premium-toggle small{display:block;color:var(--muted);font-size:11px;line-height:1.45;margin-top:3px}.recovery-setting{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:12px;align-items:stretch}.recovery-setting .premium-toggle{height:100%}.compact-amount{padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}.compact-amount label{font-size:11px}.billing-save-row{display:flex;justify-content:flex-end;padding:2px 0 6px}.billing-save-row .button.orange{min-width:230px;padding:13px 20px;font-size:14px;box-shadow:0 8px 18px color-mix(in srgb,var(--org-accent,var(--orange)) 22%,transparent)}@media(max-width:760px){.billing-card-grid,.activity-choice-grid,.recovery-setting{grid-template-columns:1fr}.billing-card-grid .span-2{grid-column:auto}.billing-save-row .button{width:100%}}

/* 0.15.9 — onboarding payment controls */
.discount-control{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:10px}.discount-control select{width:100%}.discount-value input[disabled]{background:#f3f6f4;color:#899}.compact-amount input[readonly]{background:#f4f7f6;color:var(--dark);font-weight:800}.email-settings .form>div:last-child{display:flex;justify-content:flex-end}.email-settings .button.orange{min-width:220px;padding:13px 20px;box-shadow:0 8px 18px color-mix(in srgb,var(--org-accent,var(--orange)) 22%,transparent)}@media(max-width:700px){.discount-control{grid-template-columns:1fr}}

/* 0.15.11 — lock navigation during first-run setup */
.nav.nav-locked{opacity:.46;filter:saturate(.45)}
.nav .nav-disabled{display:block;color:#d9ecea;padding:11px 13px;border-radius:10px;margin:3px 0;font-weight:650;cursor:not-allowed;user-select:none}
.nav.nav-locked .nav-disabled.active{background:rgba(255,255,255,.07);color:#d9ecea}

/* 0.15.13 invoice period exports */
.invoice-export-bar{display:grid;grid-template-columns:minmax(230px,1fr) 150px 150px 270px auto;gap:14px;align-items:end;margin:14px 0 18px;padding:16px 18px;border:1px solid var(--border,#e6e8eb);border-radius:16px;background:var(--card,#fff);box-shadow:0 8px 24px rgba(20,35,45,.045)}.invoice-export-bar>div{align-self:center}.invoice-export-bar>div strong{display:block;font-size:14px}.invoice-export-bar>div span{display:block;margin-top:3px;font-size:12px;color:var(--muted,#6b7280)}.invoice-export-bar label{font-size:12px;font-weight:650}.invoice-export-bar input,.invoice-export-bar select{display:block;width:100%;margin-top:5px}@media(max-width:1000px){.invoice-export-bar{grid-template-columns:1fr 1fr}.invoice-export-bar>div{grid-column:1/-1}}

/* 0.16.0 autonomous signup / getting started */
.getting-started-hero{display:grid;grid-template-columns:1fr 260px;gap:24px;align-items:stretch;margin-bottom:18px}.getting-started-hero>div:first-child,.free-plan-card,.getting-started-card,.first-property-success,.free-property-banner{background:#fff;border:1px solid #e5ebe8;border-radius:18px;box-shadow:0 8px 28px rgba(20,48,43,.06)}.getting-started-hero>div:first-child{padding:28px}.getting-started-hero h2{margin:6px 0 8px;font-size:28px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--org-accent)}.free-plan-card{padding:22px;display:flex;flex-direction:column;gap:5px}.free-plan-card>span,.free-plan-card small{color:#71807a}.free-plan-card>strong{font-size:22px;color:var(--org-primary)}.getting-started-card{padding:24px;margin-bottom:18px}.start-checklist{display:grid;gap:10px;margin-top:14px}.start-item{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid #e5ebe8;border-radius:14px;text-decoration:none;color:inherit}.start-item>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#edf3f1;font-weight:800}.start-item div{display:flex;flex-direction:column;gap:3px}.start-item small{color:#71807a}.start-item.current{border-color:var(--org-accent);background:#fff9f6}.start-item.current>span{background:var(--org-accent);color:#fff}.start-item.done>span{background:var(--org-primary);color:#fff}.start-item.locked{opacity:.48;pointer-events:none}.free-property-banner{padding:16px 18px;margin:14px 0;display:flex;flex-direction:column;gap:4px;border-color:#cfe1dc}.free-property-banner strong{color:var(--org-primary)}.first-property-success{padding:22px;margin-bottom:18px;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center}.success-check{width:44px;height:44px;border-radius:50%;background:var(--org-primary);color:#fff;display:grid;place-items:center;font-size:24px}.first-property-success h2,.first-property-success p{margin:0}.first-property-success p{margin-top:5px;color:#71807a}@media(max-width:760px){.getting-started-hero{grid-template-columns:1fr}.first-property-success{grid-template-columns:auto 1fr}.first-property-success .actions{grid-column:1/-1}}

/* 0.16.3 onboarding UX */
.onboarding-welcome-card,.onboarding-finish-card{max-width:900px;margin:34px auto;padding:clamp(32px,5vw,64px);text-align:center;border-top:4px solid var(--org-accent)}
.onboarding-welcome-card h2,.onboarding-finish-card h2{font-size:clamp(30px,4vw,46px);margin:10px 0 14px}.onboarding-welcome-card>p,.onboarding-finish-card>p{max-width:700px;margin:0 auto 30px;color:var(--muted);font-size:17px;line-height:1.6}.onboarding-four-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:30px 0}.onboarding-four-steps span{display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 10px;background:var(--org-background);border:1px solid var(--line);border-radius:14px;font-weight:750}.onboarding-four-steps b,.onboarding-finish-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--org-accent);color:#fff}.onboarding-four-steps small{font-weight:500;color:var(--muted)}.onboarding-finish-icon{width:70px;height:70px;margin:0 auto 18px;font-size:32px}.onboarding-finish-card .button,.onboarding-welcome-card .button{font-size:16px;padding:14px 22px}.setup-context-bar{margin-top:0}.settings-tabs+ .setup-context-bar{margin-top:0}@media(max-width:760px){.onboarding-four-steps{grid-template-columns:1fr 1fr}.onboarding-welcome-card,.onboarding-finish-card{margin:18px auto;padding:28px 20px}}

/* 0.16.4 property usage */
.property-usage-choices{display:flex;gap:12px;flex-wrap:wrap}.property-usage-choices label{display:flex;align-items:center;gap:8px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;font-weight:750}.property-usage-choices input{width:18px!important;height:18px}.rental-only-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}.rental-only-fields[hidden]{display:none}@media(max-width:760px){.rental-only-fields{grid-template-columns:1fr}}

.onboarding-four-steps.onboarding-three-steps{grid-template-columns:repeat(3,1fr);max-width:700px;margin-left:auto;margin-right:auto}

/* 0.16.5 first business journey */
.rental-data-block{border:1px solid color-mix(in srgb,var(--org-primary),#fff 78%);border-radius:18px;padding:18px;background:color-mix(in srgb,var(--org-background),#fff 55%);margin-top:4px}.rental-data-head h3{margin:0;color:var(--org-primary)}.rental-data-head p{margin:5px 0 16px;color:#657a76;font-size:13px}.rental-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.first-flow-next{margin-top:18px;padding:18px;border:1px solid #cfe1dc;border-radius:16px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fff}.first-flow-next>div{display:flex;flex-direction:column;gap:4px}.first-flow-next span{color:#687b77;font-size:13px}.stay-layout-missing{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.first-owner-form{padding-top:4px}@media(max-width:760px){.rental-data-grid{grid-template-columns:1fr}.first-flow-next{align-items:stretch;flex-direction:column}}

/* 0.16.6 focused first journey */
.first-create-heading{max-width:1040px;margin:0 auto 18px;padding:4px 2px}.first-create-heading .eyebrow{display:block;color:#E85022;font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}.first-create-heading h2{margin:0 0 5px;font-size:1.55rem;color:#043D41}.first-create-heading p{margin:0;color:#557071;max-width:760px}.focus-create-card{max-width:1040px;margin:0 auto;border-top:4px solid #E85022}.focus-create-card>summary{display:none}.focus-create-card[open]{padding-top:22px}.property-create-card .form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px 24px}.property-create-card .field.wide,.property-create-card .rental-data-block,.property-create-card form>div:last-child{grid-column:1/-1}.property-create-card .rental-data-block{padding:22px 24px;background:#f8fbfa;border:1px solid #c9dcda;border-radius:18px}.property-create-card .rental-data-head{margin-bottom:18px}.property-create-card .rental-data-head h3{margin:0 0 4px;color:#043D41;font-size:1.08rem}.property-create-card .rental-data-head p{margin:0;color:#607677}.property-create-card .rental-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 22px}.property-create-card .rental-data-grid .field{min-width:0}.property-create-card .rental-data-grid label{min-height:auto}.room-capacity-warning{margin:10px 0;padding:10px 12px;border-radius:10px;background:#fff3ed;color:#8c321f;font-weight:700}.room-needs-attention{outline:3px solid #E85022;outline-offset:3px}.stay-create-card{max-width:1080px;margin:0 auto}.stay-create-card>summary{display:none}.stay-create-card[open]{padding-top:22px}
@media(max-width:760px){.property-create-card .form,.property-create-card .rental-data-grid{grid-template-columns:1fr}.property-create-card .field.wide,.property-create-card .rental-data-block,.property-create-card form>div:last-child{grid-column:auto}}

/* 0.16.7 property setup and mission photo policy */
.rental-data-v2{display:block!important;padding:20px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--org-surface),var(--org-background) 22%)}
.rental-data-v2 .rental-data-head{margin-bottom:16px}.rental-data-v2 .rental-data-head h3{margin:3px 0 4px}.rental-data-v2 .rental-data-head p{margin:0;color:var(--muted);max-width:720px}
.rental-data-v2 .rental-data-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.rental-metric-card{display:flex;flex-direction:column;gap:6px;min-height:132px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--org-surface)}.rental-metric-card>span{font-weight:800;line-height:1.25}.rental-metric-card>small{color:var(--muted);line-height:1.35;min-height:30px}.rental-metric-card input{margin-top:auto;width:100%}
.rooms-help-dialog{max-width:560px;border:0;border-radius:22px;padding:0;box-shadow:0 28px 80px rgba(0,0,0,.22)}.rooms-help-dialog::backdrop{background:rgba(4,61,65,.42);backdrop-filter:blur(3px)}.rooms-help-content{padding:28px;text-align:center}.rooms-help-icon{font-size:36px}.rooms-help-content h2{margin:8px 0}.rooms-help-content>p{color:var(--muted);line-height:1.5}.rooms-help-steps{display:grid;gap:8px;margin:20px 0;text-align:left}.rooms-help-steps span{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:var(--org-background)}.rooms-help-steps b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--org-primary);color:#fff}.mission-settings-form{display:grid;gap:14px}.setting-choice-card,.setting-toggle-card{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px;border:1px solid var(--line);border-radius:14px}.setting-choice-card p,.setting-toggle-card small{display:block;margin:4px 0 0;color:var(--muted)}.toggle-control input{width:20px;height:20px}
@media(max-width:1050px){.rental-data-v2 .rental-data-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.rental-data-v2 .rental-data-grid{grid-template-columns:1fr}.setting-choice-card,.setting-toggle-card{align-items:flex-start}}

/* 0.16.8 capacity coherence */
.property-capacity-check{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 12px}.property-capacity-check>div{border:1px solid #d9e5e4;border-radius:14px;padding:14px 16px;background:#fff;display:flex;justify-content:space-between;align-items:center}.property-capacity-check span{color:#5e7374;font-size:.9rem}.property-capacity-check strong{font-size:1.35rem;color:#043D41}.property-capacity-check.is-warning>div{border-color:#f0c5b8;background:#fff8f5}.property-capacity-alert{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}@media(max-width:700px){.property-capacity-check{grid-template-columns:1fr}}

/* 0.16.11 guided first journey */
.rental-only-fields[hidden]{display:none!important}.add-room-panel-bottom{margin-top:18px}.owner-portal-summary{padding:12px 14px;border-radius:12px;background:#f4f8f7;margin:12px 0}.owner-portal-permissions{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);display:flex;gap:14px;align-items:center;justify-content:space-between}.first-stay-success{display:flex;gap:14px;align-items:center;padding:16px 20px;margin-bottom:16px;border:1px solid #b9ded1;border-radius:16px;background:#f1fbf7}.first-stay-success h2,.first-stay-success p{margin:0}.next-step-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.next-step-card{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid var(--line);border-radius:14px;text-decoration:none;color:inherit;background:var(--org-surface)}.next-step-card:hover{border-color:var(--org-accent)}.next-step-card span{color:var(--muted);font-size:13px}@media(max-width:760px){.next-step-grid{grid-template-columns:1fr}.owner-portal-permissions{align-items:flex-start;flex-direction:column}}

/* 0.16.11 UX */
.button.orange,.create-button{color:#fff!important;background:var(--org-accent)!important;border-color:var(--org-accent)!important}.button.orange:hover,.create-button:hover{color:#fff!important;filter:brightness(.94)}
.rooms-help-context{display:block;color:var(--org-accent);font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.rooms-help-hide{display:flex;gap:8px;justify-content:center;align-items:center;margin:15px 0;color:var(--muted)}.help-mini{border:1px solid var(--line);background:#fff;color:var(--org-primary);width:30px;height:30px;border-radius:50%;font-weight:800;cursor:pointer}.account-tabs{margin-bottom:18px}.account-feature{padding:26px}.plan-summary{display:flex;gap:18px;align-items:center;flex-wrap:wrap;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--org-background)}.plan-summary strong{font-size:24px;color:var(--org-primary)}.help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.help-grid a{display:flex;flex-direction:column;text-decoration:none;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff}.help-grid a span{color:var(--muted);font-size:13px;margin-top:4px}.completed-start-help{display:flex;justify-content:space-between;align-items:center;gap:18px}.legal-links{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}@media(max-width:760px){.help-grid{grid-template-columns:1fr}.completed-start-help{display:block}.completed-start-help .button{margin-top:12px}}
/* 0.16.12 operational continuity + support */
.support-intendup{max-width:980px}.support-thread{display:flex;flex-direction:column;gap:10px;margin:18px 0;max-height:420px;overflow:auto;padding:4px}.support-bubble{max-width:78%;padding:12px 15px;border-radius:16px;background:#f1f6f5;border:1px solid #d8e5e3}.support-bubble.from-client{align-self:flex-end;background:#fff4ee;border-color:#f6d1c3}.support-bubble small{display:block;color:#708080;font-size:12px;margin-bottom:5px}.support-bubble p{margin:0;white-space:normal}.support-compose{display:grid;gap:10px}.support-compose textarea{width:100%;resize:vertical}.support-compose .button{justify-self:start}.account-legal-dialog{width:min(920px,92vw);height:min(760px,88vh);padding:0;border:0;border-radius:18px;overflow:hidden}.account-legal-dialog::backdrop{background:rgba(4,61,65,.45);backdrop-filter:blur(4px)}.account-legal-dialog .legal-head{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid #dce7e5}.account-legal-dialog iframe{width:100%;height:calc(100% - 64px);border:0;background:#fff}

/* 0.16.15 UX consolidation */
.property-create-submit{grid-column:1/-1}.property-create-submit .button{width:100%;justify-content:center;min-height:48px}.rental-data-v2{grid-column:1/-1}.rental-data-v2 .rental-data-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.rental-metric-card{min-width:0}.mission-tabs-v2{display:none!important}.mission-overview-item{cursor:pointer}.mission-overview-item.active{box-shadow:0 0 0 2px var(--org-accent);background:color-mix(in srgb,var(--org-accent),#fff 94%)}.mission-filter-actions-v2{grid-column:1/-1;display:flex;justify-content:flex-end;align-items:center;gap:14px}.mission-filter-count{font-weight:800;color:var(--org-primary)}.help-journey h3{margin:22px 0 12px}.help-workflow{display:flex;align-items:stretch;gap:8px;overflow-x:auto;padding:4px 0 10px}.help-workflow>a{min-width:132px;flex:1;border:1px solid #d7e4e1;border-radius:16px;padding:16px 12px;text-decoration:none;color:var(--org-primary);display:flex;flex-direction:column;gap:4px;text-align:center;background:#fff}.help-workflow>a:hover{border-color:var(--org-accent);transform:translateY(-1px)}.help-workflow i{font-style:normal;font-size:26px}.help-workflow span{font-size:12px;color:var(--muted)}.help-workflow em{font-style:normal;align-self:center;color:var(--org-accent);font-size:22px}.catalog-help-card,.catalog-start-nudge{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;border:1px solid #f0c5b5;background:#fff9f6;border-radius:18px;padding:18px;margin:18px 0}.catalog-help-card h3,.catalog-help-card p{margin:2px 0}.catalog-help-icon{width:46px;height:46px;border-radius:14px;background:var(--org-accent);color:#fff;display:grid;place-items:center;font-size:22px;font-weight:900}.catalog-start-nudge{grid-template-columns:1fr auto auto}.catalog-start-nudge>div{display:flex;flex-direction:column;gap:4px}@media(max-width:900px){.rental-data-v2 .rental-data-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-help-card,.catalog-start-nudge{grid-template-columns:1fr}.help-workflow em{display:none}}

/* 0.16.16 navigation and guided journey */
.nav-main{display:flex;align-items:center;gap:10px;min-width:0}.nav-icon{width:19px;height:19px;display:inline-flex;flex:0 0 19px;color:var(--org-primary)}.nav-icon svg{width:19px;height:19px}.nav a.active .nav-icon,.nav-disabled.active .nav-icon{color:var(--org-accent)}
.help-workflow i{display:grid;place-items:center;width:38px;height:38px;margin:0 auto 8px;border-radius:12px;background:color-mix(in srgb,var(--org-primary),transparent 92%);color:var(--org-primary)}.help-workflow i svg,.catalog-help-icon svg{width:22px;height:22px}.help-cycle-note{margin:-4px 0 22px;color:var(--muted)}.primary-next-step{border-color:var(--org-accent)!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--org-accent),transparent 45%)}
.iu-support-layout{display:grid;grid-template-columns:260px 1fr;gap:18px}.iu-support-topics{display:flex;flex-direction:column;gap:8px}.iu-support-topic{position:relative;padding:11px 12px;border:1px solid #dce7e6;border-radius:10px;text-decoration:none;color:inherit;background:#fff}.iu-support-topic.active{border-color:var(--org-accent);background:#fff8f3}.iu-support-topic b,.iu-support-topic small{display:block}.iu-support-topic small{margin-top:4px;color:#748181}.iu-support-topic span{position:absolute;right:8px;top:8px;min-width:20px;height:20px;border-radius:10px;background:var(--org-accent);color:#fff;text-align:center;font-size:12px;line-height:20px}.iu-support-conversation h3{margin-top:0}@media(max-width:760px){.iu-support-layout{grid-template-columns:1fr}}

/* 0.16.18 - clearer help journeys */
.help-journey{display:grid;gap:18px}.help-journey>.section-heading{margin-bottom:2px}.help-cycle-card{border:1px solid #dbe6e3;border-radius:22px;padding:22px;background:linear-gradient(180deg,#fff 0%,#fbfdfc 100%);box-shadow:0 8px 24px rgba(22,58,54,.05)}.help-cycle-card>header{display:flex;align-items:center;gap:14px;margin-bottom:8px}.help-cycle-card>header h3{margin:2px 0 0}.help-cycle-badge{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:color-mix(in srgb,var(--org-primary),#fff 91%);color:var(--org-primary);flex:0 0 auto}.help-cycle-badge svg{width:25px;height:25px}.help-cycle-card .help-workflow{margin-top:14px}.help-cycle-card .help-cycle-note{margin:10px 0 0;padding:12px 14px;border-radius:12px;background:color-mix(in srgb,var(--org-accent),#fff 92%);color:var(--org-primary)}


/* 0.16.19 — production UX fixes */
.billing-command-card .billing-inline-filters{
  display:grid;
  grid-template-columns:minmax(0,1.7fr) minmax(0,.9fr) minmax(0,.9fr);
  gap:10px;
  width:100%;
  align-items:center;
}
.billing-command-card .billing-inline-filters input,
.billing-command-card .billing-inline-filters select{
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  min-width:0;
}
.help-cycle-card{min-width:0;overflow:hidden}
.help-cycle-card .help-workflow{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(145px,1fr));
  gap:12px;
  overflow:visible;
  width:100%;
  min-width:0;
}
.help-cycle-card .help-workflow>a{min-width:0;width:auto;box-sizing:border-box}
.help-cycle-card .help-workflow>em{display:none}
@media(max-width:820px){
  .billing-command-card .billing-inline-filters{grid-template-columns:1fr}
  .help-cycle-card .help-workflow{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){.help-cycle-card .help-workflow{grid-template-columns:1fr}}

/* 0.17.0 — denser desktop + usage-based PEREL plan */
@media (min-width:1100px){.portal-main{padding-top:18px}.card{padding:18px}.section-heading{margin-bottom:14px}.portal-header{min-height:58px}.portal-content h1{font-size:clamp(1.7rem,2.2vw,2.25rem)}}
.plan-v17{display:grid;gap:18px}.plan-pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:12px}.plan-pricing-grid article,.plan-kpis article{background:#fff;border:1px solid #dfe8e5;border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:4px}.plan-pricing-grid strong{font-size:1.55rem;color:var(--org-primary)}.plan-pricing-grid span,.plan-kpis small{color:#657574;font-size:.86rem}.plan-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.plan-kpis strong{font-size:2rem;color:var(--org-primary)}.plan-estimate{display:grid;grid-template-columns:1fr 1fr;gap:14px}.plan-estimate>div{border-radius:18px;background:var(--org-primary);color:#fff;padding:20px;display:flex;flex-direction:column;gap:5px}.plan-estimate strong{font-size:1.8rem}.plan-estimate small{opacity:.82}.plan-rules p{line-height:1.65;margin:0}.plan-debit .form{margin-top:10px}@media(max-width:850px){.plan-kpis,.plan-estimate{grid-template-columns:1fr 1fr}}@media(max-width:560px){.plan-kpis,.plan-estimate{grid-template-columns:1fr}}


/* 0.17.1 — compact plan screen */
.plan-v17{gap:11px}
.plan-v17>.section-heading{margin-bottom:2px}
.plan-v17>.section-heading h2{margin-bottom:3px}
.plan-v17>.section-heading p{margin:0;font-size:.9rem}
.plan-pricing-grid{gap:8px}
.plan-pricing-grid article,.plan-kpis article{border-radius:12px;padding:10px 12px;gap:2px}
.plan-pricing-grid strong{font-size:1.25rem;line-height:1.15}
.plan-pricing-grid b{font-size:.88rem}
.plan-pricing-grid span,.plan-kpis small{font-size:.78rem}
.plan-kpis{gap:8px}
.plan-kpis strong{font-size:1.55rem;line-height:1.15}
.plan-estimate{gap:10px}
.plan-estimate>div{border-radius:14px;padding:13px 16px;gap:3px}
.plan-estimate strong{font-size:1.55rem;line-height:1.2}
.plan-estimate small{font-size:.8rem;line-height:1.35}
.plan-rules{padding:13px 16px}
.plan-rules h3{margin:0 0 7px;font-size:1rem}
.plan-rules p{line-height:1.45;font-size:.86rem}
.plan-rules .plan-prorata-rule{margin-top:7px;padding-top:7px;border-top:1px solid #e3ebe8}
.plan-debit{padding:14px 16px}
.plan-debit .section-heading{margin-bottom:7px}
.plan-debit .section-heading h3{margin-bottom:2px;font-size:1rem}
.plan-debit .section-heading p{margin:0;font-size:.82rem}
.plan-debit .form{margin-top:5px;row-gap:8px}
.plan-debit .field{gap:3px}
.plan-debit input{min-height:38px;padding-top:7px;padding-bottom:7px}
.plan-debit .button{min-height:38px;padding-top:7px;padding-bottom:7px}
@media (min-width:1100px){.plan-v17 .card{padding:14px 16px}}
\n\n/* 0.17.2 — plan hierarchy and readable billing explanation */
.plan-section-title{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin:4px 2px -2px;padding-top:2px}.plan-section-title b{font-size:1rem;color:var(--org-primary)}.plan-section-title span{font-size:.78rem;color:var(--muted)}.plan-progress-title{margin-top:7px;padding-top:11px;border-top:1px solid #dce7e4}.plan-rule-lines{display:grid;grid-template-columns:1fr 1fr;gap:7px 18px}.plan-rule-lines p,.plan-prorata-rule{display:flex;flex-direction:column;gap:2px}.plan-rule-lines p b,.plan-prorata-rule b{color:var(--org-primary)}.plan-rule-lines p span,.plan-prorata-rule span{color:#405b58}.estimate-prorata{margin-top:3px;padding-top:5px;border-top:1px solid rgba(255,255,255,.22)}
@media(max-width:720px){.plan-section-title{align-items:flex-start;flex-direction:column;gap:2px}.plan-rule-lines{grid-template-columns:1fr}}
/* 0.17.3 billing KPI drill-down */
.plan-kpi-click{cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.plan-kpi-click:hover{transform:translateY(-1px);box-shadow:0 5px 16px rgba(18,63,66,.09)}.plan-detail-modal{position:fixed;inset:0;background:rgba(15,38,40,.42);z-index:1000;display:grid;place-items:center;padding:20px}.plan-detail-modal[hidden]{display:none}.plan-detail-dialog{position:relative;background:#fff;border-radius:16px;padding:22px;max-width:620px;width:min(620px,92vw);max-height:75vh;overflow:auto;box-shadow:0 20px 60px rgba(0,0,0,.2)}.plan-detail-close{position:absolute;right:12px;top:9px;border:0;background:transparent;font-size:28px;cursor:pointer}.plan-detail-dialog ul{margin:14px 0;padding-left:20px}.plan-detail-dialog li{padding:6px 0;border-bottom:1px solid #edf1f0}

/* 0.17.5 — lighter plan page: smaller cards, clearer breathing room between sections */
.plan-v17{gap:8px}
.plan-v17>.section-heading{margin-bottom:5px}
.plan-v17>.section-heading .eyebrow{font-size:.68rem}
.plan-v17>.section-heading h2{font-size:1.35rem;line-height:1.15;margin:2px 0 3px}
.plan-v17>.section-heading p{font-size:.82rem}
.plan-section-title{margin:8px 1px 4px;padding-top:0;align-items:center}
.plan-section-title b{font-size:.92rem}
.plan-section-title span{font-size:.72rem}
.plan-progress-title{margin-top:14px;padding-top:14px}
.plan-pricing-grid{gap:7px}
.plan-pricing-grid article{min-height:0;padding:8px 10px;border-radius:10px}
.plan-pricing-grid strong{font-size:1.08rem}
.plan-pricing-grid b{font-size:.78rem;line-height:1.25}
.plan-pricing-grid span{font-size:.71rem;line-height:1.3}
.plan-kpis{gap:7px}
.plan-kpis article{padding:8px 10px;border-radius:10px}
.plan-kpis article>span{font-size:.78rem}
.plan-kpis strong{font-size:1.35rem}
.plan-kpis small{font-size:.72rem}
.plan-estimate{gap:8px;margin-top:3px}
.plan-estimate>div{padding:10px 13px;border-radius:11px}
.plan-estimate>div>span{font-size:.78rem}
.plan-estimate strong{font-size:1.35rem}
.plan-estimate small{font-size:.72rem}
.plan-rules{margin-top:9px!important;padding:11px 14px!important}
.plan-rules h3{font-size:.92rem;margin-bottom:8px}
.plan-rule-lines{gap:6px 22px}
.plan-rules p{font-size:.78rem;line-height:1.35}
.plan-debit{margin-top:9px!important}
@media(min-width:1100px){.plan-v17 .card{padding:11px 14px}}
/* 0.17.6 — Forfait allégé : priorité au résumé et au détail à la demande */
.plan-v17{gap:18px!important}.plan-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px;background:#fff;border:1px solid #dfe8e5;border-radius:16px}.plan-summary>div{display:flex;flex-direction:column;gap:3px}.plan-summary>div>span{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:800}.plan-summary strong{font-size:1.35rem;color:var(--org-primary)}.plan-summary small{color:#657574}.plan-progress-head{padding-top:3px}.plan-progress-head>div{display:flex;align-items:baseline;justify-content:space-between;gap:14px}.plan-progress-head b{color:var(--org-primary);font-size:1rem}.plan-progress-head span{color:var(--muted);font-size:.78rem}.plan-v17 .plan-kpis{gap:10px}.plan-v17 .plan-kpis article{padding:11px 13px;border-radius:12px;cursor:pointer}.plan-v17 .plan-kpis strong{font-size:1.45rem}.plan-v17 .plan-estimate{gap:12px}.plan-v17 .plan-estimate>div{padding:15px 17px;border-radius:15px}.plan-v17 .plan-estimate strong{font-size:1.45rem}.plan-help-link{justify-self:start;border:0;background:transparent;color:var(--org-primary);font-weight:800;padding:2px 0;cursor:pointer}.plan-popup-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}.plan-popup-grid p,.plan-popup-rules p{display:flex;justify-content:space-between;gap:18px;margin:0;padding:9px 0;border-bottom:1px solid #edf1ef}.plan-popup-grid span,.plan-popup-rules span{color:#526663;text-align:right}.plan-popup-rules{display:grid;gap:2px}.plan-popup-rules hr{border:0;border-top:1px solid #dfe7e4;width:100%;margin:8px 0}.plan-detail-dialog{max-width:650px!important}@media(max-width:720px){.plan-summary,.plan-progress-head>div{align-items:flex-start;flex-direction:column}.plan-popup-grid{grid-template-columns:1fr}}

/* 0.17.7 — lecture du forfait par blocs et consommation e-mails */
.plan-popup-sections{display:grid;gap:20px}.plan-popup-sections section{padding:0 0 15px;border-bottom:1px solid #dfe8e5}.plan-popup-sections section:last-child{border-bottom:0;padding-bottom:0}.plan-popup-sections h4{margin:0 0 7px;color:var(--org-primary);font-size:.95rem}.plan-popup-mails{grid-template-columns:1fr}.plan-popup-mails p{max-width:none}.plan-email-bar{height:7px;border-radius:999px;background:rgba(255,255,255,.22);overflow:hidden;margin:5px 0 3px}.plan-email-bar i{display:block;height:100%;border-radius:inherit;background:rgba(255,255,255,.9);transition:width .2s ease}.plan-email-bar.is-unlimited i{width:100%!important;opacity:.55}.plan-email-usage small{min-height:1em}
/* 0.18.2 — navigation structurée + abonnements récurrents */
.nav-group{margin:0 0 9px}.nav-group-title{padding:8px 14px 4px;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--org-primary) 58%,#879392)}.nav-group+.nav-group{border-top:1px solid rgba(18,79,78,.08);padding-top:5px}.nav-group a,.nav-group .nav-disabled{margin:1px 0}.recurring-intro{margin-bottom:18px}.recurring-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.recurring-steps>div{display:flex;gap:10px;padding:12px;border:1px solid rgba(20,75,74,.12);border-radius:14px;background:rgba(255,255,255,.55)}.recurring-steps b{display:grid;place-items:center;flex:0 0 27px;height:27px;border-radius:50%;background:var(--org-primary);color:#fff}.recurring-steps span{display:flex;flex-direction:column;gap:3px}.recurring-steps small{color:#6d7c7b;line-height:1.3}.recurring-note{margin:4px 0 0;padding:10px 12px;background:rgba(232,80,34,.06);border-radius:10px}.iu-dialog{border:0;background:transparent;padding:20px;width:min(760px,calc(100vw - 30px));max-width:none}.iu-dialog::backdrop{background:rgba(8,35,35,.38)}.recurring-form{margin:0;max-height:calc(100vh - 40px);overflow:auto}.dialog-close{border:0;background:transparent;font-size:28px;cursor:pointer}.field-wide{grid-column:1/-1}.status-pill{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:700}.status-pill.success{background:#e6f5ec;color:#24633c}.status-pill.muted{background:#eef1f1;color:#64706f}@media(max-width:980px){.recurring-steps{grid-template-columns:1fr 1fr}}@media(max-width:620px){.recurring-steps{grid-template-columns:1fr}}

/* 0.18.4 — recurring premium picker + compact property billing */
.recurring-dialog{width:min(900px,calc(100vw - 32px))}.recurring-form{padding:22px 24px}.recurring-modal-head{margin-bottom:18px}.eyebrow{display:block;font-size:10px;font-weight:850;letter-spacing:.12em;color:var(--org-primary);margin-bottom:5px}.recurring-builder{display:grid;gap:16px}.recurring-property{max-width:520px}.recurring-service-picker,.recurring-settings{border:1px solid rgba(18,79,78,.12);border-radius:16px;padding:16px;background:rgba(248,251,250,.72)}.picker-title,.settings-title{display:flex;flex-direction:column;gap:3px;margin-bottom:12px}.picker-title>span,.settings-title>span{font-weight:800;color:#173f3e}.picker-title small,.settings-title small{color:#71807f}.service-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.service-choice{appearance:none;text-align:left;border:1px solid rgba(18,79,78,.13);border-radius:14px;background:#fff;padding:13px 14px;display:flex;flex-direction:column;gap:3px;color:inherit;cursor:pointer;transition:.15s}.service-choice:hover{border-color:var(--org-primary);transform:translateY(-1px)}.service-choice.selected{border:2px solid var(--org-primary);padding:12px 13px;box-shadow:0 5px 16px rgba(18,79,78,.10)}.service-choice-family{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--org-primary)}.service-choice>b{margin-top:5px;color:#173f3e}.service-choice-empty{border:1px dashed rgba(18,79,78,.2);border-radius:13px;padding:15px;display:flex;gap:8px;align-items:flex-start;flex-direction:column;color:#667675}.recurring-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 14px}.recurring-grid .field{margin:0}.recurring-actions{position:sticky;bottom:-22px;background:#fff;padding:14px 0 2px;margin-top:16px;border-top:1px solid rgba(18,79,78,.08)}.property-services-empty{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px;border:1px dashed rgba(18,79,78,.18);border-radius:15px;background:rgba(248,251,250,.65)}.property-services-empty h3{margin:0 0 4px}.property-services-empty p{margin:0;max-width:680px;color:#667675}.rental-billing-box{padding:16px 18px}.rental-billing-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}.rental-billing-form .field{margin:0}.rental-billing-form .rental-basis{grid-column:auto}.rental-billing-note{margin:10px 0 0}@media(max-width:760px){.service-choice-grid,.recurring-grid,.rental-billing-form{grid-template-columns:1fr}.property-services-empty{align-items:flex-start;flex-direction:column}}
.property-billing-section.is-catalog-empty .property-service-filters,.property-billing-section.is-catalog-empty .property-service-filter-summary,.property-billing-section.is-catalog-empty .table-responsive,.property-billing-section.is-catalog-empty .property-service-filter-empty{display:none!important}.property-billing-section>.section-heading{margin-bottom:14px}.property-service-filters{padding:12px;gap:10px}.property-service-filter-summary{margin:8px 0 5px}.property-billing-table th,.property-billing-table td{padding-top:9px;padding-bottom:9px}

/* 0.18.4 — premium density + contextual help */
.iu-info-tip{position:relative;display:inline-grid;place-items:center;width:22px;height:22px;min-width:22px;border:1px solid color-mix(in srgb,var(--org-primary),transparent 68%);border-radius:50%;background:color-mix(in srgb,var(--org-primary),transparent 94%);color:var(--org-primary);font-size:12px;font-weight:900;line-height:1;cursor:help;vertical-align:middle;margin-left:7px;padding:0}
.iu-info-tip:hover,.iu-info-tip:focus{outline:none;background:var(--org-primary);color:#fff}
.iu-info-tip::after{content:attr(data-tip);position:absolute;z-index:1800;left:50%;bottom:calc(100% + 9px);transform:translateX(-50%) translateY(4px);width:max-content;max-width:min(360px,72vw);padding:10px 12px;border-radius:11px;background:#123f42;color:#fff;font-size:12px;font-weight:600;line-height:1.45;letter-spacing:0;text-transform:none;text-align:left;white-space:normal;box-shadow:0 12px 32px rgba(4,61,65,.22);opacity:0;visibility:hidden;pointer-events:none;transition:.14s ease}
.iu-info-tip:hover::after,.iu-info-tip:focus::after{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.section-heading>div>h2,.section-heading>div>h3,.field>label{display:flex;align-items:center;gap:2px}
.property-billing-section>.section-heading{align-items:center;padding-bottom:14px;margin-bottom:14px}
.property-billing-section>.section-heading h2{margin:0}
.rental-billing-box{padding:18px 20px!important}
.rental-billing-box>.section-heading{margin:0 0 14px;padding:0 0 12px;align-items:center}
.rental-billing-box>.section-heading h3{margin:0}
.rental-billing-form{display:grid!important;grid-template-columns:minmax(230px,1.1fr) minmax(230px,1fr) auto;gap:14px 18px!important;align-items:end!important}
.rental-billing-form>.field{margin:0!important;min-width:0}
.rental-billing-form>.field label{min-height:22px;margin-bottom:6px}
.rental-billing-form>.button{height:44px;min-width:170px;margin:0!important;align-self:end}
.rental-billing-form .rental-global,.rental-billing-form .rental-split{grid-row:2}
.rental-billing-form .rental-basis{grid-column:2;grid-row:1}
.rental-billing-form>.button{grid-column:3;grid-row:1}
.property-services-empty{align-items:center!important;gap:18px!important;padding:18px 20px!important}
.property-services-empty h3{display:flex;align-items:center;margin:2px 0!important}
.property-services-empty .eyebrow{margin-bottom:3px}
@media(max-width:980px){.rental-billing-form{grid-template-columns:1fr 1fr!important}.rental-billing-form>.button{grid-column:1/-1;grid-row:auto;width:max-content}.rental-billing-form .rental-basis{grid-column:auto;grid-row:auto}.rental-billing-form .rental-global,.rental-billing-form .rental-split{grid-row:auto}}

/* 0.18.5 — targeted helper cleanup after visual review */
.service-catalog-intro .section-heading{border-bottom:0;padding-bottom:0;margin-bottom:0}
.channels-compact{padding:18px}.channels-compact .section-heading{margin-bottom:8px}.settings-channel-list.compact{display:grid;gap:0;border:1px solid var(--line);border-radius:16px;overflow:hidden}.settings-channel-row.compact{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:9px 12px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:var(--org-surface)}.settings-channel-row.compact:last-child{border-bottom:0}.settings-channel-row.compact>input[type=text],.settings-channel-row.compact>input:not([type]){min-height:38px;border:0;background:transparent;padding:7px 8px;box-shadow:none}.settings-channel-add.compact{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:12px}.settings-channel-add.compact>input{min-height:40px}.organization-access-card{margin-top:14px}.organization-access-line{display:flex;justify-content:space-between;align-items:center;gap:16px}.organization-access-line div{display:grid;gap:2px}.organization-access-line span:not(.pill){font-size:12px;color:var(--muted)}
@media(max-width:700px){.settings-channel-row.compact{grid-template-columns:1fr auto}.settings-channel-row.compact .button{grid-column:2}.settings-channel-add.compact{grid-template-columns:1fr}.organization-access-line{align-items:flex-start;flex-direction:column}}


/* 0.18.6 — recurring flow clarity + SEPA modal */
.service-choice[hidden],.service-choice-grid[hidden],.service-choice-empty[hidden],.recurring-settings[hidden]{display:none!important}
.sepa-dialog{width:min(680px,calc(100vw - 32px))}.sepa-modal-card{padding:24px}.sepa-steps{display:grid;gap:10px;margin:4px 0 18px}.sepa-steps p{display:grid;gap:3px;margin:0;padding:12px 14px;border:1px solid rgba(18,79,78,.12);border-radius:13px;background:#fff}.sepa-steps b{color:var(--org-primary)}.sepa-steps span{color:#3f5553;line-height:1.4}.recurring-service-picker .service-choice-empty{color:#3f5553}.recurring-service-picker .service-choice-empty span{color:#3f5553}

/* 0.18.8 — clean SEPA dialog close control */
.sepa-dialog .dialog-close{appearance:none!important;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;width:34px!important;height:34px!important;padding:0!important;border-radius:50%!important;font-size:30px!important;line-height:32px!important;color:var(--ink)!important;display:grid!important;place-items:center!important}
.sepa-dialog .dialog-close:hover{background:rgba(15,77,79,.07)!important}

/* 0.18.12 — team mission navigation and late completion confirmation */
.planning-card-link{color:inherit;text-decoration:none;cursor:pointer;transition:border-color .15s ease,transform .15s ease}
.planning-card-link:hover{border-color:var(--accent,#ef7654);transform:translateY(-1px)}
.planning-card-link:focus-visible{outline:3px solid rgba(239,118,84,.28);outline-offset:2px}
.confirm-dialog{border:0;border-radius:20px;padding:0;max-width:520px;width:calc(100% - 32px);box-shadow:0 22px 70px rgba(15,54,57,.22)}
.confirm-dialog::backdrop{background:rgba(15,54,57,.38)}
.confirm-dialog-body{padding:26px}.confirm-dialog-body h3{margin:0 0 10px}.confirm-dialog-body p{margin:0 0 22px;line-height:1.55}.confirm-dialog-body .actions{justify-content:flex-end}

/* 0.18.14 — recurring horizon, readable mission planning and compact property pricing */
.calendar-period-title{display:block;margin:3px 0 2px;font-size:18px;font-weight:900;color:var(--org-primary);text-transform:capitalize}.month-event.is-completed,.agenda-event.is-completed,.planning-card-link.is-completed{background:#edf1f1!important;border-color:#cbd6d5!important;color:#667675!important;opacity:.82}.month-event.is-completed:before,.planning-card-link.is-completed:before{content:'✓';font-weight:900;margin-right:4px}.property-price-display{min-width:120px;max-width:180px}.property-price-display strong,.property-price-display small{overflow-wrap:anywhere}.property-billing-table td{vertical-align:top}.billing-dialog .form-grid{min-width:0}.billing-dialog .field{min-width:0}.billing-dialog input,.billing-dialog select,.billing-dialog textarea{max-width:100%;box-sizing:border-box}

/* 0.18.18 — shareable PWA install links */
.app-share-card{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.app-share-card h2{margin:3px 0 5px}.app-share-card .actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}@media(max-width:760px){.app-share-card{display:block}.app-share-card .actions{justify-content:flex-start;margin-top:14px}}

/* 0.18.19 — row-level application invitations */
#owners-status-table .row-actions,.team-card-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}#owners-status-table td:last-child{min-width:205px}#owners-status-table .button.small,.team-card-actions .button.small{white-space:nowrap}

/* Clickable dashboard KPI cards */
a.portal-kpi-card{color:inherit;text-decoration:none;cursor:pointer;transition:box-shadow .15s ease,transform .15s ease,border-color .15s ease}
a.portal-kpi-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(3,48,52,.14);border-color:var(--org-primary)}
a.portal-kpi-card:focus-visible{outline:3px solid var(--org-primary);outline-offset:3px}

/* IntendUp 0.18.32: dashboards are whole-card links, not underlined labels */
a.portal-kpi-card, a.portal-kpi-card *, a.portal-kpi-card:visited {text-decoration:none!important;}
a.portal-kpi-card {display:flex;cursor:pointer;}

/* 0.18.37: facturation, présentation progressive */
.rental-billing-box{background:#fbfcfb;border:1px solid #dce8e4;border-radius:18px;padding:22px!important}
.rental-billing-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;align-items:start!important}
.rental-billing-form>.field{grid-column:auto!important;grid-row:auto!important}
.rental-billing-form>.field:first-of-type{grid-column:1!important}
.rental-billing-form>.rental-basis{grid-column:2!important}
.rental-billing-form>.rental-global,.rental-billing-form>.rental-split{grid-column:auto!important}
.rental-billing-form>.button{grid-column:1/-1;justify-self:end;min-width:200px;background:#bc902f;color:#fff;border-radius:11px}
.rental-billing-form .field select,.rental-billing-form .field input{width:100%;min-height:42px;border-radius:9px}
.rental-billing-form .field small{display:block;margin-top:7px;line-height:1.5}
.rental-billing-form [hidden]{display:none!important}
@media(max-width:700px){.rental-billing-form{grid-template-columns:1fr!important}.rental-billing-form>.field,.rental-billing-form>.rental-basis{grid-column:1!important}.rental-billing-form>.button{width:100%}}

/* Accès propriétaire — menu compact avec aides au survol (0.18.39). */
.owner-access-menu { position:relative; display:inline-block; }
.owner-access-menu > summary { cursor:pointer; list-style:none; white-space:nowrap; }
.owner-access-menu > summary::-webkit-details-marker { display:none; }
.owner-access-menu-content { position:absolute; right:0; top:calc(100% + 6px); z-index:40; width:min(320px,75vw); padding:12px; background:#fff; border:1px solid #d8e1df; border-radius:12px; box-shadow:0 12px 30px rgba(0,0,0,.17); }
.owner-access-menu-content .button { display:block; width:100%; white-space:normal; text-align:left; margin:7px 0; }
.owner-access-menu-content p { font-size:13px; line-height:1.4; margin:0 0 10px; }
.owner-access-menu-content form { margin:0; }

/* 0.18.135 — team workspace mobile UX; overrides legacy calendar min-width rules */
.mobile-month-agenda{display:none}
@media(max-width:820px){
  body.team-workspace .main{padding-inline:12px!important;min-width:0}
  body.team-workspace .top{position:relative;top:auto;grid-template-columns:42px minmax(0,1fr);gap:8px;padding-top:12px;padding-bottom:10px}
  body.team-workspace .top h1{font-size:20px!important;line-height:1.2}
  body.team-workspace .top .muted{font-size:12px}
  body.team-workspace .top .user{grid-column:2;justify-content:flex-end;flex-wrap:nowrap;padding:0;gap:6px;min-width:0}
  body.team-workspace .top .user-name{margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
  body.team-workspace .user-action{flex:0 0 38px;padding:0;justify-content:center;min-width:38px;min-height:38px}
  body.team-workspace .user-action-icon{width:30px;height:30px;flex-basis:30px}
  body.team-workspace .card{padding:14px;margin-bottom:12px;min-width:0}
  body.team-workspace .planning-card-link{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;overflow-wrap:anywhere}
  body.team-workspace .planning-time{font-size:12px;line-height:1.4;white-space:normal}
  body.team-workspace .planning-card .pill{justify-self:start}
  body.team-workspace .calendar-toolbar{display:grid;gap:8px}
  body.team-workspace .calendar-toolbar h2{font-size:18px}
  body.team-workspace .calendar-toolbar p{font-size:13px;line-height:1.4}
  body.team-workspace .calendar-period-title{font-size:17px}
  body.team-workspace .calendar-actions{grid-template-columns:1fr 44px 44px!important;gap:8px}
  body.team-workspace .calendar-actions>.button.small{grid-column:auto!important;min-height:42px}
  body.team-workspace .calendar-view-switch{grid-column:1/-1;width:100%}
  body.team-workspace .calendar-nav{height:42px}
  body.team-workspace .month-grid{width:100%;overflow:hidden!important}
  body.team-workspace .month-days,body.team-workspace .month-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));width:100%;min-width:0!important}
  body.team-workspace .month-weekdays div{padding:7px 0;font-size:10px}
  body.team-workspace .month-day{min-width:0;min-height:48px;padding:3px 2px;text-align:center}
  body.team-workspace .month-day-number{margin:0 auto;width:25px;height:25px;font-size:12px}
  body.team-workspace .month-event{font-size:0!important;width:6px;height:6px;padding:0!important;margin:2px auto 0;border-radius:50%;background:var(--org-primary);overflow:hidden}
  body.team-workspace .month-event b,body.team-workspace .month-event .leader-mark{display:none}
  body.team-workspace .mobile-month-agenda{display:grid;gap:8px;margin-top:12px}
  body.team-workspace .mobile-month-event{display:grid;grid-template-columns:76px minmax(0,1fr) 16px;align-items:center;gap:10px;padding:11px 9px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--dark);background:var(--org-surface);min-width:0}
  body.team-workspace .mobile-month-event.is-completed{opacity:.72}
  body.team-workspace .mobile-month-date{font-weight:850;font-size:12px;color:var(--org-primary);overflow-wrap:anywhere}
  body.team-workspace .mobile-month-event-details{display:grid;gap:3px;min-width:0}
  body.team-workspace .mobile-month-event-details strong{font-size:13px;overflow-wrap:anywhere}
  body.team-workspace .mobile-month-event-details small{font-size:11px;color:var(--muted);overflow-wrap:anywhere}
  body.team-workspace .mobile-month-chevron{font-size:24px;color:var(--org-primary)}
  body.team-workspace .mission-hero{gap:10px}
  body.team-workspace .mission-hero h2{font-size:18px;margin:7px 0 3px}
  body.team-workspace .mission-slot{display:flex;flex-wrap:wrap;gap:5px;font-size:12px;overflow-wrap:anywhere}
  body.team-workspace .team-room-card{min-width:0;align-items:flex-start}
  body.team-workspace .team-room-card>div{min-width:0;overflow-wrap:anywhere}
  body.team-workspace .completion-photo-card>img,body.team-workspace .completion-photo-card>.photo-placeholder{height:175px}
  body.team-workspace .completion-photo-body{padding:12px}
  body.team-workspace .photo-upload-button{display:inline-flex;align-items:center;min-height:44px}
  body.team-workspace .completion-submit textarea{width:100%;max-width:100%}
  body.team-workspace .completion-submit button{width:100%}
  body.team-workspace .agenda-grid:not(.days-1) .agenda-day-head:not(.today),body.team-workspace .agenda-grid:not(.days-1) .agenda-day-column:not([data-today="1"]){display:block}
  body.team-workspace .agenda-grid:not(.days-1){display:grid;grid-template-columns:44px repeat(7,minmax(105px,1fr))!important;min-width:0!important;overflow-x:auto;-webkit-overflow-scrolling:touch}
  body.team-workspace .agenda-grid:not(.days-1) .agenda-day-head,body.team-workspace .agenda-grid:not(.days-1) .agenda-day-column{grid-column:auto!important}
}
@media(max-width:380px){body.team-workspace .mobile-month-event{grid-template-columns:65px minmax(0,1fr) 12px;gap:7px}body.team-workspace .month-day-number{width:22px;height:22px;font-size:11px}body.team-workspace .month-day{min-height:43px}}


/* 0.18.136 — Mobile polish: concierge and owner workspaces only */
@media(max-width:820px){
 body.concierge-workspace .main,body.owner-workspace .main{min-width:0;padding-inline:12px!important}
 body.concierge-workspace .top,body.owner-workspace .top{position:relative;top:auto;grid-template-columns:44px minmax(0,1fr) auto;gap:8px;padding-top:calc(10px + env(safe-area-inset-top));padding-bottom:10px}
 body.concierge-workspace .top>div:first-of-type,body.owner-workspace .top>div:first-of-type{min-width:0}
 body.concierge-workspace .top h1,body.owner-workspace .top h1{font-size:19px!important;white-space:normal;overflow-wrap:anywhere;line-height:1.2;max-width:100%}
 body.concierge-workspace .top .muted,body.owner-workspace .top .muted{font-size:12px;white-space:normal;overflow-wrap:anywhere;line-height:1.3}
 body.concierge-workspace .top .user,body.owner-workspace .top .user{grid-column:1/-1;justify-content:flex-start;flex-wrap:wrap;padding:0;gap:7px;min-width:0}
 body.concierge-workspace .user-name,body.owner-workspace .user-name{max-width:calc(100% - 112px);min-width:0;overflow-wrap:anywhere;margin-right:auto;font-size:12px}
 body.concierge-workspace .user-action,body.owner-workspace .user-action{min-width:42px;min-height:42px;justify-content:center;padding:4px}
 body.concierge-workspace .card,body.owner-workspace .card{min-width:0;max-width:100%;box-sizing:border-box}
 body.concierge-workspace .section-heading,body.owner-workspace .section-heading{min-width:0}
 body.concierge-workspace .actions,body.owner-workspace .actions,body.concierge-workspace .row-actions,body.owner-workspace .row-actions{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px;min-width:0}
 body.concierge-workspace .actions .button,body.owner-workspace .actions .button{white-space:normal;text-align:center;justify-content:center;overflow-wrap:anywhere}
 body.concierge-workspace .filters,body.owner-workspace .filters,body.concierge-workspace .reservation-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0}
 body.concierge-workspace .filters>*,body.owner-workspace .filters>*,body.concierge-workspace .reservation-filters>*{min-width:0;max-width:100%}
 body.concierge-workspace .filters input,body.concierge-workspace .filters select,body.owner-workspace .filters input,body.owner-workspace .filters select{max-width:100%;width:100%;box-sizing:border-box}
 body.concierge-workspace .record-tabs,body.owner-workspace .record-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:6px;max-width:100%;padding-bottom:7px}
 body.concierge-workspace .record-tabs::-webkit-scrollbar,body.owner-workspace .record-tabs::-webkit-scrollbar{display:none}
 body.concierge-workspace .record-tabs a,body.owner-workspace .record-tabs a{flex:0 0 auto;min-height:42px;display:inline-flex;align-items:center;white-space:nowrap}
 body.concierge-workspace .table-responsive,body.owner-workspace .table-responsive,body.owner-workspace .owner-account-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
 body.concierge-workspace .data-table,body.owner-workspace .data-table{font-size:12px}
 body.concierge-workspace .data-table td,body.owner-workspace .data-table td{overflow-wrap:break-word}
 body.concierge-workspace .invoice-export-bar{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}
 body.concierge-workspace .invoice-export-bar>*{min-width:0;max-width:100%}
 body.concierge-workspace .invoice-export-bar input,body.concierge-workspace .invoice-export-bar select{width:100%;max-width:100%;box-sizing:border-box}
 body.concierge-workspace .invoice-export-bar .button{width:100%}
 body.concierge-workspace .billing-period-form{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}
 body.concierge-workspace .billing-period-presets{display:flex;flex-wrap:wrap;gap:6px}
 body.concierge-workspace .billing-kpis,body.owner-workspace .portal-kpis,body.owner-workspace .accounting-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px}
 body.concierge-workspace .billing-kpi-card,body.owner-workspace .accounting-kpi{min-width:0;padding:12px}
 body.concierge-workspace .billing-kpi-value,body.owner-workspace .accounting-kpi strong{font-size:clamp(17px,5vw,24px);overflow-wrap:anywhere}
 body.owner-workspace .owner-doc-card{padding:14px;gap:10px;min-width:0}
 body.owner-workspace .owner-doc-card .button{width:100%;justify-content:center;align-self:stretch}
 body.owner-workspace .owner-month-grid{grid-template-columns:1fr;gap:10px}
 body.owner-workspace .owner-account-card .section-heading{padding:14px}
 body.concierge-workspace .modal,body.owner-workspace .modal,body.concierge-workspace [role=dialog],body.owner-workspace [role=dialog]{max-width:calc(100vw - 20px);box-sizing:border-box}
 body.concierge-workspace .notification-panel{width:min(340px,calc(100vw - 24px));max-width:calc(100vw - 24px);right:0}
}
@media(max-width:520px){
 body.concierge-workspace .filters,body.owner-workspace .filters,body.concierge-workspace .reservation-filters{grid-template-columns:1fr}
 body.concierge-workspace .invoice-export-bar,body.concierge-workspace .billing-period-form{grid-template-columns:1fr}
 body.concierge-workspace .billing-kpis,body.owner-workspace .portal-kpis{grid-template-columns:1fr 1fr!important}
 body.concierge-workspace .billing-kpi-card{display:grid;grid-template-columns:1fr;gap:8px}
 body.concierge-workspace .billing-kpi-icon{width:36px;height:36px;flex-basis:36px;font-size:17px}
 body.concierge-workspace .billing-kpi-value{font-size:20px}
 body.owner-workspace .accounting-summary{grid-template-columns:1fr 1fr!important}
 body.owner-workspace .accounting-kpi span{font-size:11px}
}


/* 0.18.137 — team screen breathing and alignment */
.create-panel{padding:18px 20px 20px}
.create-panel summary{margin:-2px 0 0;font-size:18px}
.create-team-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px;align-items:end;margin-top:18px!important}
.create-team-form .field{margin:0}
.create-team-form .field label{display:block;margin:0 0 7px;font-weight:800}
.create-team-form .field.wide{grid-column:1/-1}
.create-team-form .muted{max-width:72ch;line-height:1.5}
.create-team-form>div:last-child{grid-column:1/-1;padding-top:2px}
.create-team-form>div:last-child .button{min-width:120px}
.team-admin-grid{align-items:start;gap:18px}
.team-member-card{padding:18px 18px 16px}
.team-member-head{align-items:center;gap:16px}
.team-member-head>div{display:grid;gap:4px;min-width:0}
.team-member-head h2{margin:0;font-size:20px;line-height:1.2}
.team-member-head .pill{flex:0 0 auto}
.team-access-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin-top:16px}
.team-access-form .field{margin:0}
.team-access-form .field label{display:block;margin:0 0 7px}
.team-access-form .button{min-height:46px;padding-inline:16px;align-self:end}
.team-card-actions{margin-top:16px;padding-top:14px;border-top:1px solid color-mix(in srgb,var(--line),transparent 18%);display:flex;justify-content:flex-start;align-items:center;gap:8px;flex-wrap:wrap}
.team-card-actions .button.small{min-height:38px;padding-inline:14px}
@media(max-width:900px){.create-team-form{grid-template-columns:1fr}.team-member-head{align-items:flex-start}.team-access-form{grid-template-columns:1fr}.team-access-form .button{width:100%}.team-card-actions{gap:10px}}

/* 0.18.138 — desktop team layout: one aligned composition */
.team-screen-layout{width:100%;max-width:900px;margin:20px auto 32px;min-width:0}
.team-screen-layout .team-status-tabs{margin:0 0 18px;gap:10px}
.team-screen-layout .create-panel{width:100%;max-width:none;box-sizing:border-box;margin:0 0 24px;padding:22px 26px 26px;border-radius:20px}
.team-screen-layout .create-panel[open]{border-top:3px solid var(--org-accent)}
.team-screen-layout .create-panel summary{font-size:17px;line-height:1.5;cursor:pointer}
.team-screen-layout .create-team-form{gap:22px 20px;margin-top:22px!important;align-items:start}
.team-screen-layout .create-team-form input,.team-screen-layout .create-team-form select{width:100%;min-height:44px;box-sizing:border-box}
.team-screen-layout .create-team-form>.wide{padding-top:2px}
.team-screen-layout .create-team-form>div:last-child{padding-top:4px}
.team-screen-layout .create-team-form>div:last-child .button{min-height:44px;min-width:140px}
.team-screen-layout .team-admin-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;width:100%;margin:0}
.team-screen-layout .team-member-card{box-sizing:border-box;width:100%;max-width:none;margin:0;padding:22px 26px;border-radius:20px}
.team-screen-layout .team-member-head{padding-bottom:14px;border-bottom:1px solid var(--line)}
.team-screen-layout .team-access-form{grid-template-columns:minmax(0,1fr) auto;gap:14px;margin-top:18px;max-width:100%}
.team-screen-layout .team-access-form .field{min-width:0}
.team-screen-layout .team-access-form .button{white-space:normal;text-align:center}
.team-screen-layout .team-card-actions{justify-content:flex-end;margin-top:18px;padding-top:16px}
@media(max-width:900px){.team-screen-layout{margin:14px auto 24px}.team-screen-layout .create-team-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.team-screen-layout{margin:10px auto 20px}.team-screen-layout .create-panel,.team-screen-layout .team-member-card{padding:17px 15px;border-radius:16px}.team-screen-layout .create-team-form{grid-template-columns:minmax(0,1fr);gap:15px}.team-screen-layout .team-access-form{grid-template-columns:minmax(0,1fr)}.team-screen-layout .team-access-form .button{width:100%}.team-screen-layout .team-card-actions{justify-content:flex-start}.team-screen-layout .create-team-form>div:last-child .button{width:100%}}

/* 0.18.139 — team card layout */
@media (min-width:901px){.team-screen-layout{max-width:1120px}.team-screen-layout .team-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.team-screen-layout .team-member-card{min-width:0;padding:20px}.team-screen-layout .team-access-form{grid-template-columns:minmax(0,1fr);gap:10px}.team-screen-layout .team-access-form .button{justify-self:start;width:auto}.team-screen-layout .team-card-actions{justify-content:flex-start}}

/* 0.18.140 — accès équipe : action alignée aux boutons de la carte */
.team-screen-layout .team-access-form{display:block;margin-top:18px}
.team-screen-layout .team-access-form .field{width:100%;min-width:0}
.team-screen-layout .team-card-actions{align-items:center;gap:8px;flex-wrap:wrap}
.team-screen-layout .team-card-actions>.button{min-height:38px}
@media(max-width:650px){.team-screen-layout .team-card-actions>.button{width:auto;max-width:100%}}


/* 0.18.143 — team creation form on two lines */
@media (min-width: 901px){
  .team-screen-layout .create-team-form{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:22px 18px}
  .team-screen-layout .create-team-form > .field:nth-of-type(1){grid-column:1 / 3}
  .team-screen-layout .create-team-form > .field:nth-of-type(2){grid-column:3 / 5}
  .team-screen-layout .create-team-form > .field:nth-of-type(3){grid-column:1 / 2;max-width:220px}
  .team-screen-layout .create-team-form > .field:nth-of-type(4){grid-column:2 / 3;max-width:180px}
  .team-screen-layout .create-team-form > div:last-child{grid-column:3 / 5;justify-self:end;align-self:end;padding-top:0}
  .team-screen-layout .create-team-form > div:last-child .button{min-width:140px}
}


/* 0.18.144 — alignement précis du formulaire équipe, sans modifier les cartes */
@media (min-width: 901px) {
 .team-screen-layout .create-team-form {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-template-rows:auto auto;
  column-gap:18px;
  row-gap:20px;
  align-items:end;
 }
 .team-screen-layout .create-team-form > .field:nth-of-type(1) {grid-column:1 / 7;grid-row:1;max-width:none;}
 .team-screen-layout .create-team-form > .field:nth-of-type(2) {grid-column:7 / 13;grid-row:1;max-width:none;}
 .team-screen-layout .create-team-form > .field:nth-of-type(3) {grid-column:1 / 4;grid-row:2;max-width:none;}
 .team-screen-layout .create-team-form > .field:nth-of-type(4) {grid-column:4 / 7;grid-row:2;max-width:none;}
 .team-screen-layout .create-team-form > .field > label {display:block;margin-bottom:8px;line-height:18px;}
 .team-screen-layout .create-team-form > .field input,
 .team-screen-layout .create-team-form > .field select {display:block;width:100%;height:46px;min-height:46px;box-sizing:border-box;margin:0;}
 .team-screen-layout .create-team-form > div:last-child {
  grid-column:11 / 13;grid-row:2;
  justify-self:stretch;align-self:end;
  display:flex;justify-content:flex-end;align-items:flex-end;
  margin:0;padding:0;width:100%;
 }
 .team-screen-layout .create-team-form > div:last-child .button {width:140px;min-width:0;height:46px;min-height:46px;margin:0;}
}

/* 0.18.146 — aligned filters and stay onboarding */
@media (min-width: 1051px){
 body.concierge-workspace .reservation-filter-card .reservation-filters{display:grid!important;grid-template-columns:125px 125px minmax(145px,1fr) minmax(145px,1fr) minmax(175px,1.3fr) auto;align-items:end!important;gap:12px!important;width:100%}
 body.concierge-workspace .reservation-filters .filter-field{display:grid;grid-template-rows:18px 44px;gap:5px;min-width:0}
 body.concierge-workspace .reservation-filters .filter-field label{margin:0;align-self:end;line-height:18px}
 body.concierge-workspace .reservation-filters .filter-field input,body.concierge-workspace .reservation-filters .filter-field select{display:block;width:100%;height:44px!important;min-height:44px!important;max-width:100%;margin:0;box-sizing:border-box;font-size:13px!important}
 body.concierge-workspace .reservation-filters>.button{height:44px!important;min-height:44px!important;align-self:end;white-space:nowrap}
}
@media (min-width:761px) and (max-width:1050px){
 body.concierge-workspace .reservation-filter-card .reservation-filters{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end!important;gap:12px}
 body.concierge-workspace .reservation-filters .filter-field input,body.concierge-workspace .reservation-filters .filter-field select{width:100%;height:44px!important;box-sizing:border-box}
}
@media (min-width:761px){
 .first-stay-next-steps .next-step-grid{align-items:stretch}
 .first-stay-next-steps .next-step-card{min-height:132px;box-sizing:border-box;justify-content:flex-start;gap:10px;padding:16px}
 .first-stay-next-steps .next-step-card strong:last-child{margin-top:auto}
 .record-summary{align-items:stretch}
 .record-summary>div{display:flex;flex-direction:column;justify-content:center;min-width:0;min-height:68px}
}
.first-stay-next-steps .next-step-card.done{background:#f0faf5;border-color:#bbdfcd}
.first-stay-next-steps .next-step-card.done b{color:#176b46}
@media(max-width:760px){
 body.concierge-workspace .reservation-filter-card .reservation-filters{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 body.concierge-workspace .reservation-filter-card .reservation-filters .filter-field input,body.concierge-workspace .reservation-filter-card .reservation-filters .filter-field select{width:100%;min-width:0;box-sizing:border-box;min-height:44px!important}
 body.concierge-workspace .reservation-filter-card .reservation-filters>.button{min-height:44px}
}
@media(max-width:520px){
 body.concierge-workspace .reservation-filter-card .reservation-filters{grid-template-columns:1fr}
}

/* 0.18.147 — avoid splitting the calendar period and keep mobile headings readable */
body.team-workspace .calendar-period-title{white-space:nowrap;overflow-wrap:normal;word-break:normal;max-width:100%;font-variant-numeric:tabular-nums}
@media(max-width:820px){body.team-workspace .calendar-toolbar>div:first-child{min-width:0}body.team-workspace .calendar-period-title{font-size:clamp(15px,4.2vw,18px);line-height:1.25}body.team-workspace .calendar-toolbar h2{font-size:clamp(17px,4.4vw,20px)}}

/* 0.18.148 — month date selection and unbroken full dates on phones */
@media(max-width:820px){
 body.team-workspace .mobile-month-event{grid-template-columns:96px minmax(0,1fr) 16px!important}
 body.team-workspace .mobile-month-date{white-space:nowrap!important;overflow-wrap:normal!important;word-break:keep-all!important;font-size:12px}
 body.team-workspace .mobile-month-event[hidden]{display:none!important}
 body.team-workspace .month-date-select{appearance:none;border:0;background:transparent;color:inherit;cursor:pointer;touch-action:manipulation}
 body.team-workspace .month-date-select.selected{background:var(--org-accent);color:#fff;border-radius:50%}
 body.team-workspace .mobile-month-selection:not([hidden]){display:flex;justify-content:space-between;align-items:center;gap:12px;margin:12px 0 8px;font-weight:800}
 body.team-workspace .mobile-month-selection button{min-width:36px;min-height:36px;border:1px solid var(--line);border-radius:9px;background:#fff}
}
@media(max-width:380px){body.team-workspace .mobile-month-event{grid-template-columns:90px minmax(0,1fr) 12px!important}}

/* 0.18.191 - photo d'origine : rappel du cadrage côté équipe */
.completion-photo-card{position:relative}
.completion-photo-card>.reference-ghost-label{position:absolute;top:8px;left:8px;right:8px;padding:5px 8px;border-radius:8px;background:rgba(0,0,0,.55);color:#fff;font-size:11px;font-weight:700;line-height:1.3}
.completion-photo-card>.reference-inset{position:absolute;top:8px;right:8px;margin:0;width:34%;max-width:120px;border:2px solid #fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.25);background:#fff}
.completion-photo-card>.reference-inset img{display:block;width:100%;height:64px;object-fit:cover}
.completion-photo-card>.reference-inset figcaption{padding:2px 4px;font-size:9px;font-weight:700;text-align:center;color:var(--muted)}
/* 0.18.191 - résidence secondaire : contrat, présences, options */
.sh-panel{display:grid;gap:16px}
.sh-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.sh-summary article{display:grid;gap:3px;padding:12px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--org-background),#fff 45%)}
.sh-summary span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.sh-summary strong{font-size:18px;color:var(--org-primary)}
.sh-summary strong small{font-size:12px;font-weight:600;color:var(--muted)}
.sh-summary small{font-size:11px;color:var(--muted)}
.sh-lines{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.sh-lines li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px dashed var(--line);font-size:13px}
.sh-block{display:grid;gap:10px;padding-top:12px;border-top:1px solid var(--line)}
.sh-block>h3,.sh-block>summary h3{margin:0}
.sh-block>summary{cursor:pointer;display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;list-style:none}
.sh-block>summary::-webkit-details-marker{display:none}
.sh-block>summary h3::before{content:'▸ ';color:var(--org-primary)}
.sh-block[open]>summary h3::before{content:'▾ '}
.sh-presence-table td.sh-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start}
.sh-presence-table tr.is-past td{color:var(--muted)}
.sh-inline-edit>summary{list-style:none;cursor:pointer}
.sh-inline-edit>summary::-webkit-details-marker{display:none}
.sh-inline-edit[open]{flex-basis:100%}
.sh-presence-form label{display:grid;gap:3px;font-size:12px}
.sh-inline-edit .sh-presence-form{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin-top:8px}
.sh-add>summary{list-style:none;width:max-content;cursor:pointer}
.sh-add>summary::-webkit-details-marker{display:none}
.sh-add .form{margin-top:12px}
.sh-request{padding:12px;border:1px solid color-mix(in srgb,var(--org-accent),#fff 55%);border-radius:12px;background:color-mix(in srgb,var(--org-accent),#fff 93%)}
.sh-diff b{color:var(--org-primary)}
.sh-diff.up b,.sh-total .up{color:#b45309}
.sh-diff.down b,.sh-total .down{color:#047857}
.sh-decision-buttons{display:flex;gap:8px}
.sh-grid-form{display:grid;gap:12px}
.sh-grid-form fieldset{border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:flex;flex-wrap:wrap;gap:8px 18px}
.sh-grid-form legend{font-weight:800;font-size:13px;padding:0 4px}
.sh-grid-form fieldset label{display:inline-flex;align-items:center;gap:6px;font-size:13px}
.sh-grid-form fieldset label:has(input:disabled){opacity:.5}
.sh-price{color:var(--muted)}
.sh-fixed{margin:0;font-size:13px}
.sh-total{display:flex;flex-wrap:wrap;gap:8px 22px;padding:12px;border-radius:12px;background:color-mix(in srgb,var(--org-primary),#fff 92%);font-size:13px}
.sh-total b{font-size:16px}
.sh-contract-form small.muted{display:block;margin-top:3px;font-size:11px}
.sh-end-form{margin-top:4px}
@media (max-width:760px){.sh-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.sh-presence-table td.sh-actions{flex-direction:column}}

/* 0.18.194 - points clés (objets à surveiller) rattachés à une pièce */
.key-point-section { margin:0 12px 13px; padding-top:10px; border-top:1px solid #e6eeec; display:grid; gap:8px; }
.key-point-title { display:flex; flex-direction:column; gap:2px; }
.key-point-title strong { font-size:13px; color:#043d41; }
.key-point-title small { font-size:12px; color:#5f7a78; }
.key-point-card { display:grid; grid-template-columns:76px 1fr; gap:10px; align-items:center; padding:8px; border:1px solid #e3ecea; border-radius:12px; background:#fbfdfc; }
.key-point-photo { width:76px; height:58px; border-radius:9px; overflow:hidden; background:#dceae8; display:grid; place-items:center; }
.key-point-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.key-point-photo span { font-size:9px; font-weight:800; text-transform:uppercase; color:#5f7a78; text-align:center; padding:0 4px; }
.key-point-body { display:grid; gap:6px; min-width:0; }
.key-point-name-form { display:flex; gap:6px; align-items:center; }
.key-point-name-form input[name=label] { flex:1; min-width:0; }
.key-point-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.key-point-actions .photo-button.compact { position:relative; display:inline-block; font-size:12px; padding:5px 10px; }
.key-point-actions .link-button { background:none; border:0; padding:0; color:#9a4a2c; font-size:12px; text-decoration:underline; cursor:pointer; }
.add-key-point-panel { margin:0; }

/* 0.18.198 - filtres en ligne (Rapports…) : sélecteur et dates de même hauteur, libellés alignés, rendu identique sous Safari */
.inline-form { align-items:flex-end; gap:12px; }
.inline-form .field { margin:0; display:flex; flex-direction:column; }
.inline-form .field label { margin:0 0 6px; line-height:1.25; }
.inline-form .field select,
.inline-form .field input[type=date],
.inline-form .field input[type=text],
.inline-form .field input[type=search] { box-sizing:border-box; height:46px; min-height:46px; margin:0; padding:0 12px; line-height:normal; font-size:15px; color:#173536; background-color:#fff; border:1px solid var(--line); border-radius:10px; }
.inline-form .field select { -webkit-appearance:none; appearance:none; padding-right:38px; cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23045d5d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 14px center; background-size:12px 8px; }
.inline-form .field input[type=date]::-webkit-date-and-time-value { text-align:left; }
.inline-form > .button { height:46px; min-height:46px; padding:0 20px; align-self:flex-end; }

/* 0.18.200 - version visible côté utilisateur */
.side-foot.powered .app-version { margin-left:6px; padding:2px 6px; border-radius:99px; background:rgba(4,61,65,.08); color:#607775; font-size:10px; font-weight:700; letter-spacing:.02em; line-height:1.2; }
.app-version-line { margin:24px 0 8px; text-align:center; color:var(--muted); font-size:12px; }

/* 0.18.201 - nouveautés */
.side-foot.powered .app-version { position:relative; border:0; cursor:pointer; font-family:inherit; }
.side-foot.powered .app-version:hover { background:rgba(232,80,34,.14); color:var(--orange); }
.whatsnew-dot { position:absolute; top:-3px; right:-3px; width:9px; height:9px; border-radius:50%; background:var(--orange); box-shadow:0 0 0 2px #fff; }
.whatsnew-dot[hidden] { display:none; }
.app-version-link { position:relative; border:0; background:none; padding:2px 10px; color:var(--muted); font:inherit; font-size:12px; cursor:pointer; text-decoration:underline; text-decoration-color:rgba(96,112,112,.35); text-underline-offset:3px; }
.whatsnew-dialog { width:min(620px,calc(100vw - 32px)); max-height:min(80vh,720px); border:0; border-radius:18px; padding:0; box-shadow:0 24px 70px rgba(4,61,65,.25); }
.whatsnew-dialog::backdrop { background:rgba(4,40,42,.45); }
.whatsnew-head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; padding:20px 22px 12px; border-bottom:1px solid var(--line); position:sticky; top:0; background:#fff; }
.whatsnew-head h2 { margin:0; color:var(--dark); font-size:21px; }
.whatsnew-body { padding:6px 22px 20px; overflow:auto; }
.whatsnew-release h3 { margin:16px 0 6px; font-size:14px; color:var(--dark); }
.whatsnew-release h3 small { margin-left:6px; color:var(--muted); font-weight:600; font-size:11px; }
.whatsnew-release ul { margin:0; padding-left:18px; }
.whatsnew-release li { margin:4px 0; line-height:1.45; font-size:14px; color:#173536; }

/* 0.18.203 - mode hors connexion de l'équipe */
.offline-bar { position:fixed; left:12px; right:12px; bottom:calc(76px + env(safe-area-inset-bottom)); z-index:60; padding:10px 14px; border-radius:12px; background:#173536; color:#fff; font-size:13px; font-weight:650; box-shadow:0 10px 30px rgba(3,48,52,.25); text-align:center; }
.offline-bar[hidden] { display:none; }
.offline-bar.is-offline { background:#5a4a2a; }
.offline-bar.is-pending { background:var(--petrol); }
.offline-bar.is-error { background:#9a3412; }
@media (min-width:761px) { .offline-bar { left:auto; right:24px; bottom:24px; max-width:420px; } }
.completion-photo-card.offline-pending { outline:2px dashed #d79c2a; outline-offset:-2px; }
.completion-photo-card.offline-pending > img:not(.offline-preview), .completion-photo-card.offline-pending > .photo-placeholder, .completion-photo-card.offline-pending > .reference-ghost-label { display:none; }
.offline-badge { display:inline-block; margin-top:6px; padding:3px 8px; border-radius:99px; background:#fff3d6; color:#7a5200; font-size:11px; font-weight:800; }

/* 0.18.204 - anomalies */
.anomaly-section .section-heading h2 .pill { vertical-align:middle; margin-left:6px; }
.anomaly-create { border:1px dashed rgba(232,80,34,.45); border-radius:13px; background:#fff; margin:0 0 14px; }
.anomaly-create summary { list-style:none; display:flex; align-items:center; gap:8px; padding:11px 14px; font-weight:800; color:var(--orange); cursor:pointer; }
.anomaly-create summary::-webkit-details-marker { display:none; }
.anomaly-create summary span { display:grid; place-items:center; width:23px; height:23px; border-radius:8px; background:#fff0e6; font-size:18px; line-height:1; }
.anomaly-create-form { display:grid; gap:10px; padding:4px 14px 14px; }
.anomaly-create-form .field { margin:0; }
.anomaly-create-form .button { width:max-content; }
.anomaly-photo-button { position:relative; }
.anomaly-list { display:grid; gap:12px; }
.anomaly-card { border:1px solid var(--line); border-left:4px solid #d79c2a; border-radius:13px; padding:12px 14px; background:#fff; display:grid; gap:10px; }
.anomaly-card.is-resolved { border-left-color:#4f9a72; opacity:.86; }
.anomaly-main { display:flex; gap:12px; align-items:flex-start; }
.anomaly-photo img { width:92px; height:70px; object-fit:cover; border-radius:9px; display:block; }
.anomaly-text { min-width:0; display:grid; gap:3px; }
.anomaly-text h3 { margin:0; font-size:15px; color:var(--dark); }
.anomaly-text small { color:var(--muted); font-size:12px; }
.anomaly-pills { display:flex; gap:6px; flex-wrap:wrap; }
.pill.success { background:#e3f3ea; color:#1f6b45; }
.pill.muted-pill { background:#eef2f1; color:var(--muted); }
.anomaly-notes { margin:0; padding:0; list-style:none; display:grid; gap:6px; border-top:1px solid #eef2f1; padding-top:8px; }
.anomaly-notes li { font-size:13px; line-height:1.45; }
.anomaly-notes li span { display:block; font-size:11px; color:var(--muted); }
.anomaly-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.anomaly-actions form { margin:0; display:flex; gap:6px; align-items:center; }
.anomaly-note-form { flex:1 1 260px; }
.anomaly-note-form input { flex:1; min-width:0; min-height:34px; padding:6px 10px; border:1px solid var(--line); border-radius:9px; }
.anomaly-delete summary { font-size:12px; color:#9a3412; cursor:pointer; }
.anomaly-delete[open] summary { margin-bottom:6px; }
.button.danger { background:#b42318; color:#fff; }
.tab-count { display:inline-grid; place-items:center; min-width:18px; height:18px; padding:0 5px; border-radius:99px; background:var(--orange); color:#fff; font-size:10px; font-weight:800; margin-left:4px; }
.anomaly-dashboard-alert { display:flex; align-items:center; gap:10px; margin:0 0 16px; padding:12px 16px; border-radius:14px; background:#fff5ed; border:1px solid #f6c7a8; color:#7c2d12; text-decoration:none; }
.anomaly-dashboard-alert .portal-kpi-svg svg { width:20px; height:20px; color:var(--orange); }
.anomaly-dashboard-alert strong { flex:1; }
.anomaly-tabs { margin:0 0 14px; }
