.ix-stage .ix-experience { padding:20px; }.ic-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-bottom:18px; }.ic-toolbar strong { display:block; margin-top:6px; font-size:18px; letter-spacing:-.04em; }.ic-toolbar strong>span { color:var(--accent); }.ic-toolbar button { min-height:44px; padding:8px 12px; border:1px solid var(--border); border-radius:9px; color:var(--text-primary); background:var(--surface-elevated); font:600 10px var(--rh-sans); cursor:pointer; }
.ic-viewport { height:440px; position:relative; overflow:hidden; isolation:isolate; border:1px solid var(--border-strong); border-radius:18px; background:radial-gradient(ellipse at 50% 20%,var(--accent-soft),transparent 70%),var(--surface-inset); }
.ic-canvas { position:absolute; width:1000px; height:820px; transform-origin:0 0; background:var(--surface); border:1px solid var(--border); border-radius:16px; box-shadow:0 20px 60px #0003; transition:transform 850ms cubic-bezier(.22,.75,.18,1); will-change:transform; overflow:hidden; }
.ic-sidebar { position:absolute; inset:0 auto 0 0; width:166px; padding:24px 14px; background:var(--surface-elevated); border-right:1px solid var(--border); }.ic-brand { display:flex; align-items:center; gap:8px; color:var(--accent); font-size:22px; font-weight:800; }.ic-brand span { font-size:11px; color:var(--text-primary); }.ic-sidebar>small { display:block; margin:32px 10px 14px; color:var(--text-secondary); font-size:8px; letter-spacing:.12em; }.ic-sidebar p,.ic-sidebar>button { display:block; width:100%; margin:5px 0; padding:12px 8px; border:0; border-radius:6px; background:transparent; color:var(--text-secondary); text-align:left; font:500 10px var(--rh-sans); }.ic-sidebar>button:hover { background:var(--accent-soft); color:var(--accent); }.ic-user { position:absolute; bottom:22px; color:var(--accent); font-size:12px; }.ic-user span { color:var(--text-secondary); font-size:9px; }
.ic-appbar { position:absolute; top:0; left:166px; right:0; height:55px; padding:0 24px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--border); font-size:10px; color:var(--text-secondary); }.ic-appbar b { margin-left:15px; padding:8px; border-radius:50%; background:var(--accent-soft); color:var(--accent); }.ic-app-title { position:absolute; left:190px; top:79px; right:24px; display:flex; justify-content:space-between; align-items:center; }.ic-app-title strong { font-size:20px; letter-spacing:-.04em; }.ic-app-title span { color:var(--text-secondary); font-size:10px; }
.ic-module { position:absolute; width:380px; height:314px; left:190px; top:128px; padding:17px; border:1px solid var(--border); border-radius:13px; background:var(--surface-elevated); box-shadow:var(--shadow-soft); transition:border-color .3s,box-shadow .3s; }.ic-module[data-ic-module="1"] { left:596px; }.ic-module[data-ic-module="2"] { top:467px; }.ic-module.is-focused { border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft),var(--shadow-elevated); }.ic-module>header { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:13px; }.ic-module header small { font-size:8px; color:var(--text-secondary); }.ic-module h4 { margin:5px 0 0; font-size:17px; line-height:1.2; letter-spacing:-.035em; }.ic-module header button { width:32px; height:32px; border:1px solid var(--border); border-radius:7px; color:var(--accent); background:var(--surface); cursor:pointer; }.ic-module-fields { margin-top:12px; }.ic-module-fields>div { display:flex; justify-content:space-between; gap:10px; padding:8px 0; border-bottom:1px solid var(--border); font-size:9px; }.ic-module-fields span { color:var(--text-secondary); }.ic-module-fields strong { font-weight:600; text-align:right; }.ic-module>footer { position:absolute; bottom:12px; left:17px; right:17px; display:flex; justify-content:space-between; align-items:center; gap:8px; font-size:8px; color:var(--accent); }.ic-module footer button { min-height:32px; border:0; border-radius:7px; padding:8px 10px; background:var(--accent); color:var(--accent-contrast); font:600 9px var(--rh-sans); cursor:pointer; }
.ic-properties { display:grid; grid-template-columns:1fr 1fr; gap:9px; height:118px; }.ic-properties>div { overflow:hidden; border:1px solid var(--border); border-radius:7px; padding:5px; }.ic-building { height:50px; border-radius:4px; background:linear-gradient(90deg,transparent 20%,#617887 20% 45%,transparent 45% 52%,#d7d4c9 52% 80%,transparent 80%),linear-gradient(#a1c2d5 65%,#879e9a 65%); }.ic-building.alternate { background:linear-gradient(90deg,transparent 10%,#c7c9c5 10% 40%,transparent 40% 47%,#536f81 47% 90%,transparent 90%),linear-gradient(#b8d6dc 65%,#9fb5b5 65%); }.ic-properties strong,.ic-properties small,.ic-properties b { display:block; margin-top:4px; font-size:9px; }.ic-properties small { color:var(--text-secondary); font-size:8px; }.ic-properties b { color:var(--accent); font-size:7px; }
.ic-calendar,.ic-drawing,.ic-map,.ic-rooms,.ic-stock,.ic-documents,.ic-pipeline,.ic-renewal,.ic-billing { height:118px; border-radius:8px; overflow:hidden; background:var(--surface); border:1px solid var(--border); }
.ic-days { display:grid; grid-template-columns:repeat(3,1fr); padding:8px 8px 8px 40px; font-size:7px; color:var(--text-secondary); }.ic-slots { display:grid; grid-template-columns:35px repeat(3,1fr); grid-auto-rows:27px; gap:2px; padding:0 5px; }.ic-slots>span { font-size:7px; color:var(--text-secondary); padding-top:5px; }.ic-slots i { border:1px solid var(--border); border-radius:3px; }.ic-slots b { font-size:7px; background:var(--accent-soft); color:var(--accent); padding:3px; border-left:2px solid var(--accent); }.ic-slots small { display:block; font-size:6px; }
.ic-map { position:relative; background:repeating-linear-gradient(35deg,var(--accent-soft) 0 1px,transparent 1px 30px),var(--surface); }.ic-map svg,.ic-drawing svg { width:100%; height:100%; fill:var(--accent); }.ic-street { fill:none; stroke:var(--border-strong); stroke-width:8; }.ic-road { fill:none; stroke:var(--accent); stroke-width:3; stroke-dasharray:5 3; }.ic-map>span,.ic-map>b { position:absolute; font-size:8px; background:var(--surface-elevated); padding:5px 8px; border-radius:4px; }.ic-map>span { left:12px; bottom:7px; }.ic-map>b { right:10px; top:8px; color:var(--accent); }
.ic-drawing { position:relative; background:repeating-linear-gradient(0deg,var(--accent-soft) 0 1px,transparent 1px 12px),var(--surface); }.ic-drawing path { fill:none; stroke:var(--accent); stroke-width:2; }.ic-drawing .ic-revision { fill:var(--accent-soft); stroke-dasharray:4 2; }.ic-drawing span { position:absolute; bottom:6px; right:7px; font-size:7px; color:var(--accent); }
.ic-rooms { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; padding:8px; }.ic-rooms>div { display:grid; place-content:center; text-align:center; border:1px solid var(--border); border-radius:5px; background:var(--surface-elevated); }.ic-rooms strong { font-size:12px; }.ic-rooms small { font-size:7px; color:var(--text-secondary); margin-top:3px; }.ic-rooms .ic-room-selected { border-color:var(--accent); background:var(--accent-soft); }
.ic-stock,.ic-documents { padding:5px 10px; }.ic-stock>div,.ic-documents>div { display:flex; align-items:center; gap:10px; padding:6px 0; border-bottom:1px solid var(--border); font-size:9px; }.ic-stock i { width:23px; height:23px; border-radius:5px; background:linear-gradient(135deg,var(--accent-soft),var(--accent)); }.ic-stock span,.ic-documents p { flex:1; margin:0; }.ic-stock small,.ic-documents small { display:block; margin-top:3px; color:var(--text-secondary); font-size:7px; }.ic-documents>div>span { color:var(--accent); font-size:17px; }.ic-documents b { color:var(--accent); font-size:7px; }
.ic-pipeline { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; padding:9px; }.ic-pipeline>div { display:flex; flex-direction:column; gap:9px; padding:8px; border:1px solid var(--border); border-top:2px solid var(--accent); border-radius:4px; background:var(--surface-elevated); }.ic-pipeline small,.ic-pipeline span { font-size:7px; color:var(--text-secondary); }.ic-pipeline strong { font-size:9px; flex:1; }
.ic-renewal { display:flex; align-items:center; gap:17px; padding:12px; }.ic-renewal>span { padding:9px 14px; border:1px solid var(--border); border-top:4px solid var(--accent); border-radius:6px; font-size:8px; color:var(--accent); }.ic-renewal>span strong { display:block; font-size:28px; color:var(--text-primary); }.ic-renewal>div { flex:1; }.ic-renewal strong { font-size:11px; }.ic-renewal small { display:block; font-size:7px; color:var(--text-secondary); margin-top:8px; }.ic-meter { height:5px; margin-top:10px; background:var(--border); border-radius:5px; }.ic-meter i { display:block; width:60%; height:100%; background:var(--accent); border-radius:5px; }
.ic-billing { display:flex; padding:15px; gap:20px; align-items:center; }.ic-billing span { font-size:9px; color:var(--text-secondary); }.ic-billing strong { display:block; margin-top:9px; font-size:30px; }.ic-billing small { font-size:10px; }.ic-bars { flex:1; display:flex; align-items:flex-end; height:80px; gap:7px; }.ic-bars i { flex:1; background:var(--accent); border-radius:4px 4px 0 0; opacity:.65; }
.ic-activity { position:absolute; left:596px; top:467px; width:380px; padding:22px; }.ic-activity h4 { font-size:23px; letter-spacing:-.04em; line-height:1.2; margin:14px 0 20px; }.ic-activity p { display:flex; align-items:center; gap:10px; font-size:10px; }.ic-activity i { width:5px; height:5px; background:var(--accent); border-radius:50%; }.ic-activity p>span { flex:1; }.ic-activity small { display:block; color:var(--text-secondary); font-size:8px; margin-top:5px; }.ic-activity b { font-size:9px; color:var(--accent); }
.ic-caption { display:flex; align-items:center; gap:14px; padding:17px 0; }.ic-caption>div { flex:1; }.ic-caption p { font-size:11px; color:var(--text-secondary); line-height:1.6; margin:6px 0 0; }.ic-zoom { flex:0 0 70px; color:var(--accent); font-size:8px; text-align:right; }.ic-controls { overflow:hidden; border:1px solid var(--border); border-radius:9px; }.ic-result { min-height:90px; }.ic-module[data-step="2"] { border-color:var(--accent); }.ic-module[data-step="2"] .ic-meter i { width:100%; }
.ic-module-footer { position:absolute; bottom:12px; left:17px; right:17px; display:flex; justify-content:space-between; align-items:center; gap:8px; font-size:8px; color:var(--accent); }
.ic-module-footer button { min-height:32px; border:0; border-radius:7px; padding:8px 10px; background:var(--accent); color:var(--accent-contrast); font:600 9px var(--rh-sans); cursor:pointer; }
/* A centered icon with a clear close state; the legacy SVG lacked sizing. */
html body.rearch-home #header #menuButton { position:relative; place-items:center!important; width:44px!important; height:44px!important; padding:0!important; border:1px solid var(--border-strong)!important; border-radius:12px!important; color:var(--text-primary)!important; background:var(--surface-elevated)!important; }
html body.rearch-home #header #menuButton svg { display:none!important; }
html body.rearch-home #header #menuButton::before,html body.rearch-home #header #menuButton::after { content:''; position:absolute; left:12px; width:18px; height:2px; border-radius:2px; background:currentColor; transition:transform .2s,box-shadow .2s; }
html body.rearch-home #header #menuButton::before { top:15px; box-shadow:0 6px 0 currentColor; }
html body.rearch-home #header #menuButton::after { top:27px; }
html body.rearch-home #header #menuButton[aria-expanded="true"]::before { transform:translateY(6px) rotate(45deg); box-shadow:none; }
html body.rearch-home #header #menuButton[aria-expanded="true"]::after { transform:translateY(-6px) rotate(-45deg); }
@media(max-width:600px) { .ix-stage .ix-experience { padding:16px 12px; }.ic-viewport { height:320px; }.ic-toolbar { align-items:center; }.ic-toolbar strong { font-size:15px; }.ic-toolbar button { max-width:125px; font-size:10px; }.ic-caption p { font-size:12px; }.ic-controls button { min-height:60px; }.ic-canvas { transition-duration:650ms; } }
@media(max-width:600px) {
 .ic-viewport { height:370px; }
 .ic-module { width:320px; height:330px; padding:14px; }
 .ic-module header small { font-size:10px; }.ic-module h4 { font-size:19px; }
 .ic-module-fields>div { font-size:12px; line-height:1.4; padding:9px 0; }
 .ic-module-fields strong { max-width:175px; }
 .ic-module-footer { left:14px; right:14px; font-size:10px; }
 .ic-module-footer button { min-height:44px; font-size:11px; }
 .ic-days,.ic-slots>span,.ic-slots b { font-size:9px; }.ic-slots small { font-size:8px; }
 .ic-documents small,.ic-stock small,.ic-rooms small,.ic-renewal small { font-size:9px; }
 .ic-documents>div,.ic-stock>div { font-size:11px; }.ic-pipeline strong { font-size:10px; }
 .ic-properties strong { font-size:10px; }.ic-properties small,.ic-properties b { font-size:9px; }
}
@media(prefers-reduced-motion:reduce) { .ic-canvas,html body.rearch-home #header #menuButton::before,html body.rearch-home #header #menuButton::after { transition:none!important; } }
/* Rich, locally hosted media and semantic industry analytics. */
.ic-canvas { height:920px; background:radial-gradient(ellipse at 90% 0,var(--accent-soft),transparent 50%),var(--surface); }
.ic-module { height:370px; background:linear-gradient(145deg,var(--surface-elevated),var(--surface)); }
.ic-module[data-ic-module="2"],.ic-activity { top:520px; }
.ic-properties,.ic-calendar,.ic-drawing,.ic-map,.ic-rooms,.ic-stock,.ic-documents,.ic-pipeline,.ic-renewal,.ic-billing { height:146px; }
.ic-module-fields { margin-top:15px; }.ic-module-fields>div { padding:10px 0; }
.ic-properties { gap:10px; }.ic-properties>div { padding:0 0 7px; background:var(--surface-elevated); }
.ic-property-photo { height:79px; position:relative; overflow:hidden; }
.ic-property-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.ic-property-photo>span { position:absolute; left:5px; top:5px; padding:3px 5px; border-radius:3px; background:#091522d9; color:#fff; font-size:6px; letter-spacing:.07em; }
.ic-properties strong,.ic-properties small,.ic-properties b { margin-left:7px; margin-right:5px; }
.ic-properties b { display:inline-block; border-radius:4px; padding:3px 5px; margin-top:5px; background:var(--accent-soft); }
.ic-room-gallery { grid-template-columns:repeat(4,1fr); grid-template-rows:76px 1fr 1fr; gap:4px; padding:5px; }
.ic-room-gallery .ic-suite-photo { position:relative; display:block; grid-column:1/-1; border:0; overflow:hidden; }
.ic-suite-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 53%; }
.ic-suite-photo>span { position:absolute; inset:auto 0 0; padding:8px; display:flex; justify-content:space-between; align-items:center; color:white; background:linear-gradient(transparent,#06101ee8); font-size:8px; text-align:left; }
.ic-suite-photo b { font-size:7px; color:#dcf7eb; }
.ic-room-gallery>div:not(.ic-suite-photo) { display:flex; gap:4px; align-items:center; justify-content:center; }.ic-room-gallery strong { font-size:8px; }.ic-room-gallery small { font-size:6px; margin:0; }
.ic-days { padding-top:10px; padding-bottom:10px; }.ic-slots { grid-auto-rows:32px; }.ic-slots i { background:var(--surface-elevated); }.ic-slots b { border-radius:4px; box-shadow:0 3px 9px #0001; }
.ic-item-icon { flex:0 0 28px!important; display:grid; place-items:center; height:28px; border-radius:6px; background:var(--accent-soft); color:var(--accent); font-size:21px; }
.ic-stock>div { padding:9px 0; }.ic-stock b { padding:4px 6px; border-radius:5px; background:var(--surface-elevated); border:1px solid var(--border); font-size:9px; white-space:nowrap; }
.ic-documents>div { padding:10px 0; }.ic-documents b { border:1px solid var(--border); border-radius:5px; padding:4px 6px; }
.ic-map .ic-water { fill:var(--accent-soft); }.ic-map .ic-map-block { fill:var(--surface-elevated); stroke:var(--border); stroke-width:1; }
.ic-road { stroke-width:3.5; stroke-dasharray:none; }.ic-map circle { stroke:var(--surface-elevated); stroke-width:2; }
.ic-plan-furniture path { stroke:var(--text-muted); stroke-width:.7; fill:var(--accent-soft); }.ic-drawing text { fill:var(--accent); font-size:5px; font-family:var(--rh-sans); letter-spacing:.06em; }
.ic-billing { padding:12px; gap:12px; }.ic-hours { flex:0 0 120px; }.ic-hours strong { font-size:30px; }.ic-hours>b { display:block; font-size:7px; color:var(--accent); margin-top:8px; font-weight:500; }.ic-bill-bars { display:flex; flex:1; height:104px; gap:8px; align-items:flex-end; }.ic-bill-bars>div { display:flex; flex-direction:column; justify-content:flex-end; align-items:center; flex:1; gap:4px; }.ic-bill-bars i { display:block; width:100%; background:linear-gradient(var(--accent),color-mix(in srgb,var(--accent) 45%,transparent)); border-radius:4px 4px 0 0; }.ic-bill-bars b,.ic-bill-bars small { font-size:7px; color:var(--text-secondary); }
.ic-activity { padding:18px; height:370px; border:1px solid var(--border); border-radius:13px; background:var(--surface-elevated); }
.ic-insight-head { display:flex; align-items:center; justify-content:space-between; gap:6px; }.ic-insight-head .ix-eyebrow { font-size:9px; letter-spacing:.04em; }.ic-insight-head small { margin:0; font-size:6px; letter-spacing:.08em; }
.ic-insight-stats { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:20px 0; }.ic-insight-stats>div { padding:12px; border:1px solid var(--border); background:var(--surface); border-radius:9px; }.ic-insight-stats strong { font-size:24px; letter-spacing:-.04em; }.ic-insight-stats small { font-size:8px; margin-top:4px; }
.ic-chart-label { display:flex; justify-content:space-between; color:var(--text-secondary); font-size:9px; }.ic-chart-label b { color:var(--accent); font-weight:500; font-size:8px; }
.ic-trend { display:block; width:100%; height:132px; margin-top:6px; color:var(--accent); overflow:visible; }.ic-trend text { fill:var(--text-secondary); font:8px var(--rh-sans); }.ic-chart-grid { stroke:var(--border); stroke-width:1; stroke-dasharray:3 4; fill:none; }.ic-chart-line { fill:none; stroke:currentColor; stroke-width:2.5; stroke-linejoin:round; stroke-linecap:round; }.ic-trend circle { fill:var(--surface-elevated); stroke:currentColor; stroke-width:2; }
.ic-insight-note { display:flex; align-items:center; gap:8px; padding-top:13px; margin-top:8px; border-top:1px solid var(--border); }.ic-insight-note>span { display:grid; place-items:center; width:25px; height:25px; background:var(--accent-soft); color:var(--accent); border-radius:6px; }.ic-insight-note p { display:block; font-size:9px; margin:0; }.ic-insight-note small { margin-top:4px; font-size:7px; }
@media(max-width:600px) { .ic-viewport { height:390px; }.ic-module { height:380px; }.ic-module[data-ic-module="2"] { top:520px; }.ic-module-fields { margin-top:10px; }.ic-module-fields>div { padding:9px 0; }.ic-property-photo { height:79px; }.ic-stock>div { font-size:10px; }.ic-stock small { font-size:8px; }.ic-documents small { font-size:8px; }.ic-hours { flex-basis:105px; }.ic-bill-bars { gap:5px; }.ic-billing { gap:8px; } }
