@import url("v081.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:650px){.property-facts,.team-property-rooms{grid-template-columns:1fr}.calendar-view-switch a{padding:7px 8px}.agenda-grid{min-width:700px}.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}}
