:root{--bg:#fbf7ef;--panel:#ffffff;--ink:#10204a;--muted:#667085;--line:#e7ddcf;--accent:#10204a;--accent-2:#ff8b4a;--sun:#ffd35a;--soft:#fff3dc;--danger:#b83b2f}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}.buttonLink,button{border:0;border-radius:6px;background:var(--accent);color:#fff;cursor:pointer;min-height:40px;padding:0 14px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}button:disabled{cursor:wait;opacity:.7}.secondary{background:#f4eadb;color:var(--ink)}.shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{border-right:1px solid var(--line);background:#fff;padding:22px 18px}.brand{align-items:center;display:flex;gap:12px;margin-bottom:32px}.brandMark{border-radius:6px;height:40px;width:40px}.brandMark,.brandWordmark{display:block;object-fit:contain}.brandWordmark{height:22px;object-position:left center;max-width:165px}.bookingBlock span,.bookingCard span,.brand span,.muted,.pageHeader p,.panel header span,.roomCell span{color:var(--muted)}.brand span{font-size:10px;line-height:1.25;white-space:nowrap}.statusConnected{color:#18803d}.statusDisconnected{color:#b91c1c}.brand span,.brand strong{display:block}nav{display:grid;grid-gap:6px;gap:6px}nav a{border-radius:6px;color:var(--ink);padding:10px 12px;text-decoration:none}nav a.active,nav a:hover{background:var(--soft);color:var(--accent)}.main{min-width:0;padding:28px}.pageHeader{align-items:center;display:flex;justify-content:space-between;gap:16px;margin-bottom:24px}.pageHeader h1{font-size:34px;line-height:1.1;margin:0}.pageHeader p{margin:0 0 6px}.headerActions{align-items:flex-end;display:flex;gap:10px}.viewSwitcher{align-items:center;display:flex;gap:10px;justify-content:flex-end;margin-bottom:18px}.compactField,.viewSwitcher>span{color:var(--muted);font-size:13px}.compactField{min-width:220px}.compactField select{color:var(--ink);margin-top:6px;width:100%}.segmentedControl{background:#f4eadb;border-radius:8px;display:inline-flex;padding:3px}.segmentedControl button{text-transform:capitalize}.segmentedControl a,.segmentedControl button{background:transparent;color:var(--ink);min-height:34px}.segmentedControl a{align-items:center;border-radius:6px;display:inline-flex;padding:0 12px;text-decoration:none}.segmentedControl a.active,.segmentedControl button.active{background:#fff;box-shadow:0 1px 4px rgba(23,33,27,.12);color:var(--accent-2)}.metricGrid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:24px}.opsBar{background:#fff;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:0;gap:0;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px;overflow:hidden}.opsBar article{border-right:1px solid var(--line);display:grid;grid-gap:6px;gap:6px;min-height:74px;padding:14px}.opsBar article:last-child{border-right:0}.opsBar span{color:var(--muted);font-size:12px}.opsBar strong{font-size:20px}.opsGood{box-shadow:inset 3px 0 0 #18803d}.opsWarn{box-shadow:inset 3px 0 0 #b91c1c}.adminGrid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px}.bookingCard,.metricGrid article,.modal,.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px}.metricGrid article{padding:18px}.metricGrid span,.metricGrid strong{display:block}.metricGrid strong{font-size:34px;margin-top:10px}.panel{padding:18px}.calendarPanel{background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden}.monthGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendarDow{background:#fffaf2;color:var(--muted);font-size:12px;padding:10px}.calendarDow,.monthCell{border-bottom:1px solid var(--line);border-right:1px solid var(--line)}.monthCell{min-height:118px;padding:8px}.mutedCell{background:#fffaf2;color:var(--muted)}.calendarBooking{align-items:flex-start;background:#ffe8c6;border:1px solid #ffc27b;color:var(--ink);display:grid;grid-gap:2px;gap:2px;justify-content:stretch;margin-top:6px;min-height:0;padding:6px 7px;text-align:left;width:100%}.calendarBooking:hover{background:#ffddb0;border-color:#ffad5e}.calendarBooking span{color:var(--muted);font-size:12px}.weekGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekDay{border-right:1px solid var(--line);min-height:320px;padding:12px}.weekDay header{display:grid;grid-gap:2px;gap:2px;margin-bottom:12px}.weekDay header span{color:var(--muted)}.weekBookings{display:grid;grid-gap:8px;gap:8px}.agendaRow,.dayAgenda{display:grid}.agendaRow{align-items:center;background:#fff;border-bottom:1px solid var(--line);border-radius:0;color:var(--ink);grid-gap:12px;gap:12px;grid-template-columns:150px 1.4fr 1fr 1.2fr 1.2fr;justify-content:stretch;min-height:62px;padding:0 14px;text-align:left}.agendaRow:hover{background:var(--soft)}.agendaRow span{color:var(--muted)}.panel header{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.panel h2{font-size:18px;margin:0}.panelSubtle{color:var(--muted);margin:4px 0 0}.panelCount{color:var(--muted);display:block;margin-bottom:10px}.roomsHeader{gap:14px}.roomsHeader .compactField{min-width:220px}.table{display:grid}.bookingGroup{margin-top:12px}.bookingGroup header{align-items:baseline;border-top:1px solid var(--line);display:flex;gap:10px;justify-content:space-between;margin:0;padding-top:12px}.bookingGroup h3{font-size:15px;margin:0}.bookingGroup h3,.bookingGroup header span{color:var(--muted)}.tableRow{align-items:center;border-top:1px solid var(--line);display:grid;grid-gap:12px;gap:12px;grid-template-columns:1.5fr 1fr 1.5fr 120px;min-height:54px}.adminTable .tableRow{grid-template-columns:1.3fr 1fr 1.3fr 1.3fr 100px 78px 90px}.scheduleGrid{background:#fff;border:1px solid var(--line);border-radius:8px;display:grid;grid-template-columns:180px repeat(var(--slot-count),minmax(34px,1fr));overflow:auto;position:relative}.cornerCell,.roomCell,.slotCell,.timeCell{border-bottom:1px solid var(--line);border-right:1px solid var(--line)}.cornerCell,.timeCell{background:#fffaf2;color:var(--muted);font-size:12px;min-height:42px;padding:12px 8px;position:-webkit-sticky;position:sticky;top:0;z-index:3}.cornerCell,.roomCell{left:0;position:-webkit-sticky;position:sticky;z-index:4}.roomCell{background:#fff;grid-row:1;min-height:92px;padding:12px;transition:background .12s ease,box-shadow .12s ease}.bookingBlock span,.bookingBlock strong,.roomCell span,.roomCell strong{display:block}.roomCell:hover{background:#fff3dc;box-shadow:inset 3px 0 0 var(--accent);z-index:8}.roomHoverLayer{background:#fff;border:1px solid #ffd38d;border-radius:8px;box-shadow:0 14px 34px rgba(23,33,27,.16);display:none;left:calc(100% + 8px);min-width:260px;padding:12px;position:absolute;top:8px;z-index:20}.roomCell:hover .roomHoverLayer{display:grid;grid-gap:4px;gap:4px}.rowFragment{display:grid;grid-column:1/-1;grid-template-columns:subgrid;position:relative}.slotCell{background:#fff;border-radius:0;grid-row:1;min-height:92px;padding:0}.slotCell:hover{background:var(--soft)}.slotCell[disabled]{cursor:not-allowed}.bookingLayer{display:grid;grid-row:1;height:100%;padding:8px 4px;position:relative;z-index:2}.bookedRangeBackground{align-self:stretch;background:#f3eadb;grid-row:1;pointer-events:none;z-index:1}.bookingBlock{align-self:center;background:#ffe8c6;border:1px solid #ffc27b;color:var(--ink);display:block;grid-column:1;grid-row:1;height:100%;overflow:hidden;padding:7px 9px;position:relative;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease;z-index:2}.bookingBlock:hover{background:#ffddb0;border-color:#ffad5e;box-shadow:0 8px 18px rgba(255,139,74,.18)}.bookingBlock strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobileBookings{display:none}.bookingCard{align-items:center;display:grid;grid-gap:10px;gap:10px;grid-template-columns:1fr auto;padding:14px}.bookingCard p{margin:0}.modalBackdrop{align-items:center;background:rgba(23,33,27,.48);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:10}.modal{max-width:460px;padding:18px;width:100%}.actions,.modal header{align-items:center;display:flex;justify-content:space-between;gap:10px}.modal h2{margin:0}.detailsList{display:grid;grid-gap:12px;gap:12px;margin-top:18px}.detailsList div{border-top:1px solid var(--line);display:grid;grid-gap:4px;gap:4px;padding-top:12px}.detailsList span{color:var(--muted)}.detailsActions{margin-top:18px}.iconButton{background:#f4eadb;color:var(--ink);min-height:34px;padding:0;width:34px}form{display:grid;grid-gap:14px;gap:14px;margin-top:18px}.stackedForm{border-top:1px solid var(--line);margin-top:0;padding-top:14px}label{display:grid;grid-gap:6px;gap:6px;font-weight:700}input,select{border:1px solid var(--line);border-radius:6px;min-height:40px;padding:0 10px}.formGrid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:1fr 1fr}.actions{justify-content:flex-end}.list{display:grid;grid-gap:8px;gap:8px;margin-top:16px}.listItem{align-items:center;background:#fffaf2;border:1px solid var(--line);border-radius:8px;display:flex;gap:12px;justify-content:space-between;min-height:58px;padding:10px 12px}.panelActions,.rowActions{display:flex;gap:8px}.panelActions{border-top:1px solid var(--line);justify-content:flex-end;margin-top:16px;padding-top:14px}.listItem span,.listItem strong{display:block}.listItem span{color:var(--muted)}.commandGrid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.opsList{display:grid;grid-gap:10px;gap:10px}.opsItem{background:#fffaf2;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:4px;gap:4px;padding:12px}.opsItem span,.opsItem strong{display:block}.opsItem span{color:var(--muted)}.activityFeed{display:grid}.activityItem{border-top:1px solid var(--line);display:grid;grid-gap:14px;gap:14px;grid-template-columns:90px 1fr;min-height:66px;padding:12px 0}.activityItem span,.activityItem time{color:var(--muted)}.activityItem span,.activityItem strong{display:block}.readinessGrid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.roomStatus{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:inset 3px 0 0 #18803d;padding:14px}.roomStatus.occupied{box-shadow:inset 3px 0 0 var(--accent-2)}.roomStatus.attention{box-shadow:inset 3px 0 0 #b91c1c}.roomStatus header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.roomStatus h2{font-size:18px;margin:0}.roomStatus p{color:var(--muted);margin:12px 0}.roomStatusControl{color:var(--muted);font-size:12px;margin-bottom:12px}.roomStatusControl select{color:var(--ink);margin-top:6px;width:100%}.roomStatus dl{display:grid;grid-gap:10px;gap:10px;margin:0}.roomStatus div{min-width:0}.roomStatus dt{color:var(--muted);font-size:12px}.roomStatus dd{margin:0}.participantHero{align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;display:flex;justify-content:space-between;margin-bottom:18px;padding:18px}.participantHero p,.participantHero span{color:var(--muted)}.participantHero h2,.participantHero p{margin:0}.participantHero strong{font-size:28px}.itineraryGrid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}.itineraryCard{background:#fff;border:1px solid var(--line);border-radius:8px;padding:16px}.itineraryCard header{display:grid;grid-gap:4px;gap:4px;margin-bottom:14px}.itineraryCard dt,.itineraryCard header span{color:var(--muted);font-size:12px}.itineraryCard header strong{font-size:20px}.itineraryCard dl{display:grid;grid-gap:10px;gap:10px;margin:0}.itineraryCard dd{margin:0}.participantTimeline{display:grid}.timelineItem{border-top:1px solid var(--line);display:grid;grid-gap:14px;gap:14px;grid-template-columns:110px 1fr;min-height:64px;padding:12px 0}.timelineItem span,.timelineItem time{color:var(--muted)}.timelineItem span,.timelineItem strong{display:block}.participantRow{cursor:default}.participantTable{display:grid}.participantItem{align-items:center;border-top:1px solid var(--line);display:grid;grid-gap:12px;gap:12px;grid-template-columns:1.4fr 120px 1.4fr 1.2fr;min-height:62px}.participantItem span{color:var(--muted)}.error{background:#fff0ee;border:1px solid #f0b8b2;border-radius:6px;color:var(--danger)}.error,.notice{padding:10px 12px}.notice{background:var(--soft);border:1px solid #ffd38d;border-radius:6px;color:#7a3b10}@media (max-width:760px){.shell{display:block}.sidebar{border-bottom:1px solid var(--line);border-right:0;padding:14px}.brand{margin-bottom:14px}nav{display:flex}.main{padding:18px 14px}.headerActions,.pageHeader,.viewSwitcher{align-items:stretch;flex-direction:column}.opsBar{grid-template-columns:repeat(2,minmax(0,1fr))}.opsBar article:nth-child(2n){border-right:0}.compactField{min-width:0}.pageHeader h1{font-size:28px}.activityItem,.adminGrid,.commandGrid,.itineraryGrid,.metricGrid,.readinessGrid,.timelineItem{grid-template-columns:1fr}.participantHero{align-items:flex-start;flex-direction:column;gap:10px}.monthGrid{grid-template-columns:1fr}.calendarDow{display:none}.monthCell{min-height:90px}.weekGrid{grid-template-columns:1fr}.weekDay{border-bottom:1px solid var(--line);border-right:0;min-height:0}.agendaRow{grid-template-columns:1fr;padding:12px}.scheduleGrid{display:none}.mobileBookings{display:grid;grid-gap:10px;gap:10px}.adminTable .tableRow,.bookingCard,.participantItem,.tableRow{grid-template-columns:1fr;padding:12px 0}}