/* S.E.A Room Management V17.3.1 — Availability Board Redesign */

.availability-v173-shell{
  display:grid;
  gap:14px;
  min-width:0;
}

.availability-v173-hero,
.availability-board-toolbar-card,
.availability-board-summary{
  background:#fff;
  border:1px solid var(--sea-line,#e2e9e5);
  box-shadow:var(--sea-shadow,0 6px 20px rgba(23,48,37,.045));
}

.availability-v173-hero{
  min-height:92px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:17px 19px;
  border-radius:13px;
}
.availability-v173-heading{display:flex;align-items:center;gap:13px;min-width:0}
.availability-v173-icon{
  width:46px;height:46px;flex:0 0 46px;display:grid;place-items:center;
  border-radius:13px;background:#eef8f3;color:#116b4b;border:1px solid #d9ede3;
}
.availability-v173-icon svg{width:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.availability-v173-heading h2{margin:3px 0 3px;font-size:22px;letter-spacing:-.03em;color:#17251e}
.availability-v173-heading p{margin:0;color:#728078;font-size:10.5px}

.availability-mode-switch{
  display:flex;gap:5px;padding:4px;border-radius:11px;background:#f4f7f5;border:1px solid #e3eae6;
}
.availability-mode-btn{
  min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;
  padding:0 13px;border:1px solid transparent;border-radius:8px;background:transparent;
  color:#637269;font:700 10px/1 Manrope,Arial,sans-serif;cursor:pointer;white-space:nowrap;
}
.availability-mode-btn svg{width:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.availability-mode-btn:hover{color:#214d3b;background:#fff}
.availability-mode-btn.active{color:#0d6445;background:#fff;border-color:#cfdfd6;box-shadow:0 2px 7px rgba(30,61,47,.07)}

.availability-board-toolbar-card{
  display:flex;align-items:flex-end;justify-content:space-between;gap:14px;
  padding:14px 16px;border-radius:12px;
}
.availability-board-date-control{display:flex;align-items:flex-end;gap:7px;min-width:0}
.availability-board-date-input,.availability-duration-control{display:grid;gap:5px}
.availability-board-date-input span,.availability-duration-control span{
  color:#6d7a73;font-size:9px;font-weight:800;letter-spacing:.035em;text-transform:uppercase;
}
.availability-board-date-input input,.availability-duration-control select{
  height:38px;border:1px solid #d9e2dd;border-radius:9px;background:#fff;color:#24382f;
  padding:0 10px;font:700 11px/1 Manrope,Arial,sans-serif;outline:none;
}
.availability-board-date-input input:focus,.availability-duration-control select:focus{border-color:#9ccbb4;box-shadow:0 0 0 3px rgba(23,123,82,.08)}
.availability-square-btn,.availability-today-btn{
  height:38px;border:1px solid #d9e2dd;border-radius:9px;background:#fff;color:#42564c;
  font:800 11px/1 Manrope,Arial,sans-serif;cursor:pointer;
}
.availability-square-btn{width:38px;font-size:20px}
.availability-today-btn{padding:0 12px}
.availability-square-btn:hover,.availability-today-btn:hover{border-color:#b9d7c8;background:#f4faf7;color:#0d6847}

.availability-day-strip{
  display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;
}
.availability-day-chip{
  min-height:58px;display:grid;place-items:center;align-content:center;gap:2px;
  border:1px solid #e1e8e4;border-radius:10px;background:#fff;color:#738078;cursor:pointer;
}
.availability-day-chip span{font-size:8px;font-weight:800;text-transform:uppercase}
.availability-day-chip strong{font-size:11px;color:#31463b}
.availability-day-chip small{font-size:7.5px;color:#0c7650;font-weight:800}
.availability-day-chip:hover{background:#f7fbf9;border-color:#cfe1d8}
.availability-day-chip.active{background:#edf8f2;border-color:#bcdcca;box-shadow:inset 0 0 0 1px #d4eadf}
.availability-day-chip.active strong,.availability-day-chip.active span{color:#0b6948}
.availability-day-chip.today:not(.active){border-color:#cfe4d9}

.availability-board-summary{
  display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 17px;border-radius:12px;
}
.availability-board-summary-copy{min-width:0}
.availability-board-summary-copy>span{display:block;color:#0e7651;font-size:8px;font-weight:850;letter-spacing:.11em}
.availability-board-summary-copy>strong{display:block;margin-top:3px;color:#1a3025;font-size:17px;letter-spacing:-.02em}
.availability-board-summary-copy>small{display:block;margin-top:4px;color:#738078;font-size:9px;line-height:1.45}
.availability-board-metrics{display:flex;align-items:stretch;gap:7px;flex:0 0 auto}
.availability-board-metrics>div{
  min-width:92px;padding:8px 10px;border-radius:9px;background:#f7faf8;border:1px solid #e3ebe6;text-align:center;
}
.availability-board-metrics strong,.availability-board-metrics span{display:block}
.availability-board-metrics strong{font-size:16px;color:#176e4e}
.availability-board-metrics span{margin-top:2px;color:#748078;font-size:7.5px;font-weight:700}

.availability-board-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0}
.availability-board-room-card{
  min-width:0;background:#fff;border:1px solid #dfe8e3;border-radius:12px;overflow:hidden;
  box-shadow:0 5px 16px rgba(30,58,45,.035);
}
.availability-board-room-head{
  min-height:63px;display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:11px 12px;border-bottom:1px solid #edf1ef;background:#fbfcfb;
}
.availability-board-room-identity{display:flex;align-items:center;gap:9px;min-width:0}
.availability-board-room-icon{
  width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:10px;
  color:#3e6653;background:#f1f7f4;border:1px solid #dfece5;
}
.availability-board-room-icon svg{width:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.availability-board-room-identity strong,.availability-board-room-identity span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.availability-board-room-identity strong{font-size:13px;color:#22382d}
.availability-board-room-identity span{margin-top:3px;color:#748078;font-size:8.5px}
.availability-board-room-badge{
  flex:0 0 auto;padding:5px 8px;border-radius:999px;background:#edf8f2;color:#16714f;font-size:8px;font-weight:800;
}
.availability-slot-list{display:grid}
.availability-slot-row{
  min-height:57px;display:grid;grid-template-columns:92px minmax(0,1fr) 83px;align-items:center;gap:9px;
  padding:8px 11px;border-top:1px solid #f0f3f1;
}
.availability-slot-row:first-child{border-top:0}
.availability-slot-row:hover{background:#fbfdfc}
.availability-slot-select{
  min-height:31px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 7px;
  border:1px solid #dbe5df;border-radius:8px;background:#fff;color:#66776e;font:750 8.5px/1 Manrope,Arial,sans-serif;cursor:pointer;
}
.availability-slot-select i{
  width:16px;height:16px;display:grid;place-items:center;border-radius:5px;background:#f2f5f3;color:#627269;font-style:normal;font-size:10px;
}
.availability-slot-select:hover{border-color:#b8d8c8;background:#f5faf7;color:#146b4c}
.availability-slot-select.selected{border-color:#acd4bf;background:#eaf7f0;color:#0e704d}
.availability-slot-select.selected i{background:#147653;color:#fff}
.availability-slot-time{min-width:0}
.availability-slot-time strong,.availability-slot-time span{display:block}
.availability-slot-time strong{font-size:12px;color:#20362b;letter-spacing:.01em}
.availability-slot-time span{margin-top:2px;color:#76827c;font-size:8px}
.availability-slot-book{
  min-height:31px;border:0;border-radius:8px;background:#f1f7f4;color:#176b4d;font:800 8.5px/1 Manrope,Arial,sans-serif;cursor:pointer;
}
.availability-slot-book span{margin-left:2px}
.availability-slot-book:hover{background:#e3f2ea;color:#0c5f42}
.availability-board-empty{
  grid-column:1/-1;min-height:170px;display:grid;place-items:center;align-content:center;gap:6px;padding:25px;text-align:center;
  border:1px dashed #d5e2dc;border-radius:12px;background:#fafcfa;color:#75827b;
}
.availability-board-empty strong{color:#30473b;font-size:14px}
.availability-board-empty span{font-size:9.5px;max-width:480px;line-height:1.5}

.availability-selection-bar{
  position:sticky;bottom:12px;z-index:35;display:flex;align-items:center;justify-content:space-between;gap:15px;
  padding:11px 13px;margin-top:2px;border:1px solid #bdd9cb;border-radius:13px;background:rgba(247,252,249,.97);
  box-shadow:0 12px 32px rgba(26,64,45,.16);backdrop-filter:blur(12px);
}
.availability-selection-copy span,.availability-selection-copy strong{display:block}
.availability-selection-copy span{color:#247455;font-size:7.5px;font-weight:850;letter-spacing:.09em}
.availability-selection-copy strong{margin-top:2px;font-size:12px;color:#1d3529}
.availability-selection-copy b{color:#0c7650}
.availability-selection-actions{display:flex;gap:7px;align-items:center}
.availability-selection-actions .btn{min-height:35px;padding:0 11px;font-size:8.5px}
.availability-selection-actions svg{width:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.availability-filter-card-v173{padding:17px!important}
.availability-filter-grid-v173{grid-template-columns:1.1fr .85fr .85fr .8fr!important}
.availability-quick-row-v173{display:flex;align-items:center;gap:11px;margin-top:12px;padding-top:12px;border-top:1px solid #edf1ef}
.availability-quick-row-v173>span{flex:0 0 auto;color:#68786f;font-size:9px;font-weight:800}
.availability-quick-row-v173 .availability-quick-slots{margin:0}
.availability-advanced-filter{margin-top:11px;border:1px solid #e4eae7;border-radius:9px;background:#fbfcfb}
.availability-advanced-filter summary{display:flex;align-items:center;gap:6px;padding:10px 12px;cursor:pointer;color:#455a4f;font-size:9px;font-weight:800;list-style:none}
.availability-advanced-filter summary::-webkit-details-marker{display:none}
.availability-advanced-filter summary span{color:#87918c;font-weight:600}
.availability-advanced-filter summary::after{content:"⌄";margin-left:auto;color:#7b8981;font-size:13px;transition:transform .15s ease}
.availability-advanced-filter[open] summary::after{transform:rotate(180deg)}
.availability-advanced-inner{display:grid;grid-template-columns:.65fr 1.35fr;gap:14px;padding:0 12px 12px}
.availability-search-bar-v173{margin-top:11px!important}
.availability-summary-grid-v173{margin-top:0}
.availability-room-actions-v173{justify-content:space-between!important;gap:7px}
.availability-room-actions-v173 .btn{flex:1}
.availability-search-share.selected{border-color:#acd4bf!important;background:#eaf7f0!important;color:#0e704d!important}

.dashboard-availability-pulse{
  display:grid;grid-template-columns:minmax(190px,.72fr) minmax(0,2fr);align-items:center;gap:12px;
  padding:11px 13px;border:1px solid #dce8e2;border-radius:11px;background:#f8fbf9;
}
.dashboard-availability-pulse-head{display:flex;align-items:center;justify-content:space-between;gap:9px;min-width:0}
.dashboard-availability-pulse-head>div{min-width:0}
.dashboard-availability-pulse-head span,.dashboard-availability-pulse-head strong{display:block}
.dashboard-availability-pulse-head>div>span{color:#287255;font-size:7.5px;font-weight:850;letter-spacing:.08em}
.dashboard-availability-pulse-head strong{margin-top:2px;color:#294035;font-size:11px}
.dashboard-availability-pulse-head button{border:0;background:transparent;color:#247153;font-size:8px;font-weight:800;cursor:pointer;white-space:nowrap}
.dashboard-availability-slot-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.dashboard-availability-slot{
  display:grid;grid-template-columns:auto auto;align-items:center;gap:1px 7px;padding:7px 9px;
  border:1px solid #dce9e2;border-radius:8px;background:#fff;text-align:left;cursor:pointer;
}
.dashboard-availability-slot>span{grid-column:1/-1;color:#64756c;font-size:8px;font-weight:700}
.dashboard-availability-slot strong{color:#14704f;font-size:11px}
.dashboard-availability-slot small{color:#89928d;font-size:7.5px}
.dashboard-availability-slot:hover{border-color:#bcdacb;background:#f7fbf9}
.dashboard-availability-empty{grid-column:1/-1;padding:7px 9px;color:#78857e}
.dashboard-availability-empty strong,.dashboard-availability-empty span{display:block}
.dashboard-availability-empty strong{font-size:9px;color:#42584d}
.dashboard-availability-empty span{margin-top:2px;font-size:7.5px}

@media (max-width:1100px){
  .availability-board-results{grid-template-columns:1fr}
  .availability-filter-grid-v173{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .dashboard-availability-pulse{grid-template-columns:1fr}
}

@media (max-width:980px){
  .availability-v173-hero{align-items:stretch;flex-direction:column;gap:12px}
  .availability-mode-switch{align-self:flex-start}
  .availability-board-summary{align-items:flex-start;flex-direction:column}
  .availability-board-metrics{width:100%}
  .availability-board-metrics>div{flex:1;min-width:0}
  .availability-day-strip{display:flex;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
  .availability-day-strip::-webkit-scrollbar{display:none}
  .availability-day-chip{min-width:75px;flex:0 0 75px}
  .availability-advanced-inner{grid-template-columns:1fr}
}

@media (max-width:780px), (max-width:980px) and (max-height:520px){
  .availability-v173-shell{gap:9px;width:100%;min-width:0}
  .availability-v173-hero{min-height:0;padding:12px;border-radius:11px}
  .availability-v173-heading{align-items:flex-start;gap:9px}
  .availability-v173-icon{width:38px;height:38px;flex-basis:38px;border-radius:10px}
  .availability-v173-icon svg{width:18px}
  .availability-v173-heading h2{font-size:18px}
  .availability-v173-heading p{font-size:9px;line-height:1.45}
  .availability-mode-switch{display:grid;grid-template-columns:1fr 1fr;width:100%;padding:3px}
  .availability-mode-btn{width:100%;min-height:36px;padding:0 7px;font-size:9px}

  .availability-board-toolbar-card{align-items:stretch;flex-direction:column;padding:11px;border-radius:10px}
  .availability-board-date-control{display:grid;grid-template-columns:36px minmax(0,1fr) 36px auto;align-items:end;gap:5px}
  .availability-board-date-input{min-width:0}
  .availability-board-date-input input{width:100%;min-width:0}
  .availability-square-btn{width:36px}
  .availability-today-btn{padding:0 9px;font-size:9px}
  .availability-duration-control{grid-template-columns:auto minmax(120px,1fr);align-items:center;gap:8px}
  .availability-duration-control span{text-transform:none;font-size:9px;letter-spacing:0}

  .availability-day-chip{min-width:68px;flex-basis:68px;min-height:52px}
  .availability-board-summary{padding:11px;border-radius:10px;gap:10px}
  .availability-board-summary-copy>strong{font-size:15px}
  .availability-board-summary-copy>small{font-size:8px}
  .availability-board-metrics{gap:5px}
  .availability-board-metrics>div{padding:7px 5px}
  .availability-board-metrics strong{font-size:14px}
  .availability-board-metrics span{font-size:7px}

  .availability-board-results{grid-template-columns:1fr;gap:8px}
  .availability-board-room-card{border-radius:10px}
  .availability-board-room-head{min-height:55px;padding:9px 10px}
  .availability-board-room-icon{width:32px;height:32px;flex-basis:32px}
  .availability-board-room-identity strong{font-size:12px}
  .availability-board-room-identity span{font-size:8px}
  .availability-board-room-badge{font-size:7.5px;padding:4px 7px}
  .availability-slot-row{grid-template-columns:77px minmax(0,1fr) 68px;gap:6px;padding:7px 8px;min-height:53px}
  .availability-slot-select{padding:0 5px;font-size:7.8px;min-height:29px}
  .availability-slot-select i{width:14px;height:14px;font-size:8px}
  .availability-slot-time strong{font-size:11px}
  .availability-slot-time span{font-size:7.5px}
  .availability-slot-book{min-height:29px;font-size:7.7px}

  .availability-selection-bar{
    position:fixed;left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));z-index:95;
    align-items:stretch;flex-direction:column;gap:8px;padding:9px 10px;border-radius:11px;
  }
  .availability-selection-copy{display:flex;align-items:center;justify-content:space-between;gap:10px}
  .availability-selection-copy strong{margin:0}
  .availability-selection-actions{display:grid;grid-template-columns:.8fr 1fr 1.35fr;width:100%}
  .availability-selection-actions .btn{width:100%;padding:0 7px;font-size:7.8px}
  body.availability-selection-open #availablePage{padding-bottom:112px}

  .availability-filter-card-v173{padding:11px!important}
  .availability-filter-card-v173 .availability-filter-title p{display:block!important;font-size:8.5px!important}
  .availability-filter-grid-v173{grid-template-columns:1fr 1fr!important;gap:7px!important}
  .availability-quick-row-v173{align-items:flex-start;flex-direction:column;gap:6px;margin-top:10px;padding-top:10px}
  .availability-quick-row-v173 .availability-quick-slots{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%;gap:5px!important}
  .availability-quick-row-v173 .availability-quick-btn{width:100%;min-height:33px}
  .availability-advanced-inner{padding:0 9px 9px;gap:9px}
  .availability-search-bar-v173{padding:9px!important}
  .availability-summary-grid-v173{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important}
  .availability-summary-grid-v173 .availability-summary-card{padding:8px!important;min-width:0!important;gap:6px!important}
  .availability-summary-grid-v173 .availability-summary-icon{display:none!important}
  .availability-summary-grid-v173 .availability-summary-card strong{font-size:15px!important}
  .availability-summary-grid-v173 .availability-summary-card small{font-size:7px!important;line-height:1.35}
  .availability-summary-grid-v173 .availability-summary-card>div:last-child>span{font-size:7px!important;letter-spacing:0!important;text-transform:none!important}
  .availability-room-actions-v173{display:grid!important;grid-template-columns:1fr 1fr!important}

  .dashboard-availability-pulse{display:grid!important;grid-template-columns:1fr!important;gap:7px;padding:9px;border-radius:10px}
  .dashboard-availability-pulse-head>div>span{font-size:7px}
  .dashboard-availability-pulse-head strong{font-size:10px}
  .dashboard-availability-slot-list{display:flex;overflow-x:auto;gap:5px;scrollbar-width:none}
  .dashboard-availability-slot-list::-webkit-scrollbar{display:none}
  .dashboard-availability-slot{min-width:108px;flex:0 0 108px;padding:6px 8px}
}

@media (max-width:520px){
  .availability-board-date-control{grid-template-columns:34px minmax(0,1fr) 34px}
  .availability-today-btn{grid-column:1/-1;width:100%;height:32px}
  .availability-filter-grid-v173{grid-template-columns:1fr!important}
  .availability-summary-grid-v173{grid-template-columns:1fr!important}
  .availability-summary-grid-v173 .availability-summary-card{display:flex!important;align-items:center!important}
  .availability-summary-grid-v173 .availability-summary-card small{font-size:7.5px!important}
}

/* =========================================================
   V17.3.1 — Availability Board Redesign
   One-screen dispatcher: compact timeline + whole-room sharing
   ========================================================= */
.availability-v1731-shell{display:flex;flex-direction:column;gap:10px;min-width:0;width:100%}
.availability-v1731-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid #e2ebe6;border-radius:13px;background:linear-gradient(135deg,#fff 0%,#f7fbf9 100%);box-shadow:0 8px 24px rgba(28,73,54,.055)}
.availability-v1731-title{display:flex;align-items:center;gap:11px;min-width:0}.availability-v1731-title-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:11px;background:#e8f5ee;color:#15704f}.availability-v1731-title-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.availability-v1731-title h2{margin:2px 0 2px;font-size:20px;line-height:1.15;color:#1e392e}.availability-v1731-title p{margin:0;color:#718078;font-size:10px;line-height:1.45}
.availability-view-switch{display:flex;align-items:center;gap:3px;padding:3px;border-radius:9px;background:#edf3f0}.availability-view-btn{min-width:72px;height:34px;border:0;border-radius:7px;background:transparent;color:#65736c;font:800 9px/1 inherit;cursor:pointer}.availability-view-btn.active{background:#fff;color:#0f704d;box-shadow:0 2px 8px rgba(32,76,57,.12)}
.availability-commandbar{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #e1e9e5;border-radius:12px;background:#fff}.availability-date-cluster,.availability-need-cluster{display:flex;align-items:flex-end;gap:6px;min-width:0}.availability-icon-btn{width:34px;height:34px;border:1px solid #dbe5e0;border-radius:8px;background:#fff;color:#2f4c3f;font-size:19px;cursor:pointer}.availability-icon-btn:hover{background:#f6faf8}.availability-icon-btn:disabled{opacity:.35;cursor:not-allowed}.availability-date-field,.availability-mini-field{display:flex;flex-direction:column;gap:3px}.availability-date-field>span,.availability-mini-field>span,.availability-need-label{color:#738178;font-size:7.5px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.availability-date-field input,.availability-mini-field input,.availability-mini-field select{height:34px;border:1px solid #dce5e1;border-radius:8px;background:#fff;color:#263d33;font:700 9px/1 inherit;padding:0 9px;outline:none}.availability-date-field input{width:128px}.availability-mini-field select{width:88px}.availability-capacity-field input{width:76px}.availability-time-arrow{align-self:center;margin-top:13px;color:#8b9791;font-size:12px}.availability-today-btn{height:34px;padding:0 11px;border:1px solid #d9e5df;border-radius:8px;background:#f7faf8;color:#376151;font:800 8.5px/1 inherit;cursor:pointer}.availability-need-label{align-self:center;margin:13px 2px 0 0;white-space:nowrap}.availability-check-btn,.availability-reset-btn{height:34px;min-height:34px;padding:0 12px!important;font-size:8.5px!important;white-space:nowrap}.availability-check-btn.active{background:#0b6948!important;box-shadow:0 0 0 3px rgba(11,105,72,.1)}
.availability-compact-filters{border:1px solid #e4ebe7;border-radius:10px;background:#fbfcfb}.availability-compact-filters summary{display:flex;align-items:center;gap:5px;padding:8px 11px;cursor:pointer;list-style:none;color:#4f6258;font-size:8.5px;font-weight:850}.availability-compact-filters summary::-webkit-details-marker{display:none}.availability-compact-filters summary span{color:#929b96;font-weight:650}.availability-compact-filters summary:after{content:'⌄';margin-left:auto;color:#819088;font-size:12px;transition:transform .15s}.availability-compact-filters[open] summary:after{transform:rotate(180deg)}.availability-compact-filter-body{display:grid;grid-template-columns:minmax(150px,.35fr) 1fr;gap:12px;padding:0 11px 10px}.availability-keyword-field input{height:34px!important}
.availability-statusbar{display:flex;align-items:center;gap:14px;padding:10px 12px;border:1px solid #e2eae6;border-radius:11px;background:#fff}.availability-status-main{min-width:0;flex:1}.availability-status-main>span,.availability-status-main>strong,.availability-status-main>small{display:block}.availability-status-main>span{color:#1c7655;font-size:7.2px;font-weight:900;letter-spacing:.08em}.availability-status-main>strong{margin-top:1px;color:#243c31;font-size:12px}.availability-status-main>small{margin-top:2px;color:#7b8781;font-size:8px}.availability-status-metrics{display:flex;align-items:center;gap:5px}.availability-status-metrics span{display:flex;align-items:baseline;gap:3px;padding:6px 8px;border-radius:7px;background:#f6f9f7;color:#738178;font-size:7.2px;white-space:nowrap}.availability-status-metrics b{color:#1b4d39;font-size:10px}.availability-share-filtered{min-height:32px!important;padding:0 10px!important;font-size:8px!important;white-space:nowrap}

.availability-timeline-board{overflow-x:auto;border:1px solid #dfe8e3;border-radius:12px;background:#fff;box-shadow:0 6px 20px rgba(34,71,55,.045)}.availability-timeline-inner{min-width:900px}.availability-timeline-head,.availability-timeline-row{display:grid;grid-template-columns:184px minmax(680px,1fr)}.availability-timeline-head{position:sticky;top:0;z-index:4;min-height:42px;border-bottom:1px solid #dfe8e3;background:#f7faf8}.availability-room-headcell{display:flex;align-items:center;padding:0 10px;border-right:1px solid #e4ebe7;color:#738078;font-size:7.5px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.availability-time-axis{position:relative;min-height:42px}.availability-hour-label{position:absolute;top:8px;transform:translateX(-50%);color:#6e7d75;font-size:9px;font-weight:750;white-space:nowrap}.availability-hour-label:first-child{transform:none}.availability-hour-label:last-child{transform:translateX(-100%)}
.availability-timeline-row{min-height:54px;border-bottom:1px solid #edf1ef}.availability-timeline-row:last-child{border-bottom:0}.availability-room-cell{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px 6px 10px;border-right:1px solid #e4ebe7;background:#fff}.availability-room-main{min-width:0}.availability-room-main strong{display:block;color:#233b31;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.availability-room-main span{display:block;margin-top:2px;color:#7e8a84;font-size:7.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.availability-room-share-btn{flex:0 0 auto;width:42px;height:28px;border:1px solid #d8e6df;border-radius:7px;background:#f6faf8;color:#146e4e;cursor:pointer;font-size:7px;font-weight:850}.availability-room-share-btn:after{content:' ↗';font-size:8px;font-weight:850}.availability-room-share-btn:hover{background:#eaf6ef}.availability-track{position:relative;min-height:54px;background-color:#f1f4f2;background-image:repeating-linear-gradient(to right,transparent 0,transparent calc(5.882% - 1px),rgba(108,128,117,.13) calc(5.882% - 1px),rgba(108,128,117,.13) 5.882%)}.availability-free-block{position:absolute;top:8px;height:38px;min-width:2px;border:1px solid #9ed4b9;border-radius:6px;background:linear-gradient(180deg,#e6f7ee,#d8f1e4);color:#126b4b;overflow:hidden;cursor:pointer;transition:filter .14s,transform .14s}.availability-free-block:hover{filter:saturate(1.15);transform:translateY(-1px);z-index:2}.availability-free-block span{display:block;padding:5px 6px 0;font-size:9px;font-weight:850;white-space:nowrap}.availability-free-block small{display:block;padding:1px 6px;color:#4c846d;font-size:6.5px;white-space:nowrap}.availability-request-window{position:absolute;top:0;bottom:0;border-left:2px solid #0f7b58;border-right:2px solid #0f7b58;background:rgba(23,137,96,.08);pointer-events:none;z-index:1}.availability-timeline-row.no-match{opacity:.35}.availability-timeline-row.match .availability-room-cell{background:#f3fbf6}.availability-timeline-row.match .availability-room-main strong:after{content:'  ✓';color:#16805a}.availability-no-free{position:absolute;inset:0;display:flex;align-items:center;padding-left:10px;color:#9aa39f;font-size:7px;font-weight:700}
.availability-mobile-list{display:none}.availability-board-empty{padding:24px;border:1px dashed #cedbd4;border-radius:11px;background:#fbfcfb;text-align:center}.availability-board-empty strong,.availability-board-empty span{display:block}.availability-board-empty strong{color:#314c40;font-size:11px}.availability-board-empty span{margin-top:4px;color:#7a8780;font-size:8px}

.availability-week-grid{overflow:auto;border:1px solid #dfe8e3;border-radius:12px;background:#fff}.availability-week-table{display:grid;min-width:860px;grid-template-columns:168px repeat(7,minmax(92px,1fr))}.availability-week-cell{min-height:52px;padding:7px 8px;border-right:1px solid #edf1ef;border-bottom:1px solid #edf1ef}.availability-week-cell.head{position:sticky;top:0;z-index:2;min-height:42px;background:#f7faf8;color:#5d7066;font-size:7.5px;font-weight:850;text-align:center}.availability-week-cell.room{display:flex;align-items:center;background:#fff;color:#283f35;font-size:9px;font-weight:800;position:sticky;left:0;z-index:1}.availability-week-day{border:0;background:#fff;text-align:left;cursor:pointer;width:100%;height:100%;color:#53675d}.availability-week-day strong,.availability-week-day span{display:block}.availability-week-day strong{font-size:10px;color:#196f50}.availability-week-day span{margin-top:2px;font-size:6.8px;color:#85918b}.availability-week-day.available{background:#eff9f3}.availability-week-day.busy{background:#f6f7f6}.availability-week-day.match{background:#dff4e9;box-shadow:inset 0 0 0 1px #a9d9bf}.availability-week-day.match strong{color:#0c714d}.availability-week-day:hover{filter:brightness(.985)}

.availability-share-modal{position:fixed;inset:0;z-index:1400;display:grid;place-items:center;padding:18px;background:rgba(15,31,24,.42);backdrop-filter:blur(3px)}.availability-share-modal.hidden{display:none!important}.availability-share-dialog{width:min(560px,calc(100vw - 28px));max-height:min(720px,calc(100dvh - 32px));display:flex;flex-direction:column;gap:11px;padding:16px;border-radius:15px;background:#fff;box-shadow:0 24px 70px rgba(17,48,35,.25)}.availability-share-head{display:flex;justify-content:space-between;gap:14px}.availability-share-head h3{margin:2px 0 3px;color:#213b30;font-size:17px}.availability-share-head p{margin:0;color:#7c8982;font-size:8.5px}.availability-share-close{width:32px;height:32px;border:1px solid #e1e7e4;border-radius:8px;background:#f8faf9;color:#66736d;font-size:20px;cursor:pointer}.availability-share-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.availability-share-presets button{height:34px;border:1px solid #dce6e1;border-radius:8px;background:#fff;color:#52685d;font:800 8px/1 inherit;cursor:pointer}.availability-share-presets button.active{border-color:#9fd0b7;background:#eaf7f0;color:#0d704d}.availability-share-custom-dates{display:grid;grid-template-columns:1fr 1fr;gap:8px}.availability-share-custom-dates label{display:flex;flex-direction:column;gap:4px}.availability-share-custom-dates span{color:#718078;font-size:7px;font-weight:800}.availability-share-custom-dates input{height:34px;border:1px solid #dce5e1;border-radius:8px;padding:0 9px}.availability-share-preview{min-height:120px;max-height:360px;overflow:auto;padding:9px;border:1px solid #e1e9e5;border-radius:10px;background:#f9fbfa}.availability-share-preview-day{display:grid;grid-template-columns:112px 1fr;gap:10px;padding:7px 5px;border-bottom:1px solid #e8eeeb}.availability-share-preview-day:last-child{border-bottom:0}.availability-share-preview-day strong{color:#304a3e;font-size:10px}.availability-share-preview-day span{color:#0f704d;font-size:10px;font-weight:800;line-height:1.5}.availability-share-preview-day.empty span{color:#9aa39f}.availability-share-preview-loading{padding:24px;text-align:center;color:#7d8a83;font-size:8.5px}.availability-share-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.availability-share-actions .btn{width:100%;min-height:38px;font-size:12px}

@media (max-width:1100px){.availability-commandbar{align-items:stretch;flex-direction:column}.availability-date-cluster,.availability-need-cluster{justify-content:flex-start}.availability-statusbar{align-items:flex-start;flex-wrap:wrap}.availability-status-main{flex-basis:100%}.availability-status-metrics{flex:1}.availability-share-filtered{margin-left:auto}}
@media (max-width:780px){
  .availability-v1731-shell{gap:8px}.availability-v1731-head{align-items:flex-start;flex-direction:column;padding:11px;border-radius:11px}.availability-v1731-title-icon{width:36px;height:36px;flex-basis:36px}.availability-v1731-title h2{font-size:17px}.availability-v1731-title p{font-size:8.2px}.availability-view-switch{width:100%}.availability-view-btn{flex:1;min-width:0;height:34px}
  .availability-commandbar{padding:9px;gap:9px;border-radius:10px}.availability-date-cluster{display:grid;grid-template-columns:34px minmax(0,1fr) 34px 72px;width:100%}.availability-date-field input{width:100%;min-width:0}.availability-need-cluster{display:grid;grid-template-columns:1fr 18px 1fr .72fr;gap:5px;width:100%}.availability-need-label{grid-column:1/-1;margin:0;align-self:auto}.availability-mini-field select,.availability-mini-field input{width:100%;min-width:0}.availability-time-arrow{align-self:end;margin:0 0 10px;text-align:center}.availability-check-btn,.availability-reset-btn{grid-column:span 2;width:100%}
  .availability-compact-filter-body{grid-template-columns:1fr;gap:9px}.availability-statusbar{padding:9px;gap:8px}.availability-status-main>strong{font-size:11px}.availability-status-main>small{font-size:7.2px}.availability-status-metrics{display:grid;grid-template-columns:repeat(3,1fr);width:100%;gap:4px}.availability-status-metrics span{justify-content:center;padding:5px 3px;font-size:6.4px}.availability-status-metrics b{font-size:9px}.availability-share-filtered{width:100%;margin:0}
  .availability-timeline-board{display:none}.availability-mobile-list{display:flex;flex-direction:column;gap:6px}.availability-mobile-room{padding:8px 9px;border:1px solid #dfe8e3;border-radius:10px;background:#fff}.availability-mobile-room.no-match{opacity:.42}.availability-mobile-room.match{border-color:#a9d8bf;background:#f5fbf7}.availability-mobile-room-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.availability-mobile-room-name strong{display:block;color:#263f34;font-size:10.5px}.availability-mobile-room-name span{display:block;margin-top:1px;color:#7d8983;font-size:7px}.availability-mobile-room-actions{display:flex;gap:4px}.availability-mobile-room-actions button{height:28px;padding:0 8px;border:1px solid #d9e5df;border-radius:7px;background:#f8fbf9;color:#176b4e;font:800 7px/1 inherit;cursor:pointer}.availability-mobile-room-actions button.primary{border-color:#0f704d;background:#0f704d;color:#fff}.availability-mobile-ranges{display:flex;align-items:center;gap:4px;overflow-x:auto;margin-top:6px;padding-bottom:1px;scrollbar-width:none}.availability-mobile-ranges::-webkit-scrollbar{display:none}.availability-mobile-range{flex:0 0 auto;padding:4px 6px;border:1px solid #b8dec9;border-radius:6px;background:#eaf7ef;color:#126b4b;font-size:7.2px;font-weight:800;white-space:nowrap}.availability-mobile-range.requested{border-color:#0e7854;background:#d9f1e5;box-shadow:0 0 0 2px rgba(14,120,84,.08)}.availability-mobile-full{color:#9aa39f;font-size:7.5px;font-weight:700}
  .availability-week-grid{border-radius:10px}.availability-week-table{min-width:760px;grid-template-columns:120px repeat(7,minmax(88px,1fr))}.availability-week-cell.room{font-size:8px}.availability-week-cell{min-height:47px;padding:6px}.availability-share-modal{padding:10px}.availability-share-dialog{width:100%;max-height:calc(100dvh - 20px);padding:12px;border-radius:12px}.availability-share-head h3{font-size:15px}.availability-share-presets{grid-template-columns:1fr 1fr}.availability-share-custom-dates{grid-template-columns:1fr}.availability-share-preview{max-height:42dvh}.availability-share-preview-day{grid-template-columns:88px 1fr}.availability-share-actions{grid-template-columns:1fr}
}
@media (max-width:380px){.availability-date-cluster{grid-template-columns:32px minmax(0,1fr) 32px}.availability-today-btn{grid-column:1/-1;width:100%}.availability-need-cluster{grid-template-columns:1fr 16px 1fr}.availability-capacity-field{grid-column:1/-1}.availability-check-btn,.availability-reset-btn{grid-column:auto}.availability-status-metrics{grid-template-columns:1fr}.availability-status-metrics span{justify-content:space-between}.availability-share-actions .btn{min-height:36px}}
