/* [next]/internal/font/google/inter_35112f12.module.css [app-client] (css) */
@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Inter Fallback;
  src: local(Arial);
  ascent-override: 90.44%;
  descent-override: 22.52%;
  line-gap-override: 0.0%;
  size-adjust: 107.12%;
}

.inter_35112f12-module__FvZN3a__className {
  font-family: Inter, Inter Fallback;
  font-style: normal;
}

.inter_35112f12-module__FvZN3a__variable {
  --font-inter: "Inter", "Inter Fallback";
}

/* [next]/internal/font/google/lora_8034646f.module.css [app-client] (css) */
@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/e7150917543fc9da-s.0mybutugvu-lq.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/71fbf9c08529c2a5-s.2fpqrm51ez0iq.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/e9457141811d41ae-s.02frcczqg7k-8.woff2") format("woff2");
  unicode-range: U+302-303, U+305, U+307-308, U+310, U+312, U+315, U+31A, U+326-327, U+32C, U+32F-330, U+332-333, U+338, U+33A, U+346, U+34D, U+391-3A1, U+3A3-3A9, U+3B1-3C9, U+3D1, U+3D5-3D6, U+3F0-3F1, U+3F4-3F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE??;
}

@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/ac34884600cd8d5d-s.2936i88_6qsfd.woff2") format("woff2");
  unicode-range: U+1-C, U+E-1F, U+7F-9F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+28??, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B??, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F0??, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F7??, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB??;
}

@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/e1ccd2766b08c828-s.15gdzqknx46iu.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/507a47c1876d4ec2-s.2qdkzeru_ecot.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/8c2eb9ceedecfc8e-s.p.23aeddxv5enbo.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/e7150917543fc9da-s.0mybutugvu-lq.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/71fbf9c08529c2a5-s.2fpqrm51ez0iq.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/e9457141811d41ae-s.02frcczqg7k-8.woff2") format("woff2");
  unicode-range: U+302-303, U+305, U+307-308, U+310, U+312, U+315, U+31A, U+326-327, U+32C, U+32F-330, U+332-333, U+338, U+33A, U+346, U+34D, U+391-3A1, U+3A3-3A9, U+3B1-3C9, U+3D1, U+3D5-3D6, U+3F0-3F1, U+3F4-3F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE??;
}

@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/ac34884600cd8d5d-s.2936i88_6qsfd.woff2") format("woff2");
  unicode-range: U+1-C, U+E-1F, U+7F-9F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+28??, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B??, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F0??, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F7??, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB??;
}

@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/e1ccd2766b08c828-s.15gdzqknx46iu.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/507a47c1876d4ec2-s.2qdkzeru_ecot.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/8c2eb9ceedecfc8e-s.p.23aeddxv5enbo.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Lora Fallback;
  src: local(Times New Roman);
  ascent-override: 87.33%;
  descent-override: 23.78%;
  line-gap-override: 0.0%;
  size-adjust: 115.2%;
}

.lora_8034646f-module__6lhl1a__className {
  font-family: Lora, Lora Fallback;
  font-style: normal;
}

.lora_8034646f-module__6lhl1a__variable {
  --font-lora: "Lora", "Lora Fallback";
}

/* [project]/apps/web/src/app/globals.css [app-client] (css) */
:root {
  --background: #f8fafc;
  --foreground: #0f172a;
  --muted: #64748b;
  --border: #e2e8f0;
  --card: #fff;
  --primary: #0f172a;
  --primary-foreground: #fff;
  --accent: #2e6b5a;
  --accent-deep: #1e3b33;
  --accent-soft: #e9f1ed;
  --surface-warm: #faf6ef;
  --border-warm: #e7dfd2;
  --warning-soft: #fffbf5;
  --warning-border: #fed7aa;
  --danger: #991b1b;
  --slate-50: #f8fafc;
  --slate-100: #f1f5f9;
  --slate-300: #cbd5e1;
  --slate-400: #94a3b8;
  --slate-500: #64748b;
  --slate-600: #475569;
  --slate-700: #334155;
  --slate-900: #0f172a;
  --sage: #2e6b5a;
  --sage-deep: #1e3b33;
  --sage-ink: #245648;
  --sage-soft: #e9f1ed;
  --sage-border: #cfe0d8;
  --warm-cream: #faf6ef;
  --warm-cream-strong: #efe9dd;
  --warm-ink: #6b5a3b;
  --border-subtle: #e2e8f0;
  --status-neutral-bg: #f1f5f9;
  --status-neutral-fg: #334155;
  --status-info-bg: #dbeafe;
  --status-info-fg: #1d4ed8;
  --status-success-bg: #dcfce7;
  --status-success-border: #bbf7d0;
  --status-success-fg: #166534;
  --status-warning-bg: #fff7ed;
  --status-warning-strong-bg: #ffedd5;
  --status-warning-border: #fed7aa;
  --status-warning-fg: #9a3412;
  --status-danger-bg: #fee2e2;
  --status-danger-border: #fecaca;
  --status-danger-fg: #991b1b;
  --font-sans: var(--font-inter), Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-serif: var(--font-lora), Lora, Georgia, "Times New Roman", serif;
  --card-border: #eae0ce;
  --sand: #efe9da;
  --sand-border: #e1d5b9;
  --sand-ink: #6b6350;
  --guest-muted: #5f5b4e;
  --guest-slabel: #6d5a38;
  --guest-chip-border: #dbcfb5;
  --guest-status-pending-bg: #f6e2b3;
  --guest-status-pending-fg: #8a5a12;
  --guest-status-progress-bg: #dce7f5;
  --guest-status-progress-fg: #2e5aac;
  --guest-status-done-bg: #e4efe8;
  --guest-status-done-fg: #2e6b5a;
  --guest-status-urgent-bg: #fbe9e6;
  --guest-status-urgent-fg: #c0392b;
  --guest-status-off-bg: #f0eadc;
  --guest-status-off-fg: #5f5b4e;
  --radius-control: 10px;
  --radius-button: 12px;
  --radius-card: 16px;
  --radius-sheet: 24px;
  --radius-badge: 999px;
  --shadow-card: 0 1px 2px #0f172a0a;
  --shadow-raised: 0 24px 48px -20px #0f172a47;
  --shadow-floating: 0 24px 64px -20px #0f172a8c;
  --space-page-x: clamp(18px, 4vw, 56px);
  --touch-target: 44px;
  --touch-target-large: 52px;
  --touch-cta: 54px;
}

* {
  box-sizing: border-box;
}

html, body {
  background: var(--background);
  color: var(--foreground);
  font-family: var(--font-sans);
  margin: 0;
  padding: 0;
}

a {
  color: inherit;
  text-decoration: none;
}

button, input, textarea, select {
  font: inherit;
}

.container {
  max-width: 1120px;
  margin: 0 auto;
  padding: 24px;
}

.card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
  min-width: 0;
  box-shadow: var(--shadow-card);
  padding: 20px;
}

.grid {
  gap: 16px;
  display: grid;
}

.grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.span-2 {
  grid-column: span 2;
}

@media (max-width: 800px) {
  .grid-3 {
    grid-template-columns: 1fr;
  }

  .span-2 {
    grid-column: 1 / -1;
  }
}

.muted {
  color: var(--muted);
}

.btn {
  border-radius: var(--radius-control);
  min-height: var(--touch-target);
  border: 1px solid var(--primary);
  background: var(--primary);
  color: var(--primary-foreground);
  cursor: pointer;
  justify-content: center;
  align-items: center;
  padding: 10px 14px;
  font-weight: 600;
  display: inline-flex;
}

.btn-secondary {
  color: var(--primary);
  background: #fff;
}

.btn:disabled {
  cursor: not-allowed;
  opacity: .55;
}

.action-button {
  appearance: none;
  border-radius: var(--radius-button);
  cursor: pointer;
  min-height: var(--touch-target);
  text-align: center;
  white-space: nowrap;
  border: 1px solid #0000;
  justify-content: center;
  align-items: center;
  font-weight: 900;
  line-height: 1;
  transition: background-color .12s, border-color .12s, box-shadow .12s, color .12s;
  display: inline-flex;
}

.action-button:focus-visible {
  outline-offset: 2px;
  outline: 3px solid #2e6b5a42;
}

.action-button-prominent {
  min-width: 154px;
  padding: 12px 16px;
  font-size: .86rem;
}

.action-button-compact {
  min-height: 38px;
  padding: 9px 12px;
  font-size: .78rem;
}

.action-button-primary {
  background: var(--primary);
  border-color: var(--primary);
  color: #fff;
  box-shadow: 0 10px 18px -14px #0f172ac7;
}

.action-button-primary:hover {
  background: #1e293b;
  border-color: #1e293b;
}

.action-button-secondary {
  border-color: var(--border);
  color: var(--slate-700);
  background: #fff;
}

.action-button-secondary:hover {
  background: var(--slate-50);
  border-color: var(--slate-300);
  color: var(--slate-900);
}

.action-button-success {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
  box-shadow: 0 10px 18px -14px #2e6b5acc;
}

.action-button-success:hover {
  background: var(--accent-deep);
  border-color: var(--accent-deep);
}

.action-button-danger {
  background: var(--status-danger-bg);
  border-color: var(--status-danger-border);
  color: var(--status-danger-fg);
}

.action-button-danger:hover {
  background: #fecaca;
  border-color: #fca5a5;
}

.action-button-ghost {
  box-shadow: none;
  background: none;
}

.action-button-ghost:hover {
  background: var(--status-danger-bg);
}

.action-row {
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
  display: flex;
}

.action-row form {
  min-width: 0;
  margin: 0;
}

.action-row-primary form, .action-row-primary .action-button {
  width: 100%;
}

.action-row-compact {
  justify-content: flex-start;
}

.detail-grid {
  grid-template-columns: minmax(280px, .85fr) minmax(320px, 1.15fr);
  align-items: start;
}

@media (max-width: 900px) {
  .detail-grid {
    grid-template-columns: 1fr;
  }
}

.page-heading, .section-heading, .button-row {
  align-items: center;
  gap: 12px;
  display: flex;
}

.page-heading, .section-heading {
  justify-content: space-between;
}

.page-heading > div, .section-heading > div {
  min-width: 0;
}

.notice {
  background: var(--status-warning-bg);
  border: 1px solid var(--status-warning-border);
  border-radius: var(--radius-control);
  color: #7c2d12;
  padding: 14px 16px;
}

.status-badge, .priority-badge {
  border-radius: var(--radius-badge);
  white-space: nowrap;
  padding: 7px 10px;
  font-size: .8125rem;
  font-weight: 700;
  line-height: 1;
  display: inline-flex;
}

.status-badge, .status-badge-not_started {
  background: var(--status-neutral-bg);
  color: var(--status-neutral-fg);
}

.status-badge-in_progress {
  background: var(--status-info-bg);
  color: var(--status-info-fg);
}

.status-badge-completed {
  background: var(--status-success-bg);
  color: var(--status-success-fg);
}

.status-badge-needs_review {
  background: var(--status-danger-bg);
  color: var(--status-danger-fg);
}

.priority-badge {
  background: var(--status-neutral-bg);
  color: var(--slate-600);
}

.priority-badge-medium {
  color: #92400e;
  background: #fef3c7;
}

.priority-badge-high, .priority-badge-urgent {
  background: var(--status-danger-bg);
  color: var(--status-danger-fg);
  font-weight: 800;
}

.checklist {
  gap: 14px;
  margin-top: 16px;
  display: grid;
}

.checklist-row {
  grid-template-columns: 18px 1fr;
  gap: 12px;
  display: grid;
}

.checklist-row p {
  margin: 4px 0 0;
}

.checkmark {
  border: 2px solid var(--border);
  border-radius: 50%;
  width: 18px;
  height: 18px;
  margin-top: 3px;
  display: inline-block;
}

.checkmark.complete {
  background: #16a34a;
  border-color: #16a34a;
  box-shadow: inset 0 0 0 4px #fff;
}

.info-panel {
  border-top: 1px solid var(--border);
  margin-top: 18px;
  padding-top: 16px;
}

.form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 16px;
  display: grid;
}

.form-grid label {
  color: var(--muted);
  gap: 6px;
  min-width: 0;
  font-size: .875rem;
  font-weight: 700;
  display: grid;
}

.form-grid input, .form-grid select, .form-grid textarea {
  border: 1px solid var(--border);
  border-radius: var(--radius-control);
  color: var(--foreground);
  min-height: var(--touch-target);
  background: #fff;
  width: 100%;
  min-width: 0;
  padding: 10px 12px;
}

.form-grid input:disabled {
  cursor: not-allowed;
  background: #f8fafc;
}

.full-span {
  grid-column: 1 / -1;
}

@media (max-width: 700px) {
  .page-heading, .section-heading, .button-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .form-grid {
    grid-template-columns: 1fr;
  }
}

.hospitality-shell {
  background: var(--background);
  color: var(--foreground);
  min-height: 100vh;
}

.module-header {
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  min-width: 0;
  display: flex;
}

.module-header h1 {
  margin: 6px 0 8px;
  line-height: 1.05;
}

.module-header p {
  margin: 0;
  line-height: 1.55;
}

.summary-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  gap: 4px;
  min-width: 0;
  padding: 14px 16px;
  display: grid;
}

.summary-card strong {
  color: var(--foreground);
  font-size: 1.65rem;
  line-height: 1;
}

.summary-card span {
  color: var(--slate-700);
  font-size: .82rem;
  font-weight: 800;
}

.room-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-left: 4px solid #0000;
  border-radius: 14px;
  gap: 10px;
  min-width: 0;
  padding: 14px;
  display: grid;
}

.room-card-attention {
  border-left-color: #d97706;
}

.room-card-success {
  border-left-color: var(--accent);
}

.room-card-danger {
  border-left-color: var(--danger);
}

.request-card {
  background: var(--status-warning-bg);
  border: 1px solid var(--status-warning-border);
  border-left: 4px solid #d97706;
  border-radius: 14px;
  gap: 8px;
  min-width: 0;
  padding: 14px;
  display: grid;
}

.request-card-info {
  background: #eff6ff;
  border-color: #bfdbfe #bfdbfe #bfdbfe #2563eb;
}

.request-card-success {
  border-color: var(--status-success-border);
  border-left-color: var(--accent);
  background: #f0fdf4;
}

.guest-service-row {
  min-height: 76px;
}

.bottom-sheet {
  background: var(--surface-warm);
  border: 1px solid var(--border-warm);
  border-radius: var(--radius-sheet) var(--radius-sheet) 0 0;
  box-shadow: var(--shadow-floating);
  width: min(390px, 100%);
  max-width: 390px;
  padding: 14px 20px 22px;
}

.detail-panel {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  min-width: 0;
  padding: 20px;
}

.empty-state {
  background: var(--slate-50);
  border: 1px dashed var(--border);
  color: var(--muted);
  border-radius: 14px;
  padding: 16px;
}

.invalid-link-state, .expired-link-state {
  background: var(--surface-warm);
  border: 1px solid var(--border-warm);
  border-radius: var(--radius-sheet);
  box-shadow: var(--shadow-raised);
  color: var(--foreground);
  gap: 10px;
  max-width: 390px;
  padding: 24px 20px;
  display: grid;
}

.invalid-link-state h1, .invalid-link-state h2, .expired-link-state h1, .expired-link-state h2 {
  margin: 0;
  font-family: Georgia, Times New Roman, serif;
  font-weight: 600;
  line-height: 1.15;
}

.reception-filter-row a {
  border: 1px solid var(--border);
  border-radius: var(--radius-badge);
  color: var(--slate-600);
  background: #fff;
  align-items: center;
  min-height: 44px;
  padding: 7px 11px;
  font-size: .8rem;
  font-weight: 900;
  display: inline-flex;
}

.reception-filter-row a.is-active {
  color: #fff;
  background: #0b65e8;
  border-color: #0b65e8;
}

.reception-stat-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 16px;
  display: grid;
}

.reception-request-list, .reception-room-list, .reception-reservation-list {
  gap: 10px;
  margin-top: 14px;
  display: grid;
}

.reception-request-title, .reception-room-title, .reception-reservation-row {
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  display: flex;
}

.reception-request-title p, .reception-reservation-row p {
  margin: 4px 0 0;
}

.reception-service-label {
  color: var(--accent-deep);
  text-transform: uppercase;
  margin-bottom: 3px;
  font-size: .74rem;
  font-weight: 950;
  display: block;
}

.reception-request-meta {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  display: grid;
}

.reception-request-meta div {
  background: #ffffffb8;
  border: 1px solid #e2e8f0cc;
  border-radius: 10px;
  padding: 8px;
}

.reception-request-meta dt {
  color: var(--slate-500);
  text-transform: uppercase;
  font-size: .68rem;
  font-weight: 900;
}

.reception-request-meta dd {
  color: var(--foreground);
  margin: 4px 0 0;
  font-size: .84rem;
  font-weight: 800;
}

.reception-wide-link {
  width: 100%;
  margin-top: 14px;
}

.reception-inbox-panel {
  margin-top: 16px;
}

.reception-filter-row {
  flex-wrap: wrap;
  gap: 8px;
  margin: 14px 0 8px;
  display: flex;
}

.reception-filter-form {
  background: var(--slate-50);
  border: 1px solid var(--border);
  border-radius: 14px;
  grid-template-columns: minmax(180px, .32fr) minmax(160px, .28fr) max-content;
  align-items: end;
  gap: 10px;
  margin-bottom: 16px;
  padding: 10px;
  display: grid;
}

.reception-filter-form label {
  color: var(--muted);
  gap: 6px;
  font-size: .82rem;
  font-weight: 800;
  display: grid;
}

.reception-filter-form input, .reception-filter-form select {
  border: 1px solid var(--border);
  border-radius: var(--radius-control);
  color: var(--foreground);
  background: #fff;
  width: 100%;
  min-height: 38px;
  padding: 8px 10px;
}

.reception-filter-form .action-button {
  align-self: end;
}

.reception-inbox-layout {
  grid-template-columns: minmax(0, 1fr) minmax(320px, .42fr);
  align-items: start;
  gap: 16px;
  display: grid;
}

.reception-inbox-list {
  margin-top: 0;
}

.reception-request-compact {
  gap: 10px;
  padding: 12px;
}

.reception-request-compact .reception-request-meta {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.reception-card-actions {
  border-top: 1px solid #e2e8f0d1;
  gap: 8px;
  padding-top: 10px;
  display: grid;
}

.reception-card-task-action {
  border-top: 1px solid #e2e8f0d1;
  padding-top: 10px;
}

.reception-card-task-action form {
  gap: 6px;
  display: grid;
}

.reception-handoff-inline {
  color: var(--slate-500);
  font-size: .74rem;
  font-weight: 800;
  line-height: 1.35;
}

.reception-action-panel {
  border: 1px solid var(--border);
  background: #fff;
  border-radius: 14px;
  gap: 10px;
  padding: 12px;
  display: grid;
}

.reception-action-cancel {
  border-top: 1px solid var(--border);
  margin-top: 2px;
  padding-top: 10px;
}

.reception-action-cancel .action-button {
  width: 100%;
}

.reception-action-heading {
  gap: 3px;
  display: grid;
}

.reception-action-heading span {
  color: var(--slate-900);
  font-size: .88rem;
  font-weight: 900;
}

.reception-action-heading small {
  color: var(--slate-500);
  font-size: .76rem;
  font-weight: 700;
  line-height: 1.35;
}

.reception-task-create-form {
  gap: 10px;
  display: grid;
}

.reception-task-create-form label {
  color: var(--slate-500);
  text-transform: uppercase;
  gap: 6px;
  font-size: .76rem;
  font-weight: 900;
  display: grid;
}

.reception-task-create-form textarea {
  border: 1px solid var(--border);
  border-radius: var(--radius-control);
  color: var(--foreground);
  resize: vertical;
  background: #fff;
  width: 100%;
  min-height: 76px;
  padding: 9px 10px;
}

.reception-handoff-preview {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  display: grid;
}

.reception-handoff-preview div {
  background: var(--accent-soft);
  border: 1px solid #cfe0d8;
  border-radius: 12px;
  gap: 4px;
  padding: 9px;
  display: grid;
}

.reception-handoff-preview span {
  color: var(--accent-deep);
  text-transform: uppercase;
  font-size: .68rem;
  font-weight: 950;
}

.reception-handoff-preview strong {
  color: var(--accent-deep);
  font-size: .86rem;
  line-height: 1.25;
}

.reception-handoff-copy {
  color: #475569;
  margin: 0;
  font-size: .82rem;
  line-height: 1.45;
}

.reception-handoff-state {
  gap: 6px;
  display: grid;
}

.reception-handoff-fallback {
  color: #9a3412;
  background: #fff7ed;
  border: 1px solid #fed7aa;
  border-radius: 10px;
  margin: 0;
  padding: 10px;
  font-size: .8rem;
  line-height: 1.45;
}

.reception-terminal-reason {
  border: 0;
  gap: 6px;
  margin: 0 0 10px;
  padding: 0;
  display: grid;
}

.reception-terminal-reason legend {
  color: var(--slate-700);
  margin-bottom: 4px;
  font-size: .78rem;
  font-weight: 900;
}

.reception-terminal-reason label {
  border: 1px solid var(--border);
  text-transform: none;
  background: #fff;
  border-radius: 10px;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  padding: 9px 10px;
  display: flex;
}

.reception-terminal-reason input {
  flex: none;
}

.reception-run-candidates {
  gap: 7px;
  display: grid;
}

.reception-run-candidates > span {
  color: var(--slate-700);
  font-size: .76rem;
  font-weight: 900;
}

.reception-run-candidates > small {
  color: var(--slate-500);
  font-size: .74rem;
  font-weight: 700;
  line-height: 1.4;
}

.reception-run-candidates form, .reception-run-candidates .action-button {
  width: 100%;
  margin: 0;
}

.reception-run-candidates .action-button {
  overflow-wrap: anywhere;
  text-align: left;
  white-space: normal;
  min-height: 44px;
}

.reception-request-detail {
  gap: 14px;
  display: grid;
  position: sticky;
  top: 16px;
}

.reception-detail-heading {
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  display: flex;
}

.reception-detail-heading h2 {
  margin: 8px 0 4px;
  font-family: Georgia, Times New Roman, serif;
  font-size: 1.45rem;
}

.reception-detail-list {
  gap: 8px;
  margin: 0;
  display: grid;
}

.reception-detail-list div, .reception-detail-note {
  background: var(--slate-50);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 10px;
}

.reception-detail-list dt, .reception-detail-note span {
  color: var(--slate-500);
  text-transform: uppercase;
  font-size: .7rem;
  font-weight: 900;
  display: block;
}

.reception-detail-list dd {
  color: var(--foreground);
  margin: 4px 0 0;
  font-weight: 850;
}

.reception-detail-note p {
  color: #334155;
  overflow-wrap: anywhere;
  margin: 6px 0 0;
  line-height: 1.45;
}

.marketing-page {
  background: #f8fafc;
  min-height: 100vh;
  padding: 24px clamp(18px, 4vw, 56px) 72px;
}

.marketing-nav {
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  max-width: 1180px;
  margin: 0 auto;
  display: flex;
}

.marketing-nav strong {
  font-size: 1.05rem;
}

.marketing-nav div {
  flex-wrap: wrap;
  align-items: center;
  gap: 18px;
  display: flex;
}

.marketing-nav a {
  color: #334155;
  font-size: .92rem;
  font-weight: 700;
}

.marketing-hero {
  grid-template-columns: minmax(0, .95fr) minmax(420px, 1.05fr);
  align-items: center;
  gap: 40px;
  max-width: 1180px;
  margin: 56px auto 0;
  display: grid;
}

.marketing-copy h1 {
  max-width: 780px;
  margin: 12px 0 18px;
  font-family: Georgia, Times New Roman, serif;
  font-size: clamp(2.3rem, 5vw, 4rem);
  font-weight: 600;
  line-height: 1.02;
}

.marketing-copy > p:not(.ops-kicker) {
  color: #475569;
  max-width: 720px;
  font-size: 1.12rem;
  line-height: 1.65;
}

.marketing-actions {
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 26px;
  display: flex;
}

.marketing-preview {
  grid-template-columns: minmax(0, 1fr) 190px;
  align-items: end;
  min-height: 410px;
  display: grid;
  position: relative;
}

.preview-board {
  border: 1px solid var(--border);
  background: #fff;
  border-radius: 18px;
  gap: 14px;
  padding: 24px;
  display: grid;
  box-shadow: 0 24px 56px -32px #0f172a73;
}

.preview-board > p {
  color: #475569;
  margin: 0;
  font-size: .88rem;
  font-weight: 800;
}

.preview-stats {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  display: grid;
}

.preview-stats span {
  border: 1px solid var(--border);
  color: #64748b;
  background: #f8fafc;
  border-radius: 12px;
  gap: 4px;
  padding: 12px;
  font-size: .78rem;
  font-weight: 700;
  display: grid;
}

.preview-stats strong {
  color: var(--accent);
  font-size: 1.7rem;
  line-height: 1;
}

.preview-request {
  color: #334155;
  background: #fffbf5;
  border: 1px solid #fed7aa;
  border-radius: 12px;
  padding: 14px;
  font-size: .92rem;
  font-weight: 700;
}

.preview-request b {
  color: var(--accent);
  float: right;
  font-size: .82rem;
}

.preview-phone {
  background: var(--surface-warm);
  border: 1px solid var(--border-warm);
  border-radius: 24px;
  gap: 10px;
  margin-left: -28px;
  padding: 22px 18px;
  display: grid;
  box-shadow: 0 22px 48px -24px #0f172a73;
}

.preview-phone span {
  color: #6b5a3b;
  background: #efe9dd;
  border-radius: 999px;
  width: max-content;
  padding: 7px 12px;
  font-size: .78rem;
  font-weight: 800;
  display: inline-flex;
}

.preview-phone h2 {
  margin: 8px 0;
  font-family: Georgia, Times New Roman, serif;
  font-size: 1.55rem;
  line-height: 1.1;
}

.preview-phone p {
  border: 1px solid var(--border-warm);
  background: #fff;
  border-radius: 12px;
  margin: 0;
  padding: 12px;
  font-weight: 800;
}

.preview-phone button {
  background: var(--accent);
  color: #fff;
  border: 0;
  border-radius: 12px;
  min-height: 48px;
  font-weight: 800;
}

.marketing-steps, .marketing-feature-grid {
  gap: 16px;
  max-width: 1180px;
  margin: 64px auto 0;
  display: grid;
}

.marketing-steps {
  grid-template-columns: 1.2fr repeat(3, minmax(0, 1fr));
}

.marketing-steps h2, .marketing-feature-grid h2 {
  margin: 8px 0 0;
  font-size: 1.6rem;
}

.marketing-steps article, .marketing-feature-grid article {
  border: 1px solid var(--border);
  background: #fff;
  border-radius: 16px;
  padding: 22px;
}

.marketing-steps article span {
  background: var(--accent-soft);
  color: var(--accent-deep);
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  width: 34px;
  height: 34px;
  font-weight: 900;
  display: inline-flex;
}

.marketing-steps article p, .marketing-feature-grid article p {
  color: #64748b;
  line-height: 1.55;
}

.marketing-feature-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.auth-page {
  max-width: 1120px;
}

.auth-heading {
  max-width: 760px;
  margin: 28px 0 18px;
}

.auth-heading h1 {
  margin: 8px 0 10px;
  font-family: Georgia, Times New Roman, serif;
  font-size: clamp(2.2rem, 5vw, 3.6rem);
  line-height: 1.05;
}

.auth-heading p {
  line-height: 1.55;
}

.auth-grid {
  grid-template-columns: minmax(280px, .8fr) minmax(420px, 1.2fr);
  align-items: start;
  gap: 16px;
  display: grid;
}

.auth-form {
  gap: 14px;
  display: grid;
}

.auth-form label {
  color: var(--muted);
  gap: 6px;
  font-size: .88rem;
  font-weight: 800;
  display: grid;
}

.auth-form input {
  border: 1px solid var(--border);
  color: var(--foreground);
  background: #fff;
  border-radius: 10px;
  width: 100%;
  padding: 10px 12px;
}

.auth-form button, .demo-login-card button {
  color: #fff;
  cursor: pointer;
  background: linear-gradient(135deg, #0b65e8, #0754dd);
  border: 1px solid #0754dd;
  border-radius: 10px;
  min-height: 44px;
  padding: 10px 13px;
  font-weight: 800;
}

.demo-login-card code {
  background: var(--accent-soft);
  color: var(--accent-deep);
  border-radius: 7px;
  padding: 3px 6px;
  font-weight: 900;
}

.demo-account-list {
  gap: 10px;
  margin-top: 16px;
  display: grid;
}

.demo-account {
  border: 1px solid var(--border);
  background: #f8fafc;
  border-radius: 14px;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 14px;
  display: grid;
}

.demo-account strong, .demo-account span, .demo-account small {
  display: block;
}

.demo-account span {
  color: #334155;
  overflow-wrap: anywhere;
  margin-top: 3px;
  font-size: .9rem;
  font-weight: 800;
}

.demo-account small {
  color: #64748b;
  margin-top: 4px;
  line-height: 1.35;
}

.demo-guest-link {
  border-top: 1px solid var(--border);
  margin: 16px 0 0;
  padding-top: 14px;
}

.demo-guest-link a {
  color: var(--accent);
  overflow-wrap: anywhere;
  font-weight: 800;
}

.sr-only {
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
  width: 1px;
  height: 1px;
  position: absolute;
  overflow: hidden;
}

.guest-shell {
  --sage: #1677ff;
  --sage-deep: #0f1b3d;
  --sage-ink: #1559c8;
  --sage-soft: #edf5ff;
  --sage-border: #d5e6ff;
  --card-border: #eadfce;
  --sand: #f6f0e5;
  --sand-border: #eadfce;
  --sand-ink: #596781;
  --warm-cream: #fffdf9;
  --guest-muted: #596781;
  --guest-slabel: #087d89;
  --guest-chip-border: #d8e0ec;
  --guest-status-done-bg: #eefbf2;
  --guest-status-done-fg: #14853e;
  color: #0f1b3d;
  font-family: var(--font-sans);
  background: linear-gradient(#f9f6ef, #fff);
  justify-content: center;
  align-items: start;
  min-height: 100vh;
  padding: 20px 14px;
  display: grid;
}

.guest-phone {
  background: #fff;
  border: 1px solid #eadfce;
  border-radius: 28px;
  flex-direction: column;
  width: min(430px, 100%);
  max-width: 430px;
  min-height: min(760px, 100vh - 40px);
  display: flex;
  position: relative;
  overflow: hidden;
  box-shadow: 0 24px 60px #0f1b3d21;
}

.guest-phone-body {
  background: #fff;
  flex-direction: column;
  flex: 1;
  gap: 20px;
  padding: 20px 20px 24px;
  display: flex;
}

.guest-shell .btn {
  color: #0f1b3d;
  background: #fff;
  border: 1px solid #d8e0ec;
  border-radius: 12px;
  font-weight: 760;
}

.guest-shell .btn-primary, .guest-shell .btn-brand {
  color: #fff;
  background: linear-gradient(135deg, #1677ff, #0754dd);
  border-color: #0000;
}

.guest-shell .btn-ghost {
  color: #1559c8;
  background: none;
  border-color: #0000;
}

.guest-header {
  background: #fff;
  border-bottom: 1px solid #eee5d8;
  gap: 7px;
  padding: 22px 22px 38px;
  display: grid;
}

.guest-kicker {
  color: var(--guest-slabel);
  letter-spacing: .055em;
  text-transform: uppercase;
  margin-top: 17px;
  font-size: .82rem;
  font-weight: 850;
}

.guest-header h1 {
  color: var(--sage-deep);
  font-family: var(--font-sans);
  letter-spacing: -.035em;
  margin: 4px 0 0;
  font-size: 2rem;
  font-weight: 850;
  line-height: 1.08;
}

.guest-header-subtitle {
  color: var(--guest-muted);
  margin: 2px 0 0;
  font-size: .84rem;
}

.guest-header-top {
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  display: flex;
}

.guest-brand {
  flex: none;
  align-items: center;
  display: inline-flex;
}

.guest-brand-mark {
  align-items: center;
  gap: 3px;
  width: 30px;
  height: 32px;
  display: flex;
}

.guest-brand-mark i {
  background: linear-gradient(#0da6b4, #086d7c);
  border-radius: 9px 4px;
  width: 12px;
  height: 25px;
  display: block;
}

.guest-brand-mark i:last-child {
  background: linear-gradient(#2488ff, #1262da);
  transform: translateY(5px);
}

.guest-header-controls {
  justify-content: flex-end;
  align-items: center;
  gap: 7px;
  min-width: 0;
  display: flex;
}

.guest-stay-pill {
  border-radius: var(--radius-badge);
  color: #596781;
  text-overflow: ellipsis;
  white-space: nowrap;
  background: #f1f4f8;
  max-width: 220px;
  padding: 7px 11px;
  font-size: .78rem;
  font-weight: 760;
  display: block;
  overflow: hidden;
}

.guest-language-selector select {
  border: 1px solid var(--card-border);
  color: var(--sage-deep);
  min-height: var(--touch-target);
  background: #fff;
  border-radius: 9px;
  padding: 4px 8px;
  font-size: .78rem;
  font-weight: 700;
}

.guest-language-selector select:focus-visible {
  outline: 2px solid var(--sage);
  outline-offset: 2px;
}

.guest-bottom-nav {
  border-top: 1px solid var(--card-border);
  z-index: 5;
  background: #fff;
  grid-template-columns: repeat(5, 1fr);
  padding: 10px 6px 16px;
  display: grid;
  position: sticky;
  bottom: 0;
}

.guest-bottom-nav button {
  color: var(--guest-muted);
  cursor: pointer;
  min-height: var(--touch-target);
  background: none;
  border: 0;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 4px 2px;
  font-size: 10.5px;
  font-weight: 600;
  display: flex;
}

.guest-bottom-nav button.is-active {
  color: #1677ff;
  font-weight: 800;
}

.guest-bottom-nav button:focus-visible {
  outline: 2px solid var(--sage);
  outline-offset: 2px;
  border-radius: 12px;
}

.guest-card {
  border: 1px solid var(--card-border);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  background: #fff;
}

.guest-announcement-banner {
  border-radius: var(--radius-card);
  background: #fdf6e3;
  border: 1px solid #ecd9a0;
  gap: 6px;
  padding: 12px 14px;
  display: grid;
}

.guest-announcement-banner p {
  margin: 0;
  font-size: .85rem;
}

.guest-announcement-banner button {
  justify-self: start;
}

.guest-announcement-card {
  gap: 6px;
  padding: 14px 16px;
  display: grid;
}

.guest-announcement-card h3 {
  margin: 0;
}

.guest-announcement-card p {
  white-space: pre-line;
  margin: 0;
}

.guest-activities {
  gap: 14px;
  min-width: 0;
  display: grid;
}

.guest-activity-card {
  gap: 14px;
  min-width: 0;
  padding: 16px;
  display: grid;
}

.guest-activity-head {
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  display: flex;
}

.guest-activity-head h3 {
  color: var(--sage-deep);
  font-family: var(--font-sans);
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.25;
}

.guest-activity-head > span {
  background: var(--sage-soft);
  border-radius: var(--radius-badge);
  color: var(--sage-ink);
  flex: none;
  padding: 5px 9px;
  font-size: .76rem;
  font-weight: 800;
}

.guest-activity-card > p {
  color: var(--sand-ink);
  white-space: pre-line;
  margin: 0;
  font-size: .84rem;
  line-height: 1.5;
}

.guest-activity-card .guest-time-options button {
  align-content: center;
  gap: 3px;
  line-height: 1.25;
  display: grid;
}

.guest-activity-card .guest-time-options small {
  color: var(--guest-muted);
  font-size: .7rem;
  font-weight: 600;
  display: block;
}

.guest-activity-card .guest-time-options button.is-selected small {
  color: var(--sage-ink);
}

.guest-slabel {
  color: var(--guest-slabel);
  letter-spacing: .09em;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 800;
}

.guest-cta, .guest-submit {
  background: var(--sage);
  border: 1px solid var(--sage);
  border-radius: var(--radius-badge);
  color: #fff;
  cursor: pointer;
  min-height: var(--touch-cta);
  width: 100%;
  font-size: 1rem;
  font-weight: 700;
  box-shadow: 0 10px 22px -10px #2e6b5a99;
}

.guest-submit:disabled {
  box-shadow: none;
  cursor: not-allowed;
  background: #94a3b8;
  border-color: #94a3b8;
}

.guest-cancel {
  border-radius: var(--radius-badge);
  color: #64748b;
  cursor: pointer;
  min-height: var(--touch-target-large);
  background: none;
  border: 1px solid #0000;
  font-weight: 700;
}

.guest-status-pill {
  border-radius: var(--radius-badge);
  white-space: nowrap;
  flex-shrink: 0;
  padding: 5px 11px;
  font-size: 11.5px;
  font-weight: 700;
}

.guest-status-pill.tone-pending {
  background: var(--guest-status-pending-bg);
  color: var(--guest-status-pending-fg);
}

.guest-status-pill.tone-progress {
  background: var(--guest-status-progress-bg);
  color: var(--guest-status-progress-fg);
}

.guest-status-pill.tone-done {
  background: var(--guest-status-done-bg);
  color: var(--guest-status-done-fg);
}

.guest-status-pill.tone-urgent {
  background: var(--guest-status-urgent-bg);
  color: var(--guest-status-urgent-fg);
}

.guest-status-pill.tone-off {
  background: var(--guest-status-off-bg);
  color: var(--guest-status-off-fg);
}

.guest-timeline {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.guest-timeline li {
  text-align: center;
  flex-direction: column;
  flex: 1;
  align-items: center;
  gap: 6px;
  display: flex;
  position: relative;
}

.guest-timeline li:not(:first-child):before {
  content: "";
  background: #e7dfce;
  width: 100%;
  height: 2px;
  position: absolute;
  top: 5px;
  left: -50%;
}

.guest-timeline-dot {
  border-radius: var(--radius-badge);
  z-index: 1;
  background: #fff;
  border: 2px solid #d8cdb4;
  width: 12px;
  height: 12px;
  position: relative;
}

.guest-timeline-label {
  color: #a99f89;
  font-size: 11px;
  font-weight: 600;
}

.guest-timeline li.is-reached .guest-timeline-dot {
  background: var(--sage);
  border-color: var(--sage);
}

.guest-timeline li.is-reached .guest-timeline-label {
  color: var(--sage-ink);
  font-weight: 700;
}

.guest-confirmation {
  text-align: center;
  place-items: center;
  gap: 16px;
  display: grid;
}

.guest-confirmation-check {
  background: var(--guest-status-done-bg);
  border-radius: var(--radius-badge);
  color: var(--sage);
  justify-content: center;
  align-items: center;
  width: 64px;
  height: 64px;
  display: flex;
}

.guest-confirmation-copy {
  gap: 6px;
  display: grid;
}

.guest-confirmation-copy h2 {
  color: var(--sage-deep);
  font-family: var(--font-sans);
  margin: 0;
  font-size: 1.35rem;
  font-weight: 760;
}

.guest-confirmation-copy p {
  color: var(--sand-ink);
  margin: 0;
  font-size: .84rem;
  line-height: 1.55;
}

.guest-confirmation-summary {
  box-sizing: border-box;
  text-align: left;
  gap: 16px;
  width: 100%;
  padding: 16px 18px;
  display: grid;
}

.guest-confirmation-summary-head {
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  display: flex;
}

.guest-confirmation-summary-head span {
  color: var(--sage-deep);
  font-size: .9rem;
  font-weight: 700;
}

.guest-confirmation-actions {
  gap: 10px;
  width: 100%;
  display: flex;
}

.guest-confirmation-actions button {
  border: 1.5px solid var(--sage);
  border-radius: var(--radius-badge);
  color: var(--sage);
  cursor: pointer;
  min-height: var(--touch-target);
  background: #fff;
  flex: 1;
  padding: 12px 6px;
  font-size: .86rem;
  font-weight: 700;
}

.guest-state-card {
  text-align: center;
  align-content: start;
  justify-items: center;
  gap: 12px;
  min-height: auto;
  padding: 40px 24px;
  display: grid;
}

.guest-state-icon {
  background: var(--guest-status-off-bg);
  border-radius: var(--radius-badge);
  color: #a99f89;
  justify-content: center;
  align-items: center;
  width: 76px;
  height: 76px;
  display: flex;
}

.guest-state-card h1 {
  font-family: var(--font-sans);
  margin: 8px 0 0;
  font-size: 1.4rem;
  line-height: 1.2;
}

.guest-state-card .muted {
  color: var(--sand-ink);
  margin: 0;
  font-size: .88rem;
  line-height: 1.6;
}

.guest-alert, .guest-inline-note {
  border-radius: 14px;
  gap: 4px;
  margin: 0;
  padding: 12px 14px;
  line-height: 1.45;
  display: grid;
}

.guest-alert {
  background: var(--guest-status-urgent-bg);
  color: var(--guest-status-urgent-fg);
  border: 1px solid #f3cfc8;
}

.guest-inline-note {
  background: var(--sand);
  border: 1px solid var(--sand-border);
  color: var(--sand-ink);
  font-size: .85rem;
}

.guest-home, .guest-directory, .guest-room-info, .guest-restaurant-bar, .guest-taxi-transfer, .guest-beach-pool, .guest-spa-wellness, .guest-local-guide, .guest-events, .guest-stay, .guest-reception {
  gap: 16px;
  display: grid;
}

.guest-section {
  gap: 12px;
  min-width: 0;
  display: grid;
}

.guest-section-heading {
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  display: flex;
}

.guest-section-heading h2 {
  color: #0f1b3d;
  letter-spacing: -.025em;
  margin: 0;
  font-size: 1.34rem;
  font-weight: 820;
  line-height: 1.2;
}

.guest-section-heading span {
  border-radius: var(--radius-badge);
  color: #1559c8;
  background: #edf5ff;
  padding: 5px 9px;
  font-size: .72rem;
  font-weight: 800;
}

.guest-quick-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  display: grid;
}

.guest-quick-card, .guest-feature-card, .guest-directory-row {
  appearance: none;
  border: 1px solid var(--card-border);
  box-shadow: var(--shadow-card);
  color: var(--foreground);
  cursor: pointer;
  text-align: left;
  background: #fff;
  width: 100%;
}

.guest-quick-card {
  border-radius: var(--radius-card);
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  gap: 18px;
  min-height: 172px;
  padding: 18px;
  display: grid;
}

.guest-quick-icon-block {
  background: var(--sage-soft);
  color: var(--sage);
  border-radius: 14px;
  justify-content: center;
  align-items: center;
  width: 54px;
  height: 54px;
  display: flex;
}

.guest-quick-card:nth-child(4n+2) .guest-quick-icon-block {
  color: #7650a8;
  background: #f1e9fb;
}

.guest-quick-card:nth-child(4n+3) .guest-quick-icon-block {
  color: #ad5f25;
  background: #fff0e5;
}

.guest-quick-card:nth-child(4n) .guest-quick-icon-block {
  background: var(--guest-status-done-bg);
  color: var(--sage);
}

.guest-quick-icon {
  color: inherit;
  width: 26px;
  height: 26px;
}

.guest-quick-copy {
  min-width: 0;
}

.guest-quick-card > b {
  display: none;
}

.guest-quick-card strong, .guest-feature-card strong, .guest-directory-row strong {
  color: var(--sage-deep);
  font-size: 1rem;
  font-weight: 780;
  line-height: 1.25;
  display: block;
}

.guest-quick-card small, .guest-feature-card small, .guest-directory-row small {
  color: var(--guest-muted);
  margin-top: 4px;
  font-size: .91rem;
  line-height: 1.4;
  display: block;
}

.guest-quick-card:hover, .guest-quick-card:focus-visible, .guest-feature-card:hover, .guest-feature-card:focus-visible, .guest-directory-row:hover, .guest-directory-row:focus-visible {
  border-color: var(--sage);
  outline: none;
}

.guest-feature-card {
  border-radius: var(--radius-card);
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  min-height: 74px;
  padding: 14px 16px;
  display: flex;
}

.guest-feature-card b, .guest-directory-row b {
  color: #b6ab92;
  font-size: 1.3rem;
  line-height: 1;
}

.guest-reception-cta {
  color: #fff;
  cursor: pointer;
  min-height: var(--touch-cta);
  background: linear-gradient(135deg, #1677ff, #0754dd);
  border: 1px solid #0000;
  border-radius: 12px;
  font-size: 1rem;
  font-weight: 760;
  box-shadow: 0 12px 24px -14px #1677ffbf;
}

.guest-active-requests {
  gap: 8px;
  display: grid;
}

.guest-active-requests article {
  border: 1px solid var(--card-border);
  box-shadow: var(--shadow-card);
  background: #fff;
  border-radius: 14px;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 14px 15px;
  display: flex;
}

.guest-active-requests div {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.guest-active-requests span {
  color: var(--sage-deep);
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  font-size: .9rem;
  font-weight: 700;
  display: -webkit-box;
  overflow: hidden;
}

.guest-active-requests small {
  color: var(--guest-muted);
  overflow-wrap: anywhere;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  font-size: .75rem;
  line-height: 1.4;
  display: -webkit-box;
  overflow: hidden;
}

.guest-stay-card {
  gap: 16px;
  padding: 18px;
  display: grid;
}

.guest-stay-room {
  color: var(--sage-deep);
  font-family: var(--font-sans);
  margin: 0;
  font-size: 1.2rem;
  font-weight: 760;
}

.guest-stay-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px 12px;
  margin: 0;
  display: grid;
}

.guest-stay-grid dt {
  margin-bottom: 3px;
}

.guest-stay-grid dd {
  color: var(--sage-deep);
  margin: 0;
  font-size: .94rem;
  font-weight: 700;
}

.guest-stay-empty, .guest-stay-no-requests {
  color: var(--guest-muted);
  margin: 0;
  font-size: .84rem;
  line-height: 1.5;
}

.guest-extend-card {
  cursor: pointer;
  min-height: var(--touch-target);
  text-align: left;
  background: none;
  border: 1px dashed #c9bda0;
  border-radius: 14px;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 15px 16px;
  display: flex;
}

.guest-extend-card span {
  color: var(--sand-ink);
  font-size: .88rem;
  font-weight: 600;
  line-height: 1.35;
}

.guest-extend-card b {
  color: var(--sage);
  text-align: right;
  white-space: nowrap;
  font-size: .82rem;
  font-weight: 700;
}

.guest-reception-intro {
  color: var(--sand-ink);
  margin: 0;
  font-size: .86rem;
  line-height: 1.5;
}

.guest-reception-hours {
  gap: 6px;
  padding: 16px 18px;
  display: grid;
}

.guest-reception-hours strong {
  color: var(--sage-deep);
  font-size: .94rem;
  font-weight: 700;
}

.guest-reception-note {
  color: #a99f89;
  text-align: center;
  margin: 0;
  font-size: .78rem;
  line-height: 1.5;
}

.guest-chat {
  gap: 12px;
  min-width: 0;
  display: grid;
}

.guest-chat-messages {
  border: 1px solid var(--card-border);
  border-radius: var(--radius-card);
  overscroll-behavior: contain;
  scroll-behavior: smooth;
  background: #f4efe5;
  flex-direction: column;
  gap: 9px;
  min-height: 220px;
  max-height: min(52vh, 420px);
  padding: 12px;
  display: flex;
  overflow-y: auto;
}

.guest-chat-message {
  border: 1px solid var(--card-border);
  box-shadow: var(--shadow-card);
  background: #fff;
  border-radius: 14px 14px 14px 5px;
  align-self: flex-start;
  gap: 5px;
  min-width: 0;
  max-width: 88%;
  padding: 10px 12px;
  display: grid;
}

.guest-chat-message.from-guest {
  background: var(--sage);
  border-color: var(--sage);
  color: #fff;
  border-radius: 14px 14px 5px;
  align-self: flex-end;
}

.guest-chat-message.from-staff {
  background: #eef5ff;
  border-color: #cfe0f5;
}

.guest-chat-message.from-system {
  box-shadow: none;
  color: var(--guest-muted);
  text-align: center;
  background: none;
  border: 0;
  align-self: center;
  max-width: 100%;
  padding: 4px 8px;
}

.guest-chat-message header {
  justify-content: space-between;
  align-items: baseline;
  gap: 10px;
  display: flex;
}

.guest-chat-message header strong {
  color: var(--sage-deep);
  font-size: .72rem;
  font-weight: 800;
}

.guest-chat-message header time {
  color: var(--guest-muted);
  flex: none;
  font-size: .68rem;
}

.guest-chat-message.from-guest header strong, .guest-chat-message.from-guest header time {
  color: #ffffffdb;
}

.guest-chat-message p {
  overflow-wrap: anywhere;
  white-space: pre-wrap;
  margin: 0;
  font-size: .84rem;
  line-height: 1.48;
}

.guest-chat-evidence {
  border-top: 1px solid var(--card-border);
  color: var(--guest-muted);
  margin-top: 4px;
  padding-top: 7px;
  font-size: .74rem;
}

.guest-chat-evidence summary {
  cursor: pointer;
  min-height: 44px;
  padding: 12px 0;
  font-weight: 800;
}

.guest-chat-evidence ul {
  gap: 4px;
  margin: 0;
  padding-left: 18px;
  display: grid;
}

.guest-chat-command {
  border-top: 1px solid var(--card-border);
  gap: 8px;
  margin-top: 4px;
  padding-top: 9px;
  display: grid;
}

.guest-chat-command-actions {
  grid-template-columns: minmax(0, 1fr) minmax(92px, auto);
  gap: 8px;
  display: grid;
}

.guest-chat-command-actions button {
  background: var(--sage);
  border: 1px solid var(--sage);
  border-radius: var(--radius-badge);
  color: #fff;
  cursor: pointer;
  min-height: var(--touch-target);
  padding: 8px 10px;
  font-size: .78rem;
  font-weight: 800;
}

.guest-chat-command-actions .guest-cancel {
  border-color: var(--card-border);
  color: var(--sand-ink);
  background: #fff;
}

.guest-chat-command-actions button:disabled {
  cursor: not-allowed;
  opacity: .55;
}

.guest-chat-command-status {
  color: var(--sage-deep);
  font-size: .76rem;
  font-weight: 800;
}

.guest-chat-command-status.is-canceled, .guest-chat-command-status.is-failed {
  color: #9f3a38;
}

.guest-chat-composer {
  gap: 8px;
  display: grid;
}

.guest-chat-composer label {
  min-width: 0;
  display: block;
}

.guest-chat-composer textarea {
  border: 1px solid var(--card-border);
  color: var(--foreground);
  resize: vertical;
  background: #fff;
  border-radius: 14px;
  width: 100%;
  min-height: 72px;
  padding: 11px 13px;
}

.guest-chat-composer textarea:focus-visible {
  border-color: var(--sage);
  outline-offset: 1px;
  outline: 2px solid #2e6b5a38;
}

.guest-chat .guest-submit:focus-visible, .guest-chat .guest-cancel:focus-visible, .guest-activity-card button:focus-visible {
  outline: 2px solid var(--sage);
  outline-offset: 2px;
}

.guest-back-button {
  border: 1px solid var(--card-border);
  border-radius: var(--radius-badge);
  color: #475569;
  cursor: pointer;
  min-height: var(--touch-target);
  background: #fff;
  align-items: center;
  gap: 6px;
  width: max-content;
  padding: 8px 14px;
  font-size: .8rem;
  font-weight: 700;
  display: inline-flex;
}

.guest-back-button b {
  font-size: 1.1rem;
  line-height: 1;
}

.guest-directory-section {
  gap: 8px;
  display: grid;
}

.guest-directory-section h3 {
  color: var(--guest-slabel);
  letter-spacing: .09em;
  text-transform: uppercase;
  margin: 4px 0 0;
  font-size: 11px;
  font-weight: 800;
}

.guest-directory-list {
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  display: grid;
}

.guest-directory-row {
  border-radius: 16px;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 4px 12px;
  min-height: 78px;
  padding: 16px 18px;
  display: grid;
}

.guest-directory-row b {
  grid-area: 1 / 2 / span 2;
  display: block;
}

.guest-directory-row-disabled {
  cursor: default;
  opacity: .82;
  background: #f3eee5;
  border-color: #ded4c2;
}

.guest-directory-row-disabled:hover {
  border-color: #ded4c2;
}

.guest-directory-row-disabled strong {
  color: #64748b;
}

.guest-directory-row em {
  background: var(--guest-status-off-bg);
  border-radius: var(--radius-badge);
  color: var(--guest-status-off-fg);
  width: max-content;
  margin-top: 4px;
  padding: 4px 8px;
  font-size: .68rem;
  font-style: normal;
  font-weight: 700;
}

.guest-room-context {
  color: var(--sand-ink);
  margin: 0;
  font-size: .86rem;
  line-height: 1.5;
}

.guest-room-info-list {
  border: 1px solid var(--card-border);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  background: #fff;
  padding: 0 18px;
}

.guest-room-info-list details {
  border-bottom: 1px solid #f3eddf;
}

.guest-room-info-list details:last-child {
  border-bottom: 0;
}

.guest-room-info-list summary {
  color: var(--sage-deep);
  cursor: pointer;
  min-height: var(--touch-target);
  justify-content: space-between;
  align-items: center;
  padding: 14px 0;
  font-size: .94rem;
  font-weight: 700;
  list-style: none;
  display: flex;
}

.guest-room-info-list summary::-webkit-details-marker {
  display: none;
}

.guest-room-info-list summary:after {
  content: "";
  border-bottom: 2px solid #94a3b8;
  border-right: 2px solid #94a3b8;
  width: 7px;
  height: 7px;
  transform: rotate(45deg)translateY(-2px);
}

.guest-room-info-list details[open] summary:after {
  transform: rotate(-135deg)translateY(-2px);
}

.guest-room-info-list p {
  color: var(--sand-ink);
  margin: 0 0 14px;
  font-size: .82rem;
  line-height: 1.5;
}

.guest-guide-group {
  gap: 8px;
  display: grid;
}

.guest-guide-group h3 {
  color: var(--guest-slabel);
  letter-spacing: .09em;
  text-transform: uppercase;
  margin: 0;
  font-size: 11px;
  font-weight: 800;
}

.guest-guide-empty {
  border: 1px solid var(--card-border);
  box-shadow: var(--shadow-card);
  background: #fff;
  border-radius: 14px;
  gap: 5px;
  padding: 14px 16px;
  display: grid;
}

.guest-guide-empty strong {
  color: var(--sage-deep);
  font-size: .9rem;
  font-weight: 700;
  line-height: 1.35;
}

.guest-guide-empty span {
  color: var(--guest-muted);
  font-size: .82rem;
  line-height: 1.4;
}

.guest-tag-list {
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.guest-tag {
  background: var(--sand);
  border: 1px solid var(--sand-border);
  border-radius: var(--radius-badge);
  color: var(--sand-ink);
  padding: 8px 13px;
  font-size: .78rem;
  font-weight: 600;
}

.guest-help-panel {
  background: var(--sand);
  border: 1px solid var(--sand-border);
  border-radius: var(--radius-card);
  gap: 6px;
  padding: 15px 16px;
  display: grid;
}

.guest-help-panel strong {
  color: var(--sage-deep);
}

.guest-help-panel span {
  color: var(--sand-ink);
  font-size: .84rem;
  line-height: 1.5;
}

.guest-help-panel button {
  background: var(--sage);
  border: 1px solid var(--sage);
  border-radius: var(--radius-badge);
  color: #fff;
  cursor: pointer;
  min-height: var(--touch-target-large);
  margin-top: 6px;
  font-weight: 700;
}

.guest-sheet-backdrop {
  z-index: 20;
  background: #0f172a5c;
  justify-content: center;
  align-items: end;
  padding: 20px 16px 0;
  display: flex;
  position: fixed;
  inset: 0;
}

.guest-sheet {
  background: var(--warm-cream);
  border: 1px solid var(--card-border);
  border-radius: var(--radius-sheet) var(--radius-sheet) 18px 18px;
  box-shadow: var(--shadow-floating);
  width: min(390px, 100%);
  max-width: 390px;
  max-height: calc(100vh - 20px);
  padding: 12px 20px 20px;
  overflow-y: auto;
}

.guest-sheet-handle {
  border-radius: var(--radius-badge);
  background: #d8cebd;
  width: 44px;
  height: 4px;
  margin: 0 auto 16px;
}

.guest-sheet-context {
  color: var(--guest-muted);
  margin: 0 0 6px;
  font-size: .8rem;
  font-weight: 600;
}

.guest-sheet h2 {
  font-family: var(--font-sans);
  margin: 0 0 6px;
  font-size: 1.35rem;
  font-weight: 760;
}

.guest-sheet-intro {
  color: var(--sand-ink);
  margin: 0 0 14px;
  font-size: .86rem;
  line-height: 1.5;
}

.guest-sheet-form {
  gap: 14px;
  display: grid;
}

.guest-sheet-form fieldset {
  border: 0;
  gap: 10px;
  margin: 0;
  padding: 0;
  display: grid;
}

.guest-sheet-form legend, .guest-sheet-form label {
  color: #334155;
  gap: 8px;
  font-size: .86rem;
  font-weight: 700;
  display: grid;
}

.guest-sheet-form span {
  color: #94a3b8;
  font-weight: 600;
}

.guest-time-options, .guest-choice-grid {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.guest-time-options button, .guest-choice-grid button {
  border: 1px solid var(--guest-chip-border);
  border-radius: var(--radius-badge);
  color: #4b5563;
  cursor: pointer;
  min-height: var(--touch-target);
  text-align: center;
  background: #fff;
  flex: calc(50% - 8px);
  padding: 9px 14px;
  font-size: .82rem;
  font-weight: 600;
}

.guest-time-options button.is-selected, .guest-choice-grid button.is-selected {
  background: var(--sage-soft);
  border: 1.5px solid var(--sage);
  color: var(--sage-ink);
  font-weight: 700;
}

.guest-choice-grid-compact button {
  border-radius: 12px;
  line-height: 1.2;
}

.guest-people-options button {
  flex: calc(25% - 8px);
}

.guest-sheet-form input[type="text"], .guest-sheet-form input[type="date"], .guest-sheet textarea, .guest-sheet-form textarea {
  border: 1px solid var(--card-border);
  color: var(--foreground);
  min-height: var(--touch-target);
  resize: vertical;
  background: #fff;
  border-radius: 12px;
  width: 100%;
  padding: 12px 14px;
}

.guest-quantity-list {
  gap: 8px;
  display: grid;
}

.guest-quantity-row {
  border: 1px solid var(--card-border);
  background: #fff;
  border-radius: 14px;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  min-height: 62px;
  padding: 9px 12px 9px 15px;
  display: flex;
}

.guest-quantity-row strong {
  color: var(--sage-deep);
  font-size: .9rem;
  font-weight: 600;
}

.guest-quantity-stepper {
  align-items: center;
  gap: 6px;
  display: flex;
}

.guest-quantity-stepper button {
  border: 1.5px solid var(--sage);
  color: var(--sage);
  cursor: pointer;
  height: var(--touch-target);
  width: var(--touch-target);
  background: #fff;
  border-radius: 9px;
  justify-content: center;
  align-items: center;
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1;
  display: flex;
}

.guest-quantity-stepper button:disabled {
  border: 1px solid var(--guest-chip-border);
  color: #b6ab92;
  cursor: not-allowed;
}

.guest-quantity-stepper output {
  color: var(--sage-deep);
  text-align: center;
  min-width: 26px;
  font-size: .95rem;
  font-weight: 700;
}

.guest-quantity-toggle {
  border: 1px solid var(--guest-chip-border);
  border-radius: var(--radius-badge);
  color: #4b5563;
  cursor: pointer;
  min-height: var(--touch-target);
  background: #fff;
  padding: 8px 16px;
  font-size: .82rem;
  font-weight: 600;
}

.guest-quantity-toggle.is-selected {
  background: var(--sage-soft);
  border: 1.5px solid var(--sage);
  color: var(--sage-ink);
  font-weight: 700;
}

.guest-rating-stars {
  justify-content: center;
  gap: 6px;
  display: flex;
}

.guest-rating-star {
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 10px;
  padding: 4px;
  line-height: 0;
}

.guest-rating-star svg {
  fill: none;
  stroke: #d8cdb4;
  stroke-width: 1.6px;
  width: 34px;
  height: 34px;
}

.guest-rating-star.is-filled svg {
  fill: #c79a3a;
  stroke: #c79a3a;
  stroke-width: 1px;
}

.guest-rating-star:focus-visible {
  outline: 2px solid var(--sage);
  outline-offset: 2px;
}

.guest-note-count {
  color: #94a3b8;
  text-align: right;
  margin: -6px 0 0;
  font-size: .76rem;
}

@media (max-width: 639px) {
  .guest-shell {
    padding: 0;
  }

  .guest-phone {
    box-shadow: none;
    border: 0;
    border-radius: 0;
    width: 100%;
    max-width: none;
    min-height: 100vh;
  }
}

@media (min-width: 640px) {
  .guest-phone {
    width: 100%;
    max-width: 430px;
  }

  .guest-phone-body {
    padding: 22px 22px 26px;
  }

  .guest-quick-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .guest-chat-composer {
    grid-template-columns: minmax(0, 1fr) 132px;
    align-items: stretch;
  }

  .guest-chat-composer .guest-submit {
    height: 100%;
    min-height: 72px;
  }
}

@media (min-width: 1024px) {
  .guest-shell {
    padding: 30px 40px;
  }

  .guest-phone {
    max-width: 430px;
  }
}

.ops-page {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding-bottom: 56px;
}

.ops-page button, .ops-page input, .ops-page select, .ops-page textarea {
  min-width: 0;
}

.ops-page button {
  color: #fff;
  cursor: pointer;
  background: linear-gradient(135deg, #0b65e8, #0754dd);
  border: 1px solid #0754dd;
  border-radius: 10px;
  min-height: 44px;
  padding: 8px 11px;
  font-weight: 800;
}

.ops-page button:hover {
  background: #0754dd;
  border-color: #0754dd;
}

.ops-page .action-button-primary {
  color: #fff;
  background: linear-gradient(135deg, #0b65e8, #0754dd);
  border-color: #0754dd;
}

.ops-page .action-button-secondary {
  border-color: var(--border);
  color: var(--slate-700);
  background: #fff;
}

.ops-page .action-button-secondary:hover {
  background: var(--slate-50);
  border-color: var(--slate-300);
  color: var(--slate-900);
}

.ops-page .action-button-success {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}

.ops-page .action-button-success:hover {
  background: var(--accent-deep);
  border-color: var(--accent-deep);
}

.ops-page .action-button-danger {
  background: var(--status-danger-bg);
  border-color: var(--status-danger-border);
  color: var(--status-danger-fg);
}

.ops-page .action-button-danger:hover {
  background: #fecaca;
  border-color: #fca5a5;
}

.ops-page .action-button-ghost {
  box-shadow: none;
  background: none;
}

.ops-page .action-button-ghost:hover {
  background: var(--status-danger-bg);
}

.ops-page input, .ops-page select, .ops-page textarea {
  border: 1px solid var(--border);
  color: var(--foreground);
  background: #fff;
  border-radius: 10px;
  width: 100%;
  padding: 9px 11px;
}

.ops-hero {
  justify-content: space-between;
  align-items: end;
  gap: 20px;
  margin-bottom: 14px;
  display: flex;
}

.ops-hero h1 {
  margin: 5px 0 7px;
  font-size: clamp(1.9rem, 3.4vw, 2.8rem);
  line-height: 1.04;
}

.ops-kicker {
  color: var(--accent);
  text-transform: uppercase;
  margin: 0;
  font-size: .82rem;
  font-weight: 900;
}

.ops-hero-actions {
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
  display: flex;
}

.ops-alert, .ops-toast {
  border-radius: 12px;
  padding: 12px 14px;
  font-weight: 700;
}

.ops-alert {
  color: #991b1b;
  background: #fee2e2;
  border: 1px solid #fecaca;
}

.ops-toast {
  color: #166534;
  background: #dcfce7;
  border: 1px solid #bbf7d0;
}

.ops-stat-grid {
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 10px;
  margin-top: 14px;
  display: grid;
}

.ops-stat-card {
  border: 1px solid var(--border);
  background: #fff;
  border-radius: 12px;
  gap: 4px;
  padding: 13px 14px;
  display: grid;
}

.ops-stat-card strong {
  color: #0f172a;
  font-size: 1.65rem;
  line-height: 1;
}

.ops-stat-card strong.is-accent {
  color: var(--accent);
}

.ops-stat-card strong.is-danger {
  color: var(--danger);
}

.ops-stat-card span {
  color: #334155;
  font-size: .82rem;
  font-weight: 800;
}

.ops-stat-card small {
  color: #64748b;
  min-height: 1.95em;
  font-size: .75rem;
  line-height: 1.3;
}

.ops-secondary-actions {
  margin-top: 18px;
}

.ops-action-grid {
  grid-template-columns: repeat(3, minmax(260px, 1fr));
  gap: 12px;
  margin-top: 10px;
  display: grid;
}

.ops-action-grid-housekeeping {
  grid-template-columns: minmax(0, 1fr);
}

.ops-action-card {
  padding: 0;
}

.ops-action-card summary {
  cursor: pointer;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  list-style-position: inside;
  display: flex;
}

.ops-action-card summary span {
  gap: 3px;
  display: grid;
}

.ops-action-card summary strong, .ops-action-card summary small {
  display: block;
}

.ops-action-card summary small {
  color: #64748b;
  font-size: .8rem;
  font-weight: 700;
}

.ops-action-card > form, .ops-action-card > p {
  margin: 0 16px 16px;
}

.compact-form {
  margin-top: 14px;
}

.checkbox-label {
  flex-direction: row;
  align-items: center;
  gap: 10px;
  display: flex !important;
}

.checkbox-label input {
  width: auto;
}

.ops-board-grid {
  grid-template-columns: minmax(0, 1fr) minmax(340px, .4fr);
  align-items: start;
  gap: 14px;
  margin-top: 14px;
  display: grid;
}

.ops-housekeeping-board {
  gap: 14px;
  margin-top: 14px;
  display: grid;
}

.ops-section-heading {
  justify-content: space-between;
  align-items: end;
  margin-bottom: 10px;
  display: flex;
}

.ops-section-heading h2 {
  margin: 0 0 4px;
}

.ops-work-empty-overview {
  background: var(--accent-soft);
  border: 1px dashed var(--sage-border);
  color: var(--accent-deep);
  border-radius: 14px;
  gap: 4px;
  margin-top: 14px;
  padding: 14px 16px;
  display: grid;
}

.ops-work-empty-overview strong {
  font-size: .95rem;
}

.ops-work-empty-overview p {
  color: var(--sage-ink);
  margin: 0;
  line-height: 1.4;
}

.ops-room-groups {
  gap: 12px;
  display: grid;
}

.ops-property-group {
  border: 1px solid var(--border);
  background: #fff;
  border-radius: 14px;
  padding: 12px;
}

.ops-property-group > h3 {
  margin: 0 0 10px;
  font-size: .95rem;
}

.ops-room-grid {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 10px;
  display: grid;
}

.ops-room-card {
  border: 1px solid var(--border);
  background: #fff;
  border-left: 3px solid #0000;
  border-radius: 12px;
  gap: 10px;
  padding: 12px;
  display: grid;
}

.ops-room-card.room-attention {
  border-left-color: #d97706;
}

.ops-room-card.room-arrival {
  border-left-color: var(--accent);
}

.ops-room-card.room-danger {
  border-left-color: var(--danger);
}

.ops-room-topline {
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  display: flex;
}

.ops-room-topline > div {
  min-width: 0;
}

.ops-room-topline h4 {
  letter-spacing: 0;
  margin: 1px 0 5px;
  font-size: 1.35rem;
  line-height: 1;
}

.ops-room-topline p {
  margin: 0;
  font-size: .8rem;
}

.ops-room-topline .ops-room-label {
  color: #94a3b8;
  letter-spacing: 0;
  text-transform: uppercase;
  font-size: .68rem;
  font-weight: 900;
}

.ops-room-action-label {
  text-align: right;
  white-space: nowrap;
  border-radius: 999px;
  flex-shrink: 0;
  padding: 6px 8px;
  font-size: .72rem;
  font-weight: 900;
  line-height: 1;
  display: inline-flex;
}

.ops-room-action-label.tone-ok {
  color: #166534;
  background: #dcfce7;
}

.ops-room-action-label.tone-accent {
  background: var(--accent-soft);
  color: var(--accent-deep);
}

.ops-room-action-label.tone-warning {
  color: #9a3412;
  background: #ffedd5;
}

.ops-room-action-label.tone-danger {
  color: #991b1b;
  background: #fee2e2;
}

.ops-room-status-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  display: grid;
}

.ops-room-status-grid div {
  border: 1px solid var(--border);
  background: #f8fafc;
  border-radius: 9px;
  gap: 4px;
  padding: 8px;
  display: grid;
}

.ops-room-status-grid span {
  color: #64748b;
  text-transform: uppercase;
  font-size: .68rem;
  font-weight: 900;
}

.ops-room-status-grid strong {
  color: #0f172a;
  font-size: .86rem;
  line-height: 1.18;
}

.ops-room-status-grid strong.tone-neutral {
  color: #334155;
}

.ops-room-status-grid strong.tone-ok {
  color: #166534;
}

.ops-room-status-grid strong.tone-accent {
  color: var(--accent-deep);
}

.ops-room-status-grid strong.tone-warning {
  color: #9a3412;
}

.ops-room-status-grid strong.tone-danger {
  color: #991b1b;
}

.ops-room-signal-row {
  flex-wrap: wrap;
  gap: 6px;
  min-height: 0;
  display: flex;
}

.ops-room-signal-row span {
  background: var(--accent-soft);
  color: var(--accent-deep);
  white-space: nowrap;
  border-radius: 999px;
  padding: 6px 8px;
  font-size: .7rem;
  font-weight: 900;
  line-height: 1;
}

.ops-room-signal-row .ops-signal-danger {
  color: #991b1b;
  background: #fee2e2;
}

.ops-badge {
  color: #334155;
  white-space: nowrap;
  background: #f1f5f9;
  border-radius: 999px;
  align-items: center;
  padding: 5px 7px;
  font-size: .68rem;
  font-weight: 850;
  line-height: 1;
  display: inline-flex;
}

.ops-badge.badge-danger {
  color: #991b1b;
  background: #fee2e2;
}

.ops-badge.badge-service {
  background: var(--accent-soft);
  color: var(--accent-deep);
}

.ops-badge.badge-guest-request {
  color: #1d4ed8;
  background: #dbeafe;
}

.ops-badge.badge-internal-task {
  background: var(--accent-soft);
  color: var(--accent-deep);
}

.ops-badge.badge-room {
  border: 1px solid var(--border);
  color: #334155;
  background: #f8fafc;
}

.ops-badge.request-requested {
  color: #9a3412;
  background: #ffedd5;
}

.ops-badge.request-acknowledged {
  color: #1d4ed8;
  background: #dbeafe;
}

.ops-badge.request-in_progress {
  background: var(--accent-soft);
  color: var(--accent-deep);
}

.ops-badge.request-done {
  color: #166534;
  background: #dcfce7;
}

.ops-badge.request-canceled {
  color: #475569;
  background: #f1f5f9;
}

.ops-badge.task-open {
  color: #9a3412;
  background: #ffedd5;
}

.ops-badge.task-in_progress {
  background: var(--accent-soft);
  color: var(--accent-deep);
}

.ops-badge.task-done {
  color: #166534;
  background: #dcfce7;
}

.ops-badge.task-canceled {
  color: #475569;
  background: #f1f5f9;
}

.ops-room-request-line {
  color: #7c2d12;
  background: #fffbf5;
  border: 1px solid #fed7aa;
  border-radius: 9px;
  margin: 0;
  padding: 7px 8px;
  font-size: .78rem;
  font-weight: 850;
  line-height: 1.3;
}

.ops-room-details {
  border-top: 1px solid var(--border);
  padding-top: 7px;
}

.ops-room-details summary {
  color: #334155;
  cursor: pointer;
  font-size: .78rem;
  font-weight: 900;
}

.ops-room-details h4 {
  margin-bottom: 8px;
}

.ops-room-details input[readonly] {
  font-size: .82rem;
}

.ops-request-panel {
  border: 1px solid var(--border);
  background: #fff;
  border-radius: 14px;
  max-height: calc(100vh - 32px);
  padding: 14px;
  position: sticky;
  top: 16px;
  overflow: auto;
}

.ops-request-panel-priority {
  position: static;
}

.ops-lane-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
  display: grid;
}

.ops-work-lane {
  border: 1px solid var(--border);
  background: #f8fafc;
  border-radius: 12px;
  gap: 10px;
  padding: 10px;
  display: grid;
}

.ops-lane-heading {
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
  display: flex;
}

.ops-lane-heading h3 {
  margin: 0 0 3px;
  font-size: .86rem;
}

.ops-lane-heading p {
  color: var(--slate-500);
  margin: 0;
  font-size: .73rem;
  font-weight: 750;
  line-height: 1.3;
}

.ops-lane-count {
  border: 1px solid var(--border);
  color: var(--slate-700);
  background: #fff;
  border-radius: 999px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  min-width: 26px;
  padding: 5px 8px;
  font-size: .72rem;
  font-weight: 900;
  display: inline-flex;
}

.ops-lane-empty {
  color: var(--slate-500);
  margin: 0;
  font-size: .8rem;
  font-weight: 750;
  line-height: 1.35;
}

.ops-request-list {
  gap: 9px;
  display: grid;
}

.ops-task-panel {
  border: 1px solid var(--border);
  background: #fff;
  border-radius: 14px;
  margin-top: 14px;
  padding: 14px;
}

.ops-task-list {
  gap: 9px;
  display: grid;
}

.ops-request-item {
  background: var(--warning-soft);
  border: 1px solid var(--warning-border);
  border-left: 4px solid #d97706;
  border-radius: 12px;
  gap: 8px;
  padding: 12px;
  display: grid;
}

.ops-request-item.request-card-acknowledged {
  background: #eff6ff;
  border-color: #bfdbfe #bfdbfe #bfdbfe #2563eb;
}

.ops-request-item.request-card-in_progress {
  border-color: #bbf7d0;
  border-left-color: var(--accent);
  background: #f0fdf4;
}

.ops-task-item {
  border: 1px solid var(--border);
  border-left: 4px solid var(--accent);
  background: #f8fafc;
  border-radius: 12px;
  gap: 8px;
  padding: 12px;
  scroll-margin-top: 20px;
  display: grid;
}

.ops-task-item:target, .ops-task-item:focus-visible {
  outline: 2px solid var(--accent-deep);
  outline-offset: 2px;
  box-shadow: 0 0 0 3px #0f766e38;
}

.ops-task-item.task-card-in_progress {
  border-color: #bbf7d0;
  border-left-color: var(--accent-deep);
  background: #f0fdf4;
}

.ops-task-item.task-card-done, .ops-request-item.request-card-done {
  border-color: var(--border);
  border-left-color: var(--slate-300);
  opacity: .78;
  background: #f8fafc;
}

.ops-task-item.task-card-canceled, .ops-request-item.request-card-canceled {
  border-color: var(--border);
  border-left-color: var(--slate-300);
  opacity: .68;
  background: #f8fafc;
}

.ops-request-title {
  justify-content: space-between;
  align-items: start;
  gap: 10px;
  display: flex;
}

.ops-request-title strong {
  line-height: 1.25;
}

.ops-card-header {
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
  display: flex;
}

.ops-card-main {
  gap: 5px;
  min-width: 0;
  display: grid;
}

.ops-card-main strong {
  overflow-wrap: anywhere;
  line-height: 1.25;
}

.ops-card-main > span {
  color: var(--slate-500);
  overflow-wrap: anywhere;
  font-size: .76rem;
  font-weight: 800;
  line-height: 1.3;
}

.ops-card-chip-row {
  flex-wrap: wrap;
  gap: 5px;
  display: flex;
}

.ops-card-meta-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  margin: 0;
  display: grid;
}

.ops-card-meta-grid div {
  background: #ffffffb8;
  border: 1px solid #e2e8f0db;
  border-radius: 9px;
  padding: 7px;
}

.ops-card-meta-grid dt {
  color: var(--slate-500);
  text-transform: uppercase;
  font-size: .65rem;
  font-weight: 900;
}

.ops-card-meta-grid dd {
  color: var(--slate-900);
  overflow-wrap: anywhere;
  margin: 3px 0 0;
  font-size: .78rem;
  font-weight: 850;
  line-height: 1.25;
}

.ops-request-item p {
  margin: 0;
}

.ops-request-note {
  color: #334155;
  overflow-wrap: anywhere;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  margin: 0;
  font-size: .88rem;
  line-height: 1.4;
  display: -webkit-box;
  overflow: hidden;
}

.ops-transition-row {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.ops-transition-row button {
  min-height: 44px;
}

.ops-transition-row .ops-primary-action {
  background: var(--primary);
  border-color: var(--primary);
  color: #fff;
}

.ops-transition-row .ops-secondary-action {
  border-color: var(--border);
  color: #0f172a;
  background: #fff;
}

.ops-empty-panel {
  border: 1px dashed var(--border);
  background: #f8fafc;
  border-radius: 14px;
  gap: 4px;
  padding: 16px;
  display: grid;
}

.ops-empty-panel strong {
  color: var(--slate-700);
  font-size: .9rem;
}

.ops-empty-panel p {
  color: var(--muted);
  margin: 0;
  line-height: 1.4;
}

.dashboard-page {
  padding-bottom: 56px;
}

.dashboard-hero {
  border: 1px solid var(--border);
  background: linear-gradient(135deg, #fff 0%, #f7fbf9 100%);
  border-radius: 18px;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  margin-top: 24px;
  padding: 24px;
  display: flex;
  box-shadow: 0 1px 2px #0f172a0a;
}

.dashboard-hero h1 {
  font-family: var(--font-sans);
  margin: 8px 0 10px;
  font-size: clamp(2rem, 4vw, 3.35rem);
  line-height: 1.04;
}

.dashboard-hero p {
  max-width: 720px;
  margin: 0;
  line-height: 1.55;
}

.dashboard-nav {
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
  display: flex;
}

.dashboard-nav a, .dashboard-nav span {
  border: 1px solid var(--border);
  color: #334155;
  min-height: var(--touch-target);
  background: #fff;
  border-radius: 999px;
  align-items: center;
  padding: 8px 12px;
  font-size: .82rem;
  font-weight: 900;
  display: inline-flex;
}

.dashboard-nav span {
  background: var(--accent-soft);
  color: var(--accent-deep);
  border-color: #cfe0d8;
}

.dashboard-signout button {
  background: var(--primary);
  border: 1px solid var(--primary);
  color: #fff;
  cursor: pointer;
  min-height: var(--touch-target);
  border-radius: 10px;
  padding: 10px 14px;
  font-weight: 800;
}

.dashboard-stat-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
  display: grid;
}

.dashboard-module-grid {
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
  gap: 14px;
  margin-top: 16px;
  display: grid;
}

.dashboard-module-grid-single {
  grid-template-columns: minmax(0, 1fr);
}

.dashboard-module-card {
  border: 1px solid var(--border);
  box-shadow: var(--shadow-card);
  background: #fff;
  border-radius: 16px;
  flex-direction: column;
  justify-content: space-between;
  gap: 18px;
  min-height: 210px;
  padding: 20px;
  display: flex;
}

.dashboard-module-card-primary {
  background: linear-gradient(135deg, #fff 0%, #f7fbf9 100%);
  border-color: #cfe0d8;
}

.dashboard-module-card h2 {
  margin: 12px 0 8px;
  font-family: Georgia, Times New Roman, serif;
  font-size: 1.65rem;
  line-height: 1.1;
}

.dashboard-module-card p {
  color: #475569;
  max-width: 620px;
  margin: 0;
  line-height: 1.55;
}

.dashboard-module-actions {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  display: flex;
}

.dashboard-module-link {
  color: var(--accent-deep);
  min-height: var(--touch-target);
  align-items: center;
  font-size: .88rem;
  font-weight: 900;
  display: inline-flex;
}

.dashboard-content-grid {
  grid-template-columns: minmax(0, 1fr) minmax(260px, .35fr);
  align-items: start;
  gap: 16px;
  margin-top: 16px;
  display: grid;
}

.dashboard-arrival-row {
  border-top: 1px solid var(--border);
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  padding: 14px 0;
  display: flex;
}

.dashboard-arrival-row:first-of-type {
  margin-top: 6px;
}

.dashboard-task-count {
  color: var(--accent);
  margin: 10px 0 8px;
  font-size: 3rem;
  font-weight: 900;
  line-height: 1;
}

.staff-page {
  padding-bottom: 56px;
}

.staff-hero {
  border: 1px solid var(--border);
  background: linear-gradient(135deg, #fff 0%, #f7fbf9 100%);
  border-radius: 18px;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 16px;
  padding: 22px 24px;
  display: flex;
  box-shadow: 0 1px 2px #0f172a0a;
}

.staff-hero h1 {
  margin: 8px 0 10px;
  font-family: Georgia, Times New Roman, serif;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.05;
}

.staff-hero p {
  max-width: 720px;
  margin: 0;
  line-height: 1.55;
}

.staff-two-column {
  grid-template-columns: minmax(300px, .74fr) minmax(420px, 1.26fr);
  align-items: start;
  gap: 16px;
  display: grid;
}

.staff-panel {
  margin-top: 16px;
}

.staff-panel h2 {
  margin-top: 0;
}

.staff-record-list, .staff-member-list {
  gap: 12px;
  margin-top: 14px;
  display: grid;
}

.staff-record-card {
  border: 1px solid var(--border);
  background: #f8fafc;
  border-radius: 14px;
  gap: 12px;
  padding: 14px;
  display: grid;
}

.staff-record-title {
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  display: flex;
}

.staff-record-title strong, .staff-record-title span {
  display: block;
}

.staff-record-title > div > span {
  color: #64748b;
  margin-top: 3px;
  font-size: .88rem;
  font-weight: 700;
}

.staff-member-row {
  border-top: 1px solid var(--border);
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  display: flex;
}

.staff-member-row:first-child {
  border-top: 0;
}

.staff-member-row strong, .staff-member-row span {
  display: block;
}

.staff-member-row div span {
  color: #64748b;
  overflow-wrap: anywhere;
  margin-top: 3px;
  font-size: .88rem;
}

.staff-copy-link {
  border: 1px solid var(--border);
  color: #334155;
  overflow-wrap: anywhere;
  background: #fff;
  border-radius: 10px;
  padding: 10px 12px;
}

.staff-copy-link code {
  font-size: .82rem;
}

@media (max-width: 1000px) {
  .marketing-hero, .marketing-steps, .marketing-feature-grid, .ops-board-grid, .ops-action-grid, .dashboard-module-grid, .reception-home-grid, .reception-inbox-layout, .auth-grid {
    grid-template-columns: 1fr;
  }

  .marketing-preview {
    grid-template-columns: minmax(0, 1fr);
  }

  .preview-phone {
    max-width: 260px;
    margin: 16px 0 0;
  }

  .ops-board-grid > .ops-request-panel {
    order: -1;
  }

  .ops-request-panel {
    max-height: none;
    position: static;
  }

  .ops-room-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-content-grid {
    grid-template-columns: 1fr;
  }

  .reception-stat-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .marketing-page {
    padding: 18px 16px 48px;
  }

  .marketing-nav {
    flex-direction: column;
    align-items: flex-start;
  }

  .marketing-nav div {
    gap: 12px;
  }

  .marketing-hero {
    margin-top: 36px;
  }

  .marketing-copy h1 {
    font-size: 2.35rem;
  }

  .marketing-preview {
    min-height: auto;
  }

  .preview-stats, .marketing-feature-grid {
    grid-template-columns: 1fr;
  }

  .marketing-steps {
    margin-top: 42px;
  }

  .marketing-steps article, .marketing-feature-grid article {
    padding: 18px;
  }

  .guest-shell {
    padding: 0;
  }

  .guest-phone {
    border-radius: 0;
    width: 100%;
    min-height: 100vh;
  }

  .guest-phone-list {
    padding: 26px 20px 96px;
  }

  .guest-sheet-backdrop {
    padding: 0;
  }

  .guest-sheet {
    border-radius: 24px 24px 0 0;
    width: 100%;
    max-width: none;
  }

  .guest-time-options, .guest-choice-grid {
    grid-template-columns: 1fr;
  }

  .guest-people-options {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .ops-hero {
    flex-direction: column;
    align-items: flex-start;
  }

  .ops-hero-actions, .marketing-actions, .ops-hero-actions .btn, .marketing-actions .btn {
    width: 100%;
  }

  .ops-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ops-stat-card {
    padding: 12px;
  }

  .ops-room-grid {
    grid-template-columns: 1fr;
  }

  .ops-request-title, .ops-card-header {
    flex-direction: column;
  }

  .ops-card-meta-grid {
    grid-template-columns: 1fr;
  }

  .ops-transition-row {
    grid-template-columns: 1fr;
    display: grid;
  }

  .ops-transition-row button {
    width: 100%;
  }

  .ops-action-card summary {
    align-items: flex-start;
  }

  .demo-account {
    grid-template-columns: 1fr;
  }

  .demo-account button {
    width: 100%;
  }

  .dashboard-hero {
    flex-direction: column;
    padding: 20px;
  }

  .dashboard-signout, .dashboard-signout button {
    width: 100%;
  }

  .dashboard-stat-grid {
    grid-template-columns: 1fr;
  }

  .dashboard-arrival-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .reception-stat-grid, .reception-filter-form, .reception-request-meta, .reception-handoff-preview {
    grid-template-columns: 1fr;
  }

  .reception-filter-form .action-button, .action-row form, .action-row .action-button {
    width: 100%;
  }

  .action-row-compact {
    grid-template-columns: 1fr;
    display: grid;
  }

  .reception-request-title, .reception-room-title, .reception-reservation-row {
    flex-direction: column;
  }

  .reception-request-detail {
    position: static;
  }
}

.ui-badge {
  white-space: nowrap;
  border-radius: 999px;
  align-items: center;
  gap: 5px;
  padding: 4px 9px;
  font-size: .75rem;
  font-weight: 700;
  display: inline-flex;
}

.ui-badge-neutral {
  color: #334155;
  background: #f1f5f9;
}

.ui-badge-warning {
  color: #9a3412;
  background: #fff7ed;
  border: 1px solid #fed7aa;
}

.ui-badge-info {
  color: #1d4ed8;
  background: #dbeafe;
}

.ui-badge-success {
  color: #166534;
  background: #dcfce7;
}

.ui-badge-danger {
  color: var(--danger);
  background: #fee2e2;
  font-weight: 800;
}

.ui-badge-accent {
  background: var(--accent-soft);
  color: var(--accent-deep);
}

.filter-chip {
  border: 1px solid var(--border);
  color: #475569;
  background: #fff;
  border-radius: 999px;
  align-items: center;
  gap: 6px;
  min-height: 44px;
  padding: 7px 14px;
  font-size: .78rem;
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
}

.filter-chip:hover {
  border-color: #cbd5e1;
}

.filter-chip-active {
  color: #fff;
  background: #0b65e8;
  border-color: #0b65e8;
  font-weight: 700;
}

.hb2-boundary .filter-chip-active {
  color: #fff;
}

.filter-chip-count {
  font-variant-numeric: tabular-nums;
  opacity: .75;
}

.module-shell {
  grid-template-columns: 216px minmax(0, 1fr);
  min-height: 100vh;
  display: grid;
}

.module-sidebar {
  background: #fff;
  border-right: 1px solid #e2e8f0;
  flex-direction: column;
  padding: 18px 12px 14px;
  display: flex;
}

.module-sidebar-head {
  border-bottom: 1px solid #f1f5f9;
  gap: 2px;
  padding: 0 12px 14px;
  display: grid;
}

.module-sidebar-workspace {
  font-family: var(--font-serif);
  font-size: 1.05rem;
  font-weight: 600;
}

.module-sidebar-meta {
  color: #64748b;
  font-size: .75rem;
  font-weight: 600;
}

.module-sidebar-groups {
  flex-direction: column;
  flex: 1;
  gap: 14px;
  padding-top: 14px;
  display: flex;
}

.module-nav-group {
  flex-direction: column;
  gap: 2px;
  display: flex;
}

.module-nav-group-label {
  color: #64748b;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 0 12px 6px;
  font-size: .75rem;
  font-weight: 800;
}

.module-nav-item {
  color: #475569;
  border-radius: 10px;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 9px 12px;
  font-size: .84rem;
  font-weight: 600;
  text-decoration: none;
  display: flex;
}

.module-nav-item:hover {
  background: #f8fafc;
}

.module-nav-item.is-active {
  background: var(--accent-soft);
  color: var(--accent-deep);
  font-weight: 700;
}

.module-nav-item.is-disabled {
  color: #64748b;
  cursor: default;
}

.module-nav-item.is-disabled:hover {
  background: none;
}

.module-nav-badge {
  color: #475569;
  background: #f1f5f9;
  border-radius: 999px;
  margin-left: auto;
  padding: 2px 7px;
  font-size: .75rem;
  font-weight: 700;
}

.module-nav-badge.is-urgent {
  color: var(--danger);
  background: #fee2e2;
}

.module-sidebar-foot {
  border-top: 1px solid #f1f5f9;
  gap: 12px;
  padding-top: 12px;
  display: grid;
}

.module-escalate-button {
  color: var(--danger);
  text-align: center;
  background: #fef6f6;
  border: 1.5px solid #fecaca;
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  min-height: 44px;
  padding: 8px 12px;
  font-size: .78rem;
  font-weight: 700;
  display: flex;
}

.module-sidebar-user {
  align-items: center;
  gap: 9px;
  padding: 0 6px;
  display: flex;
}

.module-sidebar-avatar {
  background: var(--accent-soft);
  color: var(--accent-deep);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  font-size: .75rem;
  font-weight: 800;
  display: flex;
}

.module-sidebar-username {
  overflow-wrap: anywhere;
  min-width: 0;
  font-size: .78rem;
  font-weight: 700;
}

.module-main {
  flex-direction: column;
  gap: 18px;
  min-width: 0;
  padding: 22px 26px 26px;
  display: flex;
}

.module-main button:not([class]) {
  appearance: none;
  border-radius: var(--radius-control);
  color: #fff;
  cursor: pointer;
  background: linear-gradient(135deg, #0b65e8, #0754dd);
  border: 1px solid #0754dd;
  justify-content: center;
  align-items: center;
  min-height: 44px;
  padding: 10px 14px;
  font-weight: 700;
  display: inline-flex;
}

.module-main button:not([class]):hover {
  background: #0754dd;
  border-color: #0754dd;
}

.module-main button:not([class]):focus-visible {
  outline-offset: 2px;
  outline: 3px solid #1677ff4d;
}

.module-main button:not([class]):disabled {
  cursor: not-allowed;
  opacity: .55;
}

.module-topbar {
  align-items: center;
  gap: 12px;
  min-width: 0;
  display: flex;
}

.module-topbar-actions {
  flex-wrap: wrap;
  gap: 8px;
  margin-left: auto;
  display: flex;
}

.module-title {
  font-family: var(--font-serif);
  margin: 0;
  font-size: 1.4rem;
  font-weight: 600;
}

.module-subtitle {
  color: #64748b;
  margin: 2px 0 0;
  font-size: .78rem;
  font-weight: 600;
}

@media (max-width: 1024px) {
  .module-shell {
    grid-template-columns: 1fr;
  }

  .module-sidebar {
    border-bottom: 1px solid #e2e8f0;
    border-right: 0;
  }

  .module-sidebar-groups {
    flex-flow: wrap;
  }
}

.counter-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  display: grid;
}

.counter-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  gap: 5px;
  min-height: 108px;
  padding: 14px 16px;
  text-decoration: none;
  display: grid;
}

.counter-card:hover {
  border-color: #cbd5e1;
}

.counter-card:focus-visible, .home-request-action:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 2px;
}

.counter-card-warning {
  border-color: #fed7aa;
}

.counter-card-danger {
  border-color: #fecaca;
}

.counter-card-label {
  color: #475569;
  font-size: .75rem;
  font-weight: 700;
}

.counter-card-warning .counter-card-label {
  color: #9a3412;
}

.counter-card-danger .counter-card-label, .counter-card-danger .counter-card-value {
  color: var(--danger);
}

.counter-card-value {
  color: var(--slate-900);
  font-size: 1.75rem;
  font-weight: 800;
  line-height: 1;
}

.counter-card-hint {
  color: #64748b;
  min-height: 1.2em;
  font-size: .75rem;
  font-weight: 600;
}

.reception-home-grid {
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, 1fr);
  align-items: start;
  gap: 16px;
  margin-top: 0;
  display: grid;
}

.reception-home-side {
  gap: 16px;
  display: grid;
}

.reception-home-panel {
  gap: 14px;
  display: grid;
}

.home-request-list, .home-escalation-list, .home-arrival-list, .home-handover-list {
  gap: 10px;
  display: grid;
}

.module-topbar-actions .btn, .reception-home-panel .btn {
  align-items: center;
  min-height: 44px;
  display: inline-flex;
}

.home-request-preview {
  border: 1px solid var(--border);
  border-left: 4px solid #0000;
  border-radius: 14px;
  grid-template-columns: minmax(0, 1fr) minmax(150px, auto);
  align-items: start;
  gap: 12px;
  padding: 14px;
  display: grid;
}

.home-request-preview.is-new {
  border-left-color: #d97706;
}

.home-request-label {
  color: var(--accent-deep);
  text-transform: uppercase;
  margin-bottom: 3px;
  font-size: .75rem;
  font-weight: 800;
  display: block;
}

.home-request-preview p, .home-escalation-row p, .home-arrival-row p, .home-handover-row p {
  color: #64748b;
  margin: 4px 0 0;
  font-size: .8rem;
  line-height: 1.45;
}

.home-request-meta {
  place-items: flex-end end;
  gap: 8px;
  display: grid;
}

.home-request-meta > span:not(.ui-badge) {
  color: #475569;
  text-align: right;
  font-size: .75rem;
  font-weight: 700;
}

.home-request-action {
  color: var(--accent-deep);
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  min-height: 44px;
  padding: 8px 12px;
  font-size: .78rem;
  font-weight: 800;
  text-decoration: none;
  display: inline-flex;
}

.home-request-action:hover {
  background: var(--accent-soft);
  border-color: var(--accent);
}

.home-request-owned {
  color: #475569;
  font-size: .75rem;
  font-weight: 700;
}

.reception-escalation-panel {
  background: #fdf7f7;
  border-color: #fecaca;
}

.home-escalation-row, .home-arrival-row, .home-handover-row {
  border-bottom: 1px solid #e2e8f0db;
  justify-content: space-between;
  align-items: start;
  gap: 12px;
  padding: 0 0 10px;
  display: flex;
}

.home-escalation-row:last-child, .home-arrival-row:last-child, .home-handover-row:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.home-escalation-row strong, .home-arrival-row strong, .home-handover-row strong {
  color: var(--slate-900);
  font-size: .84rem;
}

.reception-arrivals-handover-panel {
  gap: 16px;
  display: grid;
}

.home-subpanel {
  gap: 12px;
  display: grid;
}

.home-handover-subpanel {
  border-top: 1px solid var(--border);
  padding-top: 16px;
}

.home-arrival-row > span, .home-handover-row > span {
  color: #475569;
  text-align: right;
  font-size: .75rem;
  font-weight: 700;
}

@media (max-width: 1200px) {
  .counter-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .reception-home-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .counter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .module-topbar {
    flex-direction: column;
    align-items: stretch;
  }

  .module-topbar > div {
    min-width: 0;
  }

  .module-topbar-actions {
    flex-direction: column;
    align-items: stretch;
    margin-left: 0;
  }

  .module-topbar-actions > * {
    width: 100%;
  }

  .counter-card {
    min-height: 96px;
  }

  .home-request-preview {
    grid-template-columns: 1fr;
  }

  .home-request-meta {
    place-items: start;
  }

  .home-request-meta > span:not(.ui-badge), .home-arrival-row > span, .home-handover-row > span {
    text-align: left;
  }
}

.reception-inbox-chips {
  flex-wrap: wrap;
  gap: 8px;
  margin: 16px 0 10px;
  display: flex;
}

.reception-inbox-row-link {
  color: inherit;
  text-decoration: none;
  transition: border-color .12s, box-shadow .12s, transform .12s;
}

.reception-inbox-row-link:hover {
  border-color: var(--slate-300);
  transform: translateY(-1px);
  box-shadow: 0 8px 20px -18px #0f172aa6;
}

.reception-inbox-row-link:focus-visible {
  border-color: var(--accent);
  outline-offset: 2px;
  outline: 3px solid #2e6b5a40;
}

.reception-chat-transcript {
  background: var(--slate-50);
  border: 1px solid var(--border);
  overscroll-behavior: contain;
  border-radius: 14px;
  flex-direction: column;
  gap: 10px;
  min-height: 160px;
  max-height: min(62vh, 620px);
  padding: 14px;
  display: flex;
  overflow-y: auto;
}

.reception-chat-message {
  border: 1px solid var(--border);
  background: #fff;
  border-radius: 14px 14px 14px 5px;
  align-self: flex-start;
  gap: 6px;
  min-width: 0;
  max-width: min(78%, 720px);
  padding: 11px 13px;
  display: grid;
}

.reception-chat-message.from-guest {
  background: #fffaf0;
  border-color: #fed7aa;
}

.reception-chat-message.from-staff {
  background: var(--accent-soft);
  border-color: var(--sage-border);
  border-radius: 14px 14px 5px;
  align-self: flex-end;
}

.reception-chat-message.from-bot {
  background: #eff6ff;
  border-color: #bfdbfe;
}

.reception-chat-message.from-system {
  color: var(--slate-500);
  text-align: center;
  background: none;
  border: 0;
  align-self: center;
  max-width: 100%;
  padding: 4px 8px;
}

.reception-chat-message header {
  justify-content: space-between;
  align-items: baseline;
  gap: 14px;
  display: flex;
}

.reception-chat-message header strong {
  color: var(--slate-900);
  overflow-wrap: anywhere;
  font-size: .76rem;
  font-weight: 800;
}

.reception-chat-message header time {
  color: var(--slate-500);
  flex: none;
  font-size: .7rem;
  font-weight: 600;
}

.reception-chat-message p {
  color: var(--slate-700);
  overflow-wrap: anywhere;
  white-space: pre-wrap;
  margin: 0;
  font-size: .86rem;
  line-height: 1.5;
}

.reception-filter-form input, .reception-filter-form select, .reception-filter-form .action-button {
  min-height: 44px;
}

.reception-inbox-table {
  border: 1px solid var(--border);
  border-radius: 14px;
  display: grid;
  overflow: hidden;
}

.reception-inbox-table-head, .reception-inbox-row {
  grid-template-columns: 28px minmax(180px, 1.4fr) minmax(96px, .7fr) minmax(120px, .8fr) minmax(116px, auto);
  align-items: center;
  gap: 12px;
  display: grid;
}

.reception-inbox-table-head {
  background: var(--slate-50);
  color: #475569;
  letter-spacing: .02em;
  text-transform: uppercase;
  padding: 10px 14px;
  font-size: .75rem;
  font-weight: 800;
}

.reception-inbox-row {
  border-top: 1px solid var(--border);
  color: var(--slate-700);
  background: #fff;
  min-height: 68px;
  padding: 10px 14px;
  font-size: .8rem;
  font-weight: 700;
  text-decoration: none;
}

.reception-inbox-row:hover {
  background: #f8fafc;
}

.reception-inbox-row:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: -3px;
  z-index: 1;
  position: relative;
}

.reception-request-icon {
  background: var(--slate-100);
  color: #475569;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  font-size: .9rem;
  font-weight: 900;
  display: inline-flex;
}

.reception-request-icon.status-requested {
  color: #9a3412;
  background: #fff7ed;
}

.reception-request-icon.status-in_progress {
  background: var(--accent-soft);
  color: var(--accent-deep);
}

.reception-inbox-request {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.reception-inbox-request strong {
  color: var(--slate-900);
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.reception-inbox-request small {
  color: #64748b;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .75rem;
  font-weight: 600;
  overflow: hidden;
}

.reception-wait-long {
  color: var(--danger);
  font-weight: 800;
}

.detail-drawer-layer {
  isolation: isolate;
  pointer-events: none;
  z-index: 50;
  position: fixed;
  inset: 0;
}

.detail-drawer-backdrop {
  cursor: default;
  pointer-events: auto;
  background: #0f172a61;
  border: 0;
  width: 100%;
  position: absolute;
  inset: 0;
}

.detail-drawer {
  pointer-events: auto;
  background: #fff;
  outline: 0;
  grid-template-rows: auto minmax(0, 1fr) auto;
  width: min(560px, 100%);
  max-width: 560px;
  height: 100%;
  display: grid;
  position: absolute;
  top: 0;
  right: 0;
  box-shadow: -18px 0 40px #0f172a33;
}

.detail-drawer-head {
  border-bottom: 1px solid var(--border);
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  padding: 20px;
  display: flex;
}

.detail-drawer-heading {
  gap: 8px;
  min-width: 0;
  display: grid;
}

.detail-drawer-title {
  color: var(--slate-900);
  font-family: var(--font-serif);
  margin: 0;
  font-size: 1.45rem;
  line-height: 1.15;
}

.detail-drawer-close {
  border: 1px solid var(--border);
  color: #475569;
  border-radius: 10px;
  flex: none;
  justify-content: center;
  align-items: center;
  min-height: 44px;
  padding: 8px 12px;
  font-size: .78rem;
  font-weight: 800;
  text-decoration: none;
  display: inline-flex;
}

.detail-drawer-close:hover {
  background: var(--slate-50);
  color: var(--slate-900);
}

.detail-drawer-close:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 2px;
}

.detail-drawer-body {
  gap: 16px;
  min-height: 0;
  padding: 20px;
  display: grid;
  overflow-y: auto;
}

.detail-drawer-foot {
  border-top: 1px solid var(--border);
  gap: 10px;
  max-height: 42vh;
  padding: 16px 20px 20px;
  display: grid;
  overflow-y: auto;
}

.detail-drawer-foot .action-button-compact, .detail-drawer-body .action-button-compact {
  min-height: 44px;
}

.reception-drawer-details {
  gap: 8px;
  margin: 0;
  display: grid;
}

.reception-drawer-details div, .reception-drawer-note, .reception-drawer-task {
  background: var(--slate-50);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 12px;
}

.reception-drawer-details dt, .reception-drawer-note > span {
  color: #475569;
  text-transform: uppercase;
  font-size: .75rem;
  font-weight: 800;
  display: block;
}

.reception-drawer-details dd {
  color: var(--slate-900);
  margin: 5px 0 0;
  font-size: .84rem;
  font-weight: 700;
}

.reception-drawer-note {
  gap: 6px;
  display: grid;
}

.reception-drawer-note p, .reception-drawer-task p {
  color: #475569;
  white-space: pre-wrap;
  margin: 0;
  font-size: .82rem;
  line-height: 1.5;
}

.reception-drawer-task {
  gap: 12px;
  display: grid;
}

.reception-drawer-task h3 {
  color: var(--slate-900);
  margin: 0 0 4px;
  font-size: .9rem;
}

@media (max-width: 760px) {
  .reception-inbox-table-head {
    display: none;
  }

  .reception-inbox-row {
    grid-template-columns: 28px minmax(0, 1fr) auto;
  }

  .reception-inbox-row > span:nth-child(3), .reception-inbox-row > span:nth-child(4) {
    display: none;
  }

  .detail-drawer {
    width: 100%;
    max-width: none;
  }

  .reception-chat-message {
    max-width: 92%;
  }
}

.reception-task-chips {
  flex-wrap: wrap;
  gap: 8px;
  margin: 16px 0 10px;
  display: flex;
}

.reception-task-filter-form {
  background: var(--slate-50);
  border: 1px solid var(--border);
  border-radius: 14px;
  grid-template-columns: minmax(200px, .4fr) max-content;
  align-items: end;
  gap: 10px;
  margin-bottom: 16px;
  padding: 10px;
  display: grid;
}

.reception-task-filter-form label, .reception-task-create-modal-form > label {
  color: #475569;
  gap: 6px;
  font-size: .8rem;
  font-weight: 800;
  display: grid;
}

.reception-task-filter-form select, .reception-task-filter-form .action-button, .reception-task-create-modal-form input, .reception-task-create-modal-form select, .reception-task-create-modal-form textarea {
  border: 1px solid var(--border);
  color: var(--slate-900);
  background: #fff;
  border-radius: 10px;
  width: 100%;
  min-height: 44px;
  padding: 9px 10px;
}

.reception-task-filter-form .action-button {
  min-height: 44px;
}

.reception-task-create-modal-form textarea {
  resize: vertical;
  min-height: 96px;
}

.reception-task-table {
  border: 1px solid var(--border);
  border-radius: 14px;
  display: grid;
  overflow: hidden;
}

.reception-task-table-head, .reception-task-row {
  grid-template-columns: minmax(190px, 1.5fr) minmax(110px, .8fr) minmax(120px, .9fr) minmax(96px, auto) minmax(100px, auto);
  align-items: center;
  gap: 12px;
  display: grid;
}

.reception-task-table-head {
  background: var(--slate-50);
  color: #475569;
  letter-spacing: .02em;
  text-transform: uppercase;
  padding: 10px 14px;
  font-size: .75rem;
  font-weight: 800;
}

.reception-task-row {
  border-top: 1px solid var(--border);
  color: #475569;
  background: #fff;
  min-height: 66px;
  padding: 10px 14px;
  font-size: .8rem;
  font-weight: 700;
}

.reception-task-row > div {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.reception-task-row strong {
  color: var(--slate-900);
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.reception-task-row small {
  color: #64748b;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .75rem;
  font-weight: 600;
  overflow: hidden;
}

.reception-modal-layer {
  isolation: isolate;
  pointer-events: none;
  z-index: 60;
  justify-content: center;
  align-items: center;
  padding: 20px;
  display: flex;
  position: fixed;
  inset: 0;
}

.reception-modal-backdrop {
  cursor: default;
  pointer-events: auto;
  background: #0f172a61;
  border: 0;
  width: 100%;
  position: absolute;
  inset: 0;
}

.reception-modal {
  box-shadow: var(--shadow-floating);
  pointer-events: auto;
  background: #fff;
  border-radius: 16px;
  outline: 0;
  width: min(640px, 100%);
  max-width: 640px;
  max-height: min(760px, 100vh - 40px);
  display: grid;
  position: relative;
  overflow: hidden;
}

.reception-modal-head {
  border-bottom: 1px solid var(--border);
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 20px;
  display: flex;
}

.reception-modal-head h2 {
  color: var(--slate-900);
  font-family: var(--font-serif);
  margin: 0;
  font-size: 1.45rem;
}

.reception-modal-close {
  border: 1px solid var(--border);
  color: #475569;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  min-height: 44px;
  padding: 8px 12px;
  font-size: .78rem;
  font-weight: 800;
  text-decoration: none;
  display: inline-flex;
}

.reception-modal-close:hover {
  background: var(--slate-50);
  color: var(--slate-900);
}

.reception-modal-close:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 2px;
}

.reception-modal-body {
  min-height: 0;
  padding: 20px;
  overflow-y: auto;
}

.reception-task-create-modal-form {
  gap: 16px;
  display: grid;
}

.reception-task-create-modal-form fieldset {
  border: 0;
  gap: 8px;
  margin: 0;
  padding: 0;
  display: grid;
}

.reception-task-create-modal-form legend {
  color: #475569;
  padding: 0;
  font-size: .8rem;
  font-weight: 800;
}

.reception-task-choice-grid, .reception-task-priority-options {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.reception-task-choice-grid label, .reception-task-priority-options label {
  cursor: pointer;
}

.reception-task-choice-grid input, .reception-task-priority-options input {
  opacity: 0;
  block-size: 1px;
  inline-size: 1px;
  position: absolute;
}

.reception-task-choice-grid span, .reception-task-priority-options span {
  border: 1px solid var(--border);
  color: #475569;
  border-radius: 999px;
  align-items: center;
  min-height: 44px;
  padding: 8px 12px;
  font-size: .78rem;
  font-weight: 700;
  display: inline-flex;
}

.reception-task-choice-grid input:checked + span, .reception-task-priority-options input:checked + span {
  background: var(--accent-soft);
  border-color: var(--accent);
  color: var(--accent-deep);
}

.reception-task-choice-grid input:focus-visible + span, .reception-task-priority-options input:focus-visible + span {
  outline: 3px solid var(--accent);
  outline-offset: 2px;
}

.reception-modal-actions {
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
  display: flex;
}

.reception-modal-actions .btn {
  align-items: center;
  min-height: 44px;
  display: inline-flex;
}

@media (max-width: 760px) {
  .reception-task-table-head {
    display: none;
  }

  .reception-task-row {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
  }

  .reception-task-row > span:nth-child(2), .reception-task-row > span:nth-child(3) {
    display: none;
  }

  .reception-modal-layer {
    align-items: end;
    padding: 0;
  }

  .reception-modal {
    border-radius: 16px 16px 0 0;
    width: 100%;
    max-width: none;
    max-height: min(86vh, 760px);
  }

  .reception-modal-actions .btn {
    flex: 1;
  }
}

.escalation-select-form, .escalation-confirm-form {
  gap: 16px;
  display: grid;
}

.escalation-select-form > label, .escalation-confirm-form > label {
  color: #475569;
  gap: 6px;
  font-size: .8rem;
  font-weight: 800;
  display: grid;
}

.escalation-select-form select, .escalation-confirm-form textarea {
  border: 1px solid var(--border);
  color: var(--slate-900);
  background: #fff;
  border-radius: 10px;
  width: 100%;
  min-height: 44px;
  padding: 9px 10px;
}

.escalation-confirm-form textarea {
  resize: vertical;
  min-height: 108px;
}

.escalation-select-form fieldset {
  border: 0;
  gap: 16px;
  margin: 0;
  padding: 0;
  display: grid;
}

.escalation-select-form legend {
  color: var(--slate-900);
  padding: 0;
  font-size: .9rem;
  font-weight: 800;
}

.escalation-category-group {
  gap: 8px;
  display: grid;
}

.escalation-category-group h3 {
  color: #475569;
  margin: 0;
  font-size: .78rem;
}

.escalation-category-group h3.is-danger {
  color: var(--danger);
}

.escalation-category-options {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.escalation-category-options label {
  cursor: pointer;
}

.escalation-category-options input {
  opacity: 0;
  block-size: 1px;
  inline-size: 1px;
  position: absolute;
}

.escalation-category-options span {
  border: 1px solid var(--border);
  color: #475569;
  border-radius: 999px;
  align-items: center;
  min-height: 44px;
  padding: 8px 12px;
  font-size: .78rem;
  font-weight: 700;
  display: inline-flex;
}

.escalation-category-options label.is-danger span {
  color: var(--danger);
  background: #fef6f6;
  border-color: #fecaca;
}

.escalation-category-options input:checked + span {
  background: var(--accent-soft);
  border-color: var(--accent);
  color: var(--accent-deep);
}

.escalation-category-options label.is-danger input:checked + span {
  color: var(--danger);
  background: #fee2e2;
  border-color: #fca5a5;
}

.escalation-category-options input:focus-visible + span {
  outline: 3px solid var(--accent);
  outline-offset: 2px;
}

.escalation-confirm-summary {
  background: var(--slate-50);
  border: 1px solid var(--border);
  border-radius: 14px;
  gap: 5px;
  padding: 14px;
  display: grid;
}

.escalation-confirm-summary span {
  color: #475569;
  text-transform: uppercase;
  font-size: .75rem;
  font-weight: 800;
}

.escalation-confirm-summary strong {
  color: var(--slate-900);
  font-size: 1rem;
}

.escalation-confirm-summary p, .escalation-confirm-copy {
  color: #475569;
  margin: 0;
  font-size: .82rem;
  line-height: 1.5;
}

.escalation-submit-button {
  background: var(--danger);
  border: 1px solid var(--danger);
  color: #fff;
  cursor: pointer;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  min-height: 44px;
  padding: 9px 14px;
  font-size: .82rem;
  font-weight: 800;
  display: inline-flex;
}

.escalation-submit-button:hover {
  background: #7f1d1d;
  border-color: #7f1d1d;
}

.escalation-submit-button:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 2px;
}

.escalation-banner-stack {
  gap: 10px;
  display: grid;
}

.escalation-banner {
  border: 1px solid #fecaca;
  border-left: 4px solid var(--danger);
  background: #fdf7f7;
  border-radius: 14px;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 16px;
  display: flex;
}

.escalation-banner-kicker {
  color: var(--danger);
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: .75rem;
  font-weight: 800;
  display: block;
}

.escalation-banner h2 {
  color: #7f1d1d;
  font-family: var(--font-serif);
  margin: 4px 0;
  font-size: 1.15rem;
}

.escalation-banner p {
  color: #475569;
  margin: 0;
  font-size: .8rem;
  line-height: 1.45;
}

.escalation-banner-note {
  white-space: pre-wrap;
  margin-top: 6px !important;
}

.escalation-acknowledge-button {
  border: 1px solid var(--danger);
  color: var(--danger);
  cursor: pointer;
  text-align: center;
  background: #fff;
  border-radius: 10px;
  flex: none;
  justify-content: center;
  align-items: center;
  min-height: 44px;
  padding: 9px 12px;
  font-size: .8rem;
  font-weight: 800;
  display: inline-flex;
}

.escalation-acknowledge-button:hover {
  background: #fee2e2;
}

.escalation-acknowledge-button:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 2px;
}

.handover-panel {
  gap: 18px;
  display: grid;
}

.handover-filter-chips, .handover-category-options {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.handover-quick-form {
  background: var(--slate-50);
  border: 1px solid var(--border);
  border-radius: 14px;
  grid-template-columns: minmax(220px, 1fr) auto auto;
  align-items: end;
  gap: 12px;
  padding: 14px;
  display: grid;
}

.handover-quick-form.has-property-select {
  grid-template-columns: minmax(150px, .45fr) minmax(220px, 1fr) auto auto;
}

.handover-quick-form fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

.handover-body-input {
  display: block;
}

.handover-body-input input, .handover-property-select select {
  border: 1px solid var(--border);
  color: var(--slate-900);
  background: #fff;
  border-radius: 10px;
  width: 100%;
  min-height: 44px;
  padding: 9px 10px;
}

.handover-property-select {
  color: #475569;
  gap: 5px;
  font-size: .76rem;
  font-weight: 800;
  display: grid;
}

.handover-category-options label {
  cursor: pointer;
}

.handover-category-options input {
  opacity: 0;
  block-size: 1px;
  inline-size: 1px;
  position: absolute;
}

.handover-category-options span {
  border: 1px solid var(--border);
  color: #475569;
  background: #fff;
  border-radius: 999px;
  align-items: center;
  min-height: 44px;
  padding: 8px 12px;
  font-size: .78rem;
  font-weight: 800;
  display: inline-flex;
}

.handover-category-options input:checked + span {
  background: var(--accent-soft);
  border-color: var(--accent);
  color: var(--accent-deep);
}

.handover-category-options input:focus-visible + span {
  outline: 3px solid var(--accent);
  outline-offset: 2px;
}

.handover-columns {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  display: grid;
}

.handover-column {
  gap: 10px;
  display: grid;
}

.handover-column > header {
  justify-content: space-between;
  align-items: baseline;
  display: flex;
}

.handover-column > header h2 {
  color: var(--slate-900);
  font-family: var(--font-serif);
  margin: 0;
  font-size: 1.2rem;
}

.handover-column > header span {
  color: #64748b;
  font-size: .78rem;
  font-weight: 800;
}

.handover-column-empty {
  border: 1px dashed var(--border);
  color: #64748b;
  border-radius: 12px;
  padding: 16px;
  font-size: .82rem;
}

.handover-note {
  border: 1px solid var(--border);
  background: #fff;
  border-radius: 14px;
  align-items: flex-start;
  gap: 11px;
  padding: 14px;
  display: flex;
}

.handover-note.is-handled {
  opacity: .55;
}

.handover-note.is-handled .handover-note-content > p {
  text-decoration: line-through;
}

.handover-handle-form {
  flex: none;
  margin: -9px 0 0 -9px;
}

.handover-handle-checkbox {
  appearance: none;
  color: #fff;
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 10px;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  display: inline-flex;
  position: relative;
}

.handover-handle-checkbox:before {
  content: "";
  background: #fff;
  border: 2px solid #94a3b8;
  border-radius: 6px;
  width: 22px;
  height: 22px;
  position: absolute;
  top: 11px;
  left: 11px;
}

.handover-handle-checkbox:hover:before {
  border-color: var(--accent);
}

.handover-handle-checkbox:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 2px;
}

.handover-handle-checkbox.is-handled {
  cursor: default;
  font-size: .78rem;
  font-weight: 900;
}

.handover-handle-checkbox.is-handled:before {
  background: #15803d;
  border-color: #15803d;
}

.handover-handle-checkmark {
  z-index: 1;
  position: relative;
}

.handover-note-content {
  gap: 7px;
  width: 100%;
  min-width: 0;
  display: grid;
}

.handover-note-head {
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  display: flex;
}

.handover-note-location {
  color: #475569;
  font-size: .78rem;
  font-weight: 800;
}

.handover-note-content > p {
  color: var(--slate-900);
  overflow-wrap: anywhere;
  margin: 0;
  font-size: .9rem;
  line-height: 1.45;
}

.handover-note-content > small {
  color: #64748b;
  font-size: .74rem;
}

.handover-empty-state {
  margin-top: 18px;
}

.reception-rooms-mode-switch {
  background: var(--slate-50);
  border: 1px solid var(--border);
  border-radius: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
  padding: 4px;
  display: grid;
}

.reception-rooms-mode {
  color: #64748b;
  border-radius: 9px;
  justify-content: center;
  align-items: center;
  min-height: 44px;
  padding: 9px 14px;
  font-size: .86rem;
  font-weight: 850;
  text-decoration: none;
  display: inline-flex;
}

.reception-rooms-mode:hover {
  color: var(--slate-900);
}

.reception-rooms-mode.is-active {
  color: var(--accent-deep);
  background: #fff;
  box-shadow: 0 1px 3px #0f172a1f;
}

.reception-rooms-mode:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 1px;
}

.reception-rooms-tabs {
  border-bottom: 1px solid var(--border);
  gap: 4px;
  display: flex;
  overflow-x: auto;
}

.reception-rooms-tab {
  color: #64748b;
  border-bottom: 3px solid #0000;
  flex: none;
  justify-content: center;
  align-items: center;
  min-height: 44px;
  padding: 9px 14px;
  font-size: .82rem;
  font-weight: 800;
  text-decoration: none;
  display: inline-flex;
}

.reception-rooms-tab:hover {
  color: var(--slate-900);
}

.reception-rooms-tab.is-active {
  border-bottom-color: var(--accent);
  color: var(--accent-deep);
}

.reception-rooms-tab:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: -3px;
}

.reception-rooms-filter-chips {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.reception-rooms-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  display: grid;
}

.reception-room-card {
  color: var(--slate-900);
  min-height: 182px;
  text-decoration: none;
}

.reception-room-card:hover {
  box-shadow: var(--shadow-card);
  border-color: #cbd5e1;
}

.reception-room-card:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 2px;
}

.reception-room-card-head {
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  display: flex;
}

.reception-room-card-head > div {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.reception-room-card-head > div > span {
  color: #64748b;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: .7rem;
  font-weight: 800;
}

.reception-room-card-head strong {
  font-size: 1.4rem;
  line-height: 1;
}

.reception-room-card-head small {
  color: #64748b;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .76rem;
  font-weight: 600;
  overflow: hidden;
}

.reception-room-card-badges {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.reception-room-card > p {
  color: #475569;
  margin: auto 0 0;
  font-size: .78rem;
  line-height: 1.45;
}

.reception-room-blocked {
  color: #991b1b;
  background: #fee2e2;
  border-radius: 999px;
  width: fit-content;
  padding: 5px 8px;
  font-size: .72rem;
  font-weight: 800;
}

.reception-turnover-panel {
  gap: 16px;
  display: grid;
}

.reception-turnover-table {
  border: 1px solid var(--border);
  border-radius: 14px;
  min-width: 760px;
  display: grid;
  overflow: hidden;
}

.reception-turnover-table-head, .reception-turnover-row {
  grid-template-columns: minmax(130px, .8fr) minmax(180px, 1.2fr) minmax(130px, .8fr) minmax(112px, auto) minmax(148px, auto);
  align-items: center;
  gap: 12px;
  display: grid;
}

.reception-turnover-table-head {
  background: var(--slate-50);
  color: #475569;
  letter-spacing: .02em;
  text-transform: uppercase;
  padding: 10px 14px;
  font-size: .72rem;
  font-weight: 800;
}

.reception-turnover-row {
  border-top: 1px solid var(--border);
  color: #475569;
  background: #fff;
  min-height: 70px;
  padding: 10px 14px;
  font-size: .82rem;
  font-weight: 700;
}

.reception-turnover-row > strong, .reception-turnover-row > span > strong {
  color: var(--slate-900);
}

.reception-turnover-row > span:nth-child(2) {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.reception-turnover-row small {
  color: #64748b;
  font-size: .74rem;
  font-weight: 600;
}

.reception-turnover-row form, .reception-turnover-row .action-button {
  min-height: 44px;
  margin: 0;
  text-decoration: none;
  display: inline-flex;
}

.reception-turnover-action-muted {
  color: #64748b;
  font-size: .76rem;
}

.reception-room-notes-panel {
  gap: 16px;
  display: grid;
}

.reception-room-notes-list {
  gap: 10px;
  display: grid;
}

.reception-room-note {
  border: 1px solid var(--border);
  border-radius: 12px;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  padding: 13px;
  display: flex;
}

.reception-room-note.is-handled {
  opacity: .55;
}

.reception-room-note.is-handled p {
  text-decoration: line-through;
}

.reception-room-note > div {
  gap: 4px;
  display: grid;
}

.reception-room-note strong {
  color: var(--slate-900);
  font-size: .84rem;
}

.reception-room-note p {
  color: #475569;
  white-space: pre-wrap;
  margin: 0;
  font-size: .84rem;
  line-height: 1.45;
}

.reception-room-note small {
  color: #64748b;
  font-size: .72rem;
  font-weight: 700;
}

.reception-room-drawer-section, .reception-room-link-controls {
  border: 1px solid var(--border);
  border-radius: 12px;
  gap: 10px;
  padding: 13px;
  display: grid;
}

.reception-room-drawer-section h3, .reception-room-link-controls h3 {
  color: var(--slate-900);
  margin: 0;
  font-size: .92rem;
}

.reception-room-drawer-section p, .reception-room-link-controls > p {
  margin: 0;
  font-size: .8rem;
  line-height: 1.45;
}

.reception-room-drawer-section ul {
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.reception-room-drawer-section li {
  border-top: 1px solid #f1f5f9;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  padding-top: 8px;
  display: flex;
}

.reception-room-drawer-section li:first-child {
  border-top: 0;
  padding-top: 0;
}

.reception-room-drawer-section li > strong {
  color: var(--slate-900);
  font-size: .8rem;
}

.reception-room-drawer-section li > span {
  color: #64748b;
  font-size: .78rem;
}

.reception-room-status-editor {
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 0 13px 13px;
}

.reception-room-status-editor summary {
  color: var(--slate-900);
  cursor: pointer;
  margin: 0 -13px;
  padding: 14px 13px;
  font-size: .9rem;
  font-weight: 800;
}

.reception-room-status-editor .form-grid {
  margin-top: 2px;
}

.reception-room-operational-summary {
  color: var(--accent-deep);
  font-size: .76rem;
  font-weight: 850;
}

.room-occupancy-quick-form {
  gap: 11px;
  display: grid;
}

.room-occupancy-quick-form.is-blocked {
  background: var(--slate-50);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 13px;
}

.room-occupancy-quick-form.is-blocked strong {
  color: var(--slate-900);
  font-size: .9rem;
}

.room-occupancy-quick-form.is-blocked p {
  color: #475569;
  margin: 0;
  font-size: .8rem;
  line-height: 1.45;
}

.room-occupancy-quick-heading {
  gap: 3px;
  display: grid;
}

.room-occupancy-quick-heading > strong {
  color: var(--slate-900);
  font-size: .94rem;
}

.room-occupancy-quick-heading > p, .room-occupancy-quick-note {
  color: #475569;
  margin: 0;
  font-size: .76rem;
  line-height: 1.4;
}

.room-occupancy-quick-note.is-warning {
  color: #9a3412;
  font-weight: 750;
}

.room-occupancy-quick-fields {
  grid-template-columns: minmax(0, .7fr) minmax(0, 1fr);
  gap: 10px;
  display: grid;
}

.room-occupancy-quick-fields label {
  color: #475569;
  gap: 6px;
  font-size: .78rem;
  font-weight: 800;
  display: grid;
}

.room-occupancy-quick-fields label > span {
  font-weight: 650;
}

.room-occupancy-quick-fields input {
  border: 1px solid var(--border);
  color: var(--slate-900);
  background: #fff;
  border-radius: 10px;
  width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: 9px 10px;
  font-size: 1rem;
}

.room-occupancy-quick-fields input:focus-visible {
  border-color: var(--accent);
  outline-offset: 1px;
  outline: 3px solid #2e6b5a38;
}

.room-occupancy-quick-submit {
  width: 100%;
  min-height: 46px;
}

.reception-room-primary-actions {
  gap: 14px;
  display: grid;
}

.room-guests-exited-form {
  background: var(--accent-soft);
  border: 1px solid var(--sage-border);
  border-radius: 12px;
  gap: 10px;
  padding: 13px;
  display: grid;
}

.room-guests-exited-form.is-compact {
  background: none;
  border: 0;
  margin-top: 8px;
  padding: 0;
}

.room-guests-exited-heading {
  gap: 3px;
  display: grid;
}

.room-guests-exited-heading > strong {
  color: var(--accent-deep);
  font-size: .94rem;
}

.room-guests-exited-heading > p, .room-guests-exited-note {
  color: #475569;
  margin: 0;
  font-size: .76rem;
  line-height: 1.4;
}

.room-guests-exited-submit {
  width: 100%;
  min-height: 46px;
}

.room-guests-exited-form.is-compact .room-guests-exited-submit {
  min-height: 44px;
  padding-inline: 8px;
}

.room-guests-exited-result {
  gap: 8px;
  display: grid;
}

.room-guests-exited-result .alert {
  margin: 0;
}

.room-guests-exited-result .action-button {
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 44px;
  text-decoration: none;
}

.reception-room-link-controls {
  background: var(--slate-50);
}

.reception-room-link-url {
  gap: 8px;
  display: grid;
}

.reception-room-link-url p {
  color: #475569;
  margin: 0;
  font-size: .78rem;
  line-height: 1.4;
}

.reception-room-link-url input {
  border: 1px solid var(--border);
  background: #fff;
  border-radius: 9px;
  width: 100%;
  min-width: 0;
  min-height: 42px;
  padding: 8px 10px;
}

.reception-room-link-actions {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.reception-room-link-actions form {
  margin: 0;
}

.reception-room-link-actions .action-button, .reception-room-link-url .action-button, .reception-room-drawer-section .action-button {
  align-items: center;
  min-height: 44px;
  text-decoration: none;
  display: inline-flex;
}

.reception-room-module-status {
  background: var(--accent-soft);
  border: 1px solid var(--sage-border);
  border-radius: 10px;
  gap: 4px;
  padding: 10px;
  display: grid;
}

.reception-room-module-status > span {
  color: #475569;
  font-size: .78rem;
  font-weight: 800;
}

.reception-room-module-status > strong {
  color: var(--accent-deep);
  font-size: .86rem;
}

.reception-room-module-status > small {
  color: #475569;
  font-size: .72rem;
  line-height: 1.4;
}

.reception-room-module-status > a {
  color: var(--accent-deep);
  margin-top: 3px;
  font-size: .76rem;
  font-weight: 850;
  text-decoration: underline;
}

.room-planning-toolbar {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  display: grid;
}

.room-planning-nav-link {
  border: 1px solid var(--border);
  color: #475569;
  text-align: center;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  min-height: 44px;
  padding: 9px 12px;
  font-size: .8rem;
  font-weight: 850;
  text-decoration: none;
  display: inline-flex;
}

.room-planning-nav-link:hover {
  color: var(--slate-900);
  border-color: #94a3b8;
}

.room-planning-nav-link.is-today {
  background: var(--accent-soft);
  border-color: var(--sage-border);
  color: var(--accent-deep);
}

.room-planning-nav-link.is-disabled {
  background: var(--slate-50);
  color: #94a3b8;
  cursor: not-allowed;
}

.room-planning-nav-link:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 2px;
}

.room-planning-properties {
  gap: 18px;
  min-width: 0;
  display: grid;
}

.room-planning-property {
  border: 1px solid var(--border);
  border-radius: 14px;
  gap: 14px;
  min-width: 0;
  padding: 14px;
  display: grid;
}

.room-planning-scroll {
  border: 1px solid var(--border);
  overscroll-behavior: contain;
  border-radius: 12px;
  max-width: 100%;
  max-height: min(70vh, 720px);
  position: relative;
  overflow: auto;
}

.room-planning-scroll:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 2px;
}

.room-planning-table {
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  width: 100%;
  min-width: 1240px;
}

.room-planning-table caption {
  clip: rect(0 0 0 0);
  white-space: nowrap;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
}

.room-planning-table th, .room-planning-table td {
  border-bottom: 1px solid var(--border);
  border-right: 1px solid var(--border);
  text-align: left;
  vertical-align: top;
  padding: 10px;
}

.room-planning-table tr:last-child > * {
  border-bottom: 0;
}

.room-planning-table tr > :last-child {
  border-right: 0;
}

.room-planning-table thead th {
  background: var(--slate-50);
  color: #475569;
  z-index: 2;
  height: 58px;
  font-size: .75rem;
  font-weight: 850;
  position: sticky;
  top: 0;
}

.room-planning-table thead th > span, .room-planning-table thead th > strong {
  display: block;
}

.room-planning-table thead th > strong {
  color: var(--accent-deep);
  text-transform: uppercase;
  margin-top: 3px;
  font-size: .7rem;
}

.room-planning-table .room-planning-room-heading {
  z-index: 3;
  background: #fff;
  width: 190px;
  position: sticky;
  left: 0;
}

.room-planning-table thead .room-planning-room-heading {
  background: var(--slate-50);
  z-index: 4;
}

.room-planning-table tbody .room-planning-room-heading {
  gap: 4px;
  display: grid;
}

.room-planning-room-heading > strong {
  color: var(--slate-900);
  font-size: .86rem;
}

.room-planning-room-heading > span, .room-planning-room-heading > small {
  color: #64748b;
  font-size: .7rem;
  font-weight: 700;
  line-height: 1.35;
}

.room-planning-table thead th:not(.room-planning-room-heading), .room-planning-cell {
  width: 150px;
}

.room-planning-table th.is-today, .room-planning-cell.is-today {
  box-shadow: inset 3px 0 0 var(--accent);
}

.room-planning-cell {
  background: #fff;
  min-height: 156px;
}

.room-planning-cell.tone-danger {
  background: #fff7f7;
}

.room-planning-cell.tone-warning {
  background: #fffaf0;
}

.room-planning-cell.tone-info {
  background: #f4f9ff;
}

.room-planning-cell-signals {
  gap: 5px;
  min-height: 94px;
  display: grid;
}

.room-planning-cell-signals > strong {
  color: var(--slate-900);
  font-size: .76rem;
  line-height: 1.35;
}

.room-planning-cell-signals > span {
  color: #475569;
  font-size: .7rem;
  font-weight: 650;
  line-height: 1.35;
}

.room-planning-cell-signals .room-planning-planned {
  color: #1e40af;
}

.room-planning-cell-signals .room-planning-housekeeping {
  color: #166534;
}

.room-planning-cell-signals .room-planning-conflict {
  color: #9a3412;
}

.room-planning-detail-link {
  border: 1px solid var(--border);
  color: var(--accent-deep);
  text-align: center;
  border-radius: 9px;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 44px;
  margin-top: 9px;
  padding: 8px;
  font-size: .72rem;
  font-weight: 850;
  text-decoration: none;
  display: inline-flex;
}

.room-planning-detail-link:hover {
  border-color: var(--sage-border);
  background: var(--accent-soft);
}

.room-planning-detail-link:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 2px;
}

@media (max-width: 700px) {
  .escalation-banner {
    flex-direction: column;
    align-items: stretch;
  }

  .escalation-acknowledge-button {
    width: 100%;
  }

  .handover-quick-form {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .handover-quick-form .btn {
    width: 100%;
  }

  .handover-columns {
    grid-template-columns: 1fr;
  }

  .handover-note-head {
    flex-direction: column;
    align-items: flex-start;
  }

  .reception-rooms-grid {
    grid-template-columns: 1fr;
  }

  .reception-turnover-panel {
    overflow-x: auto;
  }

  .reception-room-note {
    flex-direction: column;
    align-items: stretch;
  }

  .room-occupancy-quick-fields {
    grid-template-columns: 1fr;
  }

  .room-planning-property {
    padding: 10px;
  }

  .room-planning-property .section-heading {
    flex-direction: column;
    align-items: flex-start;
  }

  .room-planning-table {
    min-width: 1120px;
  }

  .room-planning-table .room-planning-room-heading {
    width: 154px;
  }

  .room-planning-table thead th:not(.room-planning-room-heading), .room-planning-cell {
    width: 138px;
  }
}

@media (min-width: 701px) and (max-width: 1120px) {
  .reception-rooms-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.alert {
  border: 1px solid var(--border);
  border-radius: var(--radius-control);
  margin: 0;
  padding: 12px 14px;
  font-size: .84rem;
  font-weight: 700;
  line-height: 1.45;
}

.alert-error {
  background: var(--status-danger-bg);
  border-color: var(--status-danger-border);
  color: var(--status-danger-fg);
}

.alert-success {
  background: var(--status-success-bg);
  border-color: var(--status-success-border);
  color: var(--status-success-fg);
}

.alert-warning {
  background: var(--status-warning-bg);
  border-color: var(--status-warning-border);
  color: #7c2d12;
}

.hk-counter-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  display: grid;
}

.hk-focus-panel, .hk-blocked-panel, .hk-task-panel, .hk-room-overview, .hk-history-panel, .hk-inactive-state {
  gap: 16px;
  display: grid;
}

.hk-inactive-state {
  justify-items: start;
}

.hk-inactive-state h2, .hk-inactive-state p {
  margin: 0;
}

.hk-inactive-state p {
  color: #475569;
  max-width: 720px;
  line-height: 1.55;
}

.hk-section-heading {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  min-width: 0;
  display: flex;
}

.hk-section-heading > div {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.hk-section-heading span {
  color: #64748b;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-size: .72rem;
  font-weight: 800;
}

.hk-section-heading h2 {
  color: var(--slate-900);
  font-family: var(--font-serif);
  margin: 0;
  font-size: 1.25rem;
}

.hk-date-label {
  text-align: right;
}

.hk-queue-list {
  gap: 12px;
  display: grid;
}

.hk-queue-card {
  border: 1px solid var(--border);
  border-left: 4px solid var(--accent);
  background: #fff;
  border-radius: 14px;
  grid-template-columns: minmax(0, 1fr) minmax(220px, auto);
  align-items: center;
  gap: 14px;
  min-width: 0;
  padding: 15px;
  display: grid;
}

.hk-queue-card.is-urgent {
  border-left-color: #dc2626;
}

.hk-queue-card-main {
  gap: 10px;
  min-width: 0;
  display: grid;
}

.hk-queue-card-heading {
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
  display: flex;
}

.hk-queue-card-heading > div {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.hk-queue-card-heading > div > span, .hk-room-card > div:first-child > span {
  color: #64748b;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: .7rem;
  font-weight: 800;
}

.hk-queue-card-heading h3, .hk-room-card h3 {
  color: var(--slate-900);
  overflow-wrap: anywhere;
  margin: 0;
  font-size: 1.08rem;
}

.hk-priority {
  border-radius: 999px;
  flex: none;
  padding: 6px 9px;
  font-size: .72rem;
  font-weight: 900;
}

.hk-priority.priority-urgent {
  color: #991b1b;
  background: #fee2e2;
}

.hk-priority.priority-high {
  color: #9a3412;
  background: #ffedd5;
}

.hk-priority.priority-medium {
  color: #075985;
  background: #e0f2fe;
}

.hk-priority.priority-low {
  color: #475569;
  background: #f1f5f9;
}

.hk-badge-row {
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
  display: flex;
}

.hk-state-badge {
  background: var(--accent-soft);
  border: 1px solid var(--sage-border);
  color: var(--accent-deep);
  border-radius: 999px;
  min-height: 30px;
  padding: 6px 9px;
  font-size: .72rem;
  font-weight: 800;
  line-height: 1.2;
  display: inline-flex;
}

.hk-state-badge.is-muted {
  background: var(--slate-50);
  border-color: var(--border);
  color: #475569;
}

.hk-state-badge.is-run {
  color: #1d4ed8;
  background: #eff6ff;
  border-color: #bfdbfe;
}

.hk-state-badge.is-warning {
  color: #9a3412;
  background: #fff7ed;
  border-color: #fed7aa;
}

.hk-assignment-label {
  color: #475569;
  margin: 0;
  font-size: .78rem;
  font-weight: 650;
  line-height: 1.45;
}

.hk-queue-actions {
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  min-width: 0;
  display: flex;
}

.hk-queue-actions > .action-button, .hk-queue-actions > form > .action-button {
  width: auto;
}

.hk-queue-actions > .action-button-secondary {
  color: var(--accent);
  background: none;
  border-color: #0000;
  padding-inline: 6px;
  text-decoration: underline;
}

.hk-queue-actions > .action-button-secondary:hover {
  color: var(--accent-deep);
  background: none;
}

.hk-inline-form {
  grid-template-columns: minmax(140px, 1fr) auto;
  gap: 8px;
  min-width: 0;
  margin: 0;
  display: grid;
}

.hk-inline-form select, .hk-drawer-form select, .hk-drawer-form textarea, .hk-checklist-note textarea {
  border: 1px solid var(--border);
  color: var(--slate-900);
  background: #fff;
  border-radius: 10px;
  width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: 9px 10px;
}

.hk-empty-state {
  background: var(--slate-50);
  color: #475569;
  text-align: center;
  border: 1px dashed #cbd5e1;
  border-radius: 12px;
  margin: 0;
  padding: 20px;
  font-weight: 700;
}

.hk-warning-list, .hk-task-list {
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.hk-warning-list li, .hk-task-list li {
  background: var(--slate-50);
  border: 1px solid var(--border);
  border-radius: 10px;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 12px;
  display: flex;
}

.hk-warning-list strong, .hk-task-list strong {
  color: var(--slate-900);
  font-size: .82rem;
}

.hk-warning-list span, .hk-task-list span {
  color: #64748b;
  text-align: right;
  font-size: .78rem;
}

.hk-task-card-copy {
  gap: 4px;
  min-width: 0;
  display: grid;
}

.hk-task-action {
  grid-template-columns: minmax(150px, 1fr) auto;
  align-items: end;
  gap: 6px;
  min-width: min(100%, 330px);
  display: grid;
}

.hk-task-action label {
  color: var(--slate-700);
  grid-column: 1 / -1;
  font-size: .72rem;
  font-weight: 850;
}

.hk-task-action select {
  min-width: 0;
  min-height: 44px;
}

.hk-room-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  display: grid;
}

.hk-room-card {
  border: 1px solid var(--border);
  border-radius: 13px;
  gap: 10px;
  min-width: 0;
  padding: 14px;
  display: grid;
}

.hk-room-card.is-conflict {
  background: #fff7ed;
  border-color: #fed7aa;
}

.hk-room-card p {
  color: #64748b;
  margin: 0;
  font-size: .77rem;
  line-height: 1.4;
}

.hk-room-card .action-button {
  width: 100%;
  margin-top: auto;
}

.hk-history-list {
  gap: 8px;
  display: grid;
}

.hk-history-list a {
  border: 1px solid var(--border);
  border-radius: 11px;
  grid-template-columns: minmax(100px, .7fr) minmax(180px, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-height: 52px;
  padding: 10px 12px;
  display: grid;
}

.hk-history-list a:hover {
  background: var(--slate-50);
}

.hk-history-list span, .hk-history-list small {
  color: #64748b;
  font-size: .76rem;
}

.hk-history-list strong {
  color: var(--slate-900);
  font-size: .8rem;
}

.hk-run-details {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  display: grid;
}

.hk-run-details div {
  background: var(--slate-50);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 11px;
}

.hk-run-details dt {
  color: #64748b;
  text-transform: uppercase;
  font-size: .7rem;
  font-weight: 800;
}

.hk-run-details dd {
  color: var(--slate-900);
  overflow-wrap: anywhere;
  margin: 4px 0 0;
  font-size: .82rem;
  font-weight: 750;
}

.hk-drawer-actions {
  gap: 10px;
  display: grid;
}

.hk-drawer-actions form {
  margin: 0;
}

.hk-drawer-actions > form > .action-button {
  width: 100%;
}

.hk-drawer-form {
  border: 1px solid var(--border);
  border-radius: 11px;
  gap: 10px;
  padding: 12px;
  display: grid;
}

.hk-drawer-form label {
  color: #475569;
  gap: 6px;
  font-size: .77rem;
  font-weight: 800;
  display: grid;
}

.hk-confirm-row {
  line-height: 1.4;
  align-items: flex-start !important;
  gap: 8px !important;
  display: flex !important;
}

.hk-confirm-row input {
  width: 20px;
  height: 20px;
  margin: 0;
}

.hk-override-details {
  border: 1px solid var(--border);
  border-radius: 11px;
}

.hk-override-details summary {
  color: var(--slate-900);
  cursor: pointer;
  min-height: 44px;
  padding: 13px;
  font-size: .8rem;
  font-weight: 850;
}

.hk-override-details[open] summary {
  border-bottom: 1px solid var(--border);
}

.hk-override-details .hk-drawer-form {
  border: 0;
}

.hk-checklist-form {
  gap: 10px;
  display: grid;
}

.hk-checklist-progress {
  background: var(--slate-50);
  border: 1px solid var(--border);
  border-radius: 12px;
  gap: 3px;
  min-width: 0;
  padding: 11px 12px;
  display: grid;
}

.hk-checklist-progress > span {
  color: #64748b;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: .68rem;
  font-weight: 850;
}

.hk-checklist-progress > strong {
  color: var(--slate-900);
  font-size: .94rem;
}

.hk-checklist-progress > small {
  color: #64748b;
  font-size: .72rem;
  line-height: 1.4;
}

.hk-checklist-guidance {
  color: #1e40af;
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  border-radius: 10px;
  margin: 0;
  padding: 10px 11px;
  font-size: .76rem;
  line-height: 1.45;
}

.hk-checklist-category {
  border: 0;
  gap: 6px;
  margin: 0;
  padding: 0;
  display: grid;
}

.hk-checklist-category > legend {
  color: var(--slate-900);
  font-family: var(--font-serif);
  padding: 4px 0 2px;
  font-size: 1rem;
  font-weight: 700;
}

.hk-checklist-item {
  border: 1px solid var(--border);
  border-radius: 10px;
  display: grid;
}

.hk-checklist-item.is-exception {
  background: #fffaf5;
  border-color: #fdba74;
}

.hk-checklist-row {
  cursor: pointer;
  grid-template-columns: 22px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 8px 10px;
  display: grid;
}

.hk-checklist-row:hover {
  background: var(--slate-50);
}

.hk-checklist-item.is-exception .hk-checklist-row:hover {
  background: #fff7ed;
}

.hk-checklist-row input[type="checkbox"] {
  accent-color: var(--accent);
  cursor: pointer;
  width: 22px;
  height: 22px;
  margin: 0;
}

.hk-checklist-row input[type="checkbox"]:focus-visible {
  outline-offset: 2px;
  outline: 3px solid #2e6b5a4d;
}

.hk-checklist-row input[type="checkbox"]:disabled {
  cursor: not-allowed;
}

.hk-checklist-row:has(input:disabled) {
  cursor: not-allowed;
}

.hk-checklist-row strong {
  color: var(--slate-900);
  min-width: 0;
  font-size: .82rem;
  line-height: 1.3;
}

.hk-checklist-item-status {
  color: #9a3412;
  background: #fff7ed;
  border: 1px solid #fb923c;
  border-radius: 999px;
  flex: none;
  padding: 4px 7px;
  font-size: .64rem;
  font-weight: 850;
}

.hk-checklist-note {
  color: #475569;
  gap: 6px;
  padding: 0 10px 10px 42px;
  font-size: .75rem;
  font-weight: 800;
  display: grid;
}

.hk-checklist-note textarea {
  resize: vertical;
  min-height: 72px;
}

.hk-checklist-note small {
  color: var(--status-danger-fg);
  font-size: .7rem;
  line-height: 1.35;
}

.hk-checklist-completion {
  border-top: 1px solid var(--border);
  z-index: 2;
  background: #fff;
  gap: 7px;
  margin-top: 2px;
  padding-top: 9px;
  display: grid;
  position: sticky;
  bottom: 0;
}

.hk-checklist-completion > p {
  color: #475569;
  text-align: center;
  margin: 0;
  font-size: .72rem;
  line-height: 1.4;
}

.hk-checklist-submit {
  width: 100%;
  min-height: 54px;
}

.hk-checklist-readonly {
  gap: 14px;
  display: grid;
}

.hk-checklist-readonly > h3, .hk-checklist-readonly h4 {
  color: var(--slate-900);
  margin: 0;
}

.hk-checklist-readonly > h3 {
  font-size: 1rem;
}

.hk-checklist-readonly h4 {
  font-size: .86rem;
}

.hk-checklist-readonly > div {
  gap: 8px;
  display: grid;
}

.hk-checklist-readonly ul {
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.hk-checklist-readonly li {
  border: 1px solid var(--border);
  border-radius: 9px;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 9px 10px;
  display: grid;
}

.hk-checklist-readonly li small {
  color: #7c2d12;
  overflow-wrap: anywhere;
  grid-column: 1 / -1;
  line-height: 1.4;
}

@media (max-width: 1120px) {
  .hk-counter-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .hk-room-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .hk-shell .module-sidebar {
    padding-bottom: 8px;
  }

  .hk-shell .module-sidebar-groups {
    flex-wrap: nowrap;
    padding-top: 8px;
    overflow-x: auto;
  }

  .hk-shell .module-nav-group {
    flex-direction: row;
    min-width: max-content;
  }

  .hk-shell .module-nav-group-label {
    display: none;
  }

  .hk-shell .module-main {
    padding: 16px 14px 22px;
  }

  .hk-counter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hk-counter-grid .counter-card:last-child {
    grid-column: 1 / -1;
  }

  .hk-section-heading {
    flex-direction: column;
    align-items: stretch;
  }

  .hk-section-heading .action-button {
    width: 100%;
  }

  .hk-date-label {
    text-align: left;
  }

  .hk-queue-card {
    grid-template-columns: 1fr;
    align-items: stretch;
    padding: 13px;
  }

  .hk-inline-form, .hk-room-grid {
    grid-template-columns: 1fr;
  }

  .hk-history-list a {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .hk-history-list small {
    text-align: left;
  }

  .hk-warning-list li, .hk-task-list li {
    flex-direction: column;
    align-items: flex-start;
  }

  .hk-warning-list span, .hk-task-list span {
    text-align: left;
  }

  .hk-task-action {
    grid-template-columns: 1fr;
    width: 100%;
  }

  .hk-run-details {
    grid-template-columns: 1fr;
  }

  .hk-checklist-note {
    padding-left: 10px;
  }
}

.hb2-boundary .module-title, .hb2-boundary .reception-detail-heading h2, .hb2-boundary .hk-section-heading h2 {
  font-family: var(--font-sans);
  letter-spacing: -.02em;
  font-weight: 750;
}

.ui-badge-muted {
  color: #475569;
  background: #f1f5f9;
  text-decoration: none;
}

.reception-room-card {
  min-height: 0;
}

.reception-room-card-head strong {
  letter-spacing: -.02em;
  font-size: 1.55rem;
}

.reception-room-card-head > div > span {
  opacity: .75;
  font-size: .66rem;
}

.reception-room-card > p {
  margin: 0;
  font-size: .8rem;
}

.reception-room-operational-summary {
  font-size: .8rem;
}

.filter-chip {
  min-height: 40px;
  padding-block: 6px;
  font-size: .8rem;
}

.filter-chip-active {
  background: var(--slate-900, #0f172a);
  border-color: var(--slate-900, #0f172a);
}

.hb2-boundary .hb2-panel > .hb2-status-summary > .hb2-card {
  box-shadow: none;
  background: var(--hb2-surface-soft, #f8fafc);
}

.reception-rooms-mode-switch {
  grid-template-columns: repeat(2, minmax(120px, max-content));
  justify-self: start;
  width: max-content;
}

.reception-rooms-mode {
  min-height: 40px;
  font-size: .82rem;
  font-weight: 700;
}

.reception-room-card {
  align-content: start;
}

.module-escalate-button {
  border-color: var(--border);
  color: var(--slate-700, #334155);
  background: #fff;
  font-weight: 650;
}

.module-escalate-button:hover {
  border-color: var(--danger);
  color: var(--danger);
}

.form-grid > .action-button {
  grid-column: 1 / -1;
  justify-self: start;
  min-width: 180px;
}

.hk-task-card .action-button {
  justify-self: start;
  width: auto;
}

.guest-quick-card {
  gap: 12px;
  min-height: 148px;
  padding: 16px;
}

.guest-quick-icon-block {
  border-radius: 12px;
  width: 46px;
  height: 46px;
}

.guest-quick-icon {
  width: 22px;
  height: 22px;
}

.guest-quick-card small {
  font-size: .86rem;
}

.guest-stay-pill {
  text-overflow: clip;
  white-space: normal;
  max-width: none;
  line-height: 1.3;
  overflow: visible;
}

.guest-shell .guest-bottom-nav {
  padding-inline: 2px;
}

.guest-shell .guest-bottom-nav button {
  letter-spacing: -.01em;
  padding-inline: 1px;
  font-size: .75rem;
  font-weight: 650;
}

.guest-shell .guest-bottom-nav button > span {
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
  overflow: hidden;
}

.guest-shell.has-demo-bar {
  min-height: calc(100vh - 56px);
}

.guest-shell.has-demo-bar .guest-phone {
  min-height: min(760px, 100vh - 96px);
}

@media (max-width: 700px) {
  .guest-shell.has-demo-bar {
    min-height: calc(100vh - 48px);
  }

  .guest-shell.has-demo-bar .guest-phone {
    min-height: min(760px, 100vh - 68px);
  }
}

@media (max-width: 520px) {
  .guest-shell {
    padding: 0;
  }

  .guest-shell .guest-phone {
    width: 100%;
    max-width: 100%;
    box-shadow: none;
    border: 0;
    border-radius: 0;
  }

  .guest-bottom-nav {
    z-index: 20;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    box-shadow: 0 -6px 20px #0f1b3d14;
  }

  .guest-phone-body {
    padding-bottom: 96px;
  }
}

.reception-inbox-table-head, .reception-inbox-row {
  grid-template-columns: 28px minmax(170px, 1.4fr) minmax(92px, .7fr) minmax(112px, .8fr) minmax(112px, auto) minmax(148px, auto);
}

.reception-task-table-head, .reception-task-row {
  grid-template-columns: minmax(180px, 1.5fr) minmax(104px, .8fr) minmax(116px, .9fr) minmax(92px, auto) minmax(96px, auto) minmax(140px, auto);
}

.reception-inbox-row, .reception-task-row {
  font-size: .9375rem;
}

.reception-inbox-row small, .reception-task-row small {
  font-size: .8125rem;
}

.reception-inbox-row form, .reception-task-row form {
  margin: 0;
}

.reception-inbox-request a:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 2px;
  border-radius: 6px;
}

@media (max-width: 760px) {
  .reception-inbox-row {
    grid-template-columns: 28px minmax(0, 1fr) auto;
  }

  .reception-task-row {
    grid-template-columns: minmax(0, 1fr) auto;
  }
}

.form-grid label.checkbox-row {
  min-height: var(--touch-target);
  flex-direction: row;
  align-items: center;
  gap: 10px;
  display: flex;
}

.form-grid label.checkbox-row input[type="checkbox"] {
  flex: none;
  width: 22px;
  height: 22px;
  min-height: 0;
}

.panel-footnote {
  color: #64748b;
  margin: 10px 0 0;
  font-size: .8125rem;
  line-height: 1.5;
}

.hb2-boundary .module-main h2, .hb2-boundary .detail-panel h2, .hb2-boundary .staff-panel h2, .hb2-boundary .section-heading h2 {
  letter-spacing: -.01em;
  font-size: 1.15rem;
}

.hb2-boundary .module-main h3, .hb2-boundary .staff-panel h3 {
  font-size: 1rem;
}

.module-title {
  font-family: var(--font-sans);
  font-size: 1.6rem;
  font-weight: 750;
}

.module-subtitle {
  font-size: .8125rem;
}

.staff-hero h1, .ops-hero h1 {
  font-family: var(--font-sans);
  letter-spacing: -.02em;
  font-size: clamp(1.6rem, 2.6vw, 2rem);
  font-weight: 750;
}

.ops-badge {
  padding: 6px 10px;
  font-size: .75rem;
}

.ops-lane-count {
  font-size: .75rem;
}

.filter-chip {
  min-height: 44px;
  font-size: .8125rem;
}

.module-escalate-button {
  font-size: .8125rem;
}

.action-button-compact {
  min-height: 44px;
  font-size: .8125rem;
}

.hk-queue-card-heading > div > span, .hk-room-card > div:first-child > span, .hk-run-details dt {
  font-size: .75rem;
}

.hk-checklist-readonly li span, .hk-checklist-readonly li strong {
  font-size: .8125rem;
}

.hk-state-badge {
  min-height: 32px;
  font-size: .8125rem;
}

.hk-state-badge.is-context {
  border-color: var(--border);
  background: var(--slate-50);
  color: #475569;
}

.hk-clean-dirty, .hk-clean-requested {
  color: #9a3412;
  background: #fff7ed;
  border-color: #fed7aa;
}

.hk-clean-in_progress {
  color: #1d4ed8;
  background: #eff6ff;
  border-color: #bfdbfe;
}

.hk-clean-clean, .hk-clean-inspected {
  color: #15803d;
  background: #f0fdf5;
  border-color: #a7e0bd;
}

.hb2-panel .hb2-card, .detail-panel .card, .staff-panel .card {
  box-shadow: none;
  background: none;
}

.hb2-panel .hb2-card {
  padding: 14px 16px;
}

/* [project]/apps/web/src/features/hotool-blueprint-v2/styles/tokens.css [app-client] (css) */
.hb2-boundary {
  --hb2-ink: #0b1736;
  --hb2-ink-soft: #263657;
  --hb2-muted: #5f6f8e;
  --hb2-line: #e5eaf3;
  --hb2-surface: #fff;
  --hb2-surface-soft: #f7f9fc;
  --hb2-surface-muted: #eef6f7;
  --hb2-brand: #0b7f8b;
  --hb2-brand-strong: #006f7d;
  --hb2-brand-soft: #e9f6f7;
  --hb2-blue: #1677ff;
  --hb2-blue-soft: #edf5ff;
  --hb2-green: #117a34;
  --hb2-green-soft: #eefbf2;
  --hb2-orange: #f59e0b;
  --hb2-orange-soft: #fff7e8;
  --hb2-red: #ef4444;
  --hb2-red-soft: #fff0f0;
  --hb2-purple: #7c3aed;
  --hb2-purple-soft: #f4efff;
  --hb2-gray-soft: #f1f4f8;
  --hb2-radius-large: 18px;
  --hb2-radius-medium: 14px;
  --hb2-radius-small: 10px;
  --hb2-shadow: 0 16px 45px #14264612;
  --hb2-shadow-soft: 0 8px 24px #1426460d;
  --hb2-sidebar-width: 238px;
  --hb2-chrome-top: 0px;
  --hb2-tap: 48px;
  min-height: 100vh;
  color: var(--hb2-ink);
  --lightningcss-light: initial;
  --lightningcss-dark: ;
  color-scheme: light;
  background: #f8fafc;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  line-height: 1.45;
  overflow-x: clip;
}

.hb2-boundary *, .hb2-boundary :before, .hb2-boundary :after {
  box-sizing: border-box;
}

.hb2-boundary h1, .hb2-boundary h2, .hb2-boundary h3, .hb2-boundary p {
  margin-top: 0;
}

.hb2-boundary h1 {
  letter-spacing: -.04em;
  font-size: clamp(2rem, 3vw, 3.5rem);
  line-height: 1.05;
}

.hb2-boundary h2 {
  letter-spacing: -.025em;
  font-size: clamp(1.35rem, 2vw, 2rem);
}

.hb2-boundary h3 {
  font-size: 1.05rem;
}

.hb2-boundary p {
  color: var(--hb2-muted);
}

.hb2-boundary .dashboard-module-card h2, .hb2-boundary .module-sidebar-workspace, .hb2-boundary .module-title, .hb2-boundary .detail-drawer-title, .hb2-boundary .reception-modal-head h2, .hb2-boundary .escalation-banner h2, .hb2-boundary .handover-column > header h2, .hb2-boundary .hk-section-heading h2, .hb2-boundary .hk-checklist-category > legend {
  font-family: inherit;
}

.hb2-boundary a {
  color: inherit;
  text-decoration: none;
}

.hb2-boundary button, .hb2-boundary input, .hb2-boundary select, .hb2-boundary textarea {
  font: inherit;
}

.hb2-boundary button, .hb2-boundary a {
  touch-action: manipulation;
}

.hb2-boundary :focus-visible, .hb2-scenario-nav a:focus-visible {
  outline-offset: 2px;
  outline: 2px solid #fff;
  box-shadow: 0 0 0 5px #082348;
}

.hb2-visually-hidden {
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
}

.hb2-skip-link {
  z-index: 200;
  box-shadow: var(--hb2-shadow);
  background: #fff;
  border-radius: 10px;
  padding: 12px 16px;
  position: fixed;
  top: 8px;
  left: 8px;
  transform: translateY(-150%);
}

.hb2-skip-link:focus {
  transform: none;
}

[data-hotool-ui-lab="true"] .hb2-boundary {
  --hb2-chrome-top: 38px;
}

.hb2-lab-banner {
  z-index: 100;
  color: #fff;
  text-align: center;
  background: #0b1736;
  padding: 9px 16px;
  font-size: .875rem;
  font-weight: 750;
  position: sticky;
  inset-block-start: 0;
}

.hb2-card {
  border: 1px solid var(--hb2-line);
  border-radius: var(--hb2-radius-large);
  background: var(--hb2-surface);
  box-shadow: var(--hb2-shadow-soft);
}

.hb2-panel {
  padding: 22px;
}

.hb2-button, .hb2-icon-button {
  min-width: 44px;
  min-height: 44px;
  color: var(--hb2-ink);
  cursor: pointer;
  background: #fff;
  border: 1px solid #0000;
  font-weight: 760;
  transition: all .16s;
}

.hb2-button {
  min-height: var(--hb2-tap);
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding: 0 20px;
  display: inline-flex;
}

.hb2-button:hover {
  box-shadow: var(--hb2-shadow-soft);
  transform: translateY(-1px);
}

.hb2-button-primary, .hb2-boundary .hb2-button-primary {
  color: #fff;
  background: linear-gradient(135deg, #0b65e8, #0754dd);
  border-color: #0754dd;
}

.hb2-exception .hb2-button-primary {
  border-color: var(--hb2-tone);
  background: var(--hb2-surface);
  color: var(--hb2-tone);
}

.hb2-exception .hb2-button-primary:hover {
  background: var(--hb2-tone-soft);
}

.hb2-boundary .btn:not(.btn-secondary), .hb2-boundary .action-button-primary, .hb2-boundary .dashboard-signout button {
  border-color: var(--hb2-blue);
  background: linear-gradient(135deg, var(--hb2-blue), #0754dd);
  color: #fff;
}

.hb2-icon-button {
  border-color: var(--hb2-line);
  width: 44px;
  height: 44px;
  color: var(--hb2-ink-soft);
  border-radius: 50%;
  place-items: center;
  padding: 0;
  display: grid;
}

.hb2-eyebrow {
  color: var(--hb2-brand-strong);
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 7px;
  font-size: .78rem;
  font-weight: 850;
}

.hb2-page-header {
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  margin-bottom: 24px;
  display: flex;
}

.hb2-page-header h1 {
  letter-spacing: -.04em;
  margin-bottom: 7px;
  font-size: clamp(2rem, 4vw, 3.25rem);
  line-height: 1.04;
}

.hb2-page-header p {
  color: var(--hb2-muted);
  margin-bottom: 0;
}

.hb2-status {
  white-space: nowrap;
  border-radius: 999px;
  align-items: center;
  gap: 6px;
  width: fit-content;
  padding: 6px 10px;
  font-size: .78rem;
  font-weight: 760;
  display: inline-flex;
}

.hb2-status-info {
  background: var(--hb2-blue-soft);
  color: #1559c8;
}

.hb2-status-success {
  background: var(--hb2-green-soft);
  color: var(--hb2-green);
}

.hb2-status-warning {
  background: var(--hb2-orange-soft);
  color: #9a5200;
}

.hb2-status-danger {
  background: var(--hb2-red-soft);
  color: #c62828;
}

.hb2-status-neutral {
  background: var(--hb2-gray-soft);
  color: #596781;
}

.hb2-state {
  border-radius: var(--hb2-radius-large);
  background: #fff;
  border: 1px dashed #cbd5e2;
  align-items: flex-start;
  gap: 16px;
  padding: 24px;
  display: flex;
}

.hb2-state h2 {
  margin-bottom: 4px;
  font-size: 1.1rem;
}

.hb2-state p {
  color: var(--hb2-muted);
  margin-bottom: 0;
}

.hb2-exception {
  --hb2-tone: var(--hb2-muted);
  --hb2-tone-soft: var(--hb2-gray-soft);
  border-left: 4px solid var(--hb2-tone);
  flex-direction: column;
  gap: 8px;
  padding: 17px 18px 18px;
  display: flex;
}

.hb2-exception-danger {
  --hb2-tone: #c62828;
  --hb2-tone-soft: var(--hb2-red-soft);
}

.hb2-exception-warning {
  --hb2-tone: #9a5200;
  --hb2-tone-soft: var(--hb2-orange-soft);
}

.hb2-exception-info {
  --hb2-tone: #1559c8;
  --hb2-tone-soft: var(--hb2-blue-soft);
}

.hb2-exception h3 {
  overflow-wrap: anywhere;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  margin-bottom: 0;
  font-size: 1.02rem;
  line-height: 1.34;
  display: -webkit-box;
  overflow: hidden;
}

.hb2-exception p {
  color: var(--hb2-muted);
  overflow-wrap: anywhere;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  margin-bottom: 0;
  font-size: .9rem;
  line-height: 1.45;
  display: -webkit-box;
  overflow: hidden;
}

.hb2-exception .hb2-button {
  align-self: flex-start;
  margin-top: auto;
}

.hb2-next-action {
  grid-template-columns: minmax(0, 1.2fr) minmax(220px, .7fr) auto;
  align-items: center;
  gap: 26px;
  padding: 28px;
  display: grid;
}

.hb2-next-action dl {
  gap: 8px;
  margin: 0;
  display: grid;
}

.hb2-next-action dl div {
  grid-template-columns: 1fr;
  display: grid;
}

.hb2-next-action dt {
  color: var(--hb2-muted);
  font-size: .75rem;
}

.hb2-next-action dd {
  margin: 0;
  font-weight: 760;
}

.hb2-queue, .hb2-decision-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.hb2-queue li, .hb2-decision-list li {
  border-top: 1px solid var(--hb2-line);
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 16px;
  min-height: 72px;
  padding: 14px 0;
  display: grid;
}

.hb2-queue li > div, .hb2-decision-list li > div {
  overflow-wrap: anywhere;
  min-width: 0;
}

.hb2-queue a, .hb2-decision-list a, .hb2-entity-list a, .hb2-table a {
  align-items: center;
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
}

.hb2-queue p, .hb2-decision-list p {
  color: var(--hb2-muted);
  margin: 3px 0 0;
}

.hb2-status-summary {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  display: grid;
}

.hb2-status-summary article, .hb2-status-summary > .hb2-card {
  gap: 8px;
  min-width: 0;
  padding: 18px;
  display: grid;
}

.hb2-status-summary article > strong, .hb2-status-summary > .hb2-card > strong {
  font-size: 1.9rem;
}

.hb2-protected, .hb2-disclosure {
  border-radius: var(--hb2-radius-medium);
  background: var(--hb2-blue-soft);
  color: #174d8f;
  border: 1px solid #cddff7;
  align-items: flex-start;
  gap: 12px;
  padding: 16px;
  display: flex;
}

.hb2-protected div {
  gap: 2px;
  display: grid;
}

.hb2-protected small {
  color: #3c608c;
}

.hb2-disclosure p {
  color: inherit;
  margin: 0;
}

.hb2-resource-summary {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  display: grid;
}

.hb2-resource-summary div {
  border: 1px solid var(--hb2-line);
  border-radius: var(--hb2-radius-medium);
  background: #fff;
  gap: 3px;
  padding: 18px;
  display: grid;
}

.hb2-resource-summary div, .hb2-resource-summary span, .hb2-resource-summary strong {
  overflow-wrap: anywhere;
  min-width: 0;
}

.hb2-resource-summary strong {
  font-size: clamp(1.45rem, 2.4vw, 2rem);
}

.hb2-resource-summary p {
  color: var(--hb2-muted);
  grid-column: 1 / -1;
  margin: 0;
}

.hb2-resource-group {
  display: grid;
}

.hb2-resource-row {
  border-top: 1px solid var(--hb2-line);
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 16px;
  min-height: 76px;
  padding: 14px 0;
  display: grid;
}

.hb2-resource-row p, .hb2-resource-row small {
  color: var(--hb2-muted);
  margin: 2px 0 0;
  display: block;
}

.hb2-table-wrap {
  border: 1px solid var(--hb2-line);
  border-radius: var(--hb2-radius-medium);
  background: #fff;
  max-width: 100%;
  overflow: auto;
}

.hb2-table {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
  min-width: 680px;
}

.hb2-table caption {
  text-align: left;
  padding: 16px;
  font-weight: 800;
}

.hb2-table th, .hb2-table td {
  border-top: 1px solid var(--hb2-line);
  text-align: left;
  vertical-align: middle;
  padding: 15px 12px;
}

.hb2-table th {
  color: var(--hb2-muted);
  letter-spacing: .05em;
  text-transform: uppercase;
  padding-block: 12px;
  font-size: .78rem;
}

.hb2-table tbody tr:hover td {
  background: #fbfdff;
}

.hb2-definition-list {
  margin: 0;
  display: grid;
}

.hb2-definition-list div {
  border-top: 1px solid var(--hb2-line);
  grid-template-columns: minmax(130px, .4fr) 1fr;
  gap: 18px;
  padding: 14px 0;
  display: grid;
}

.hb2-definition-list dt {
  color: var(--hb2-muted);
}

.hb2-definition-list dd {
  margin: 0;
  font-weight: 720;
}

.hb2-timeline {
  border-left: 2px solid var(--hb2-line);
  gap: 18px;
  margin: 0;
  padding: 0 0 0 28px;
  list-style: none;
  display: grid;
}

.hb2-timeline li {
  gap: 3px;
  display: grid;
  position: relative;
}

.hb2-timeline li:before {
  background: var(--hb2-brand);
  content: "";
  border-radius: 50%;
  width: 12px;
  height: 12px;
  position: absolute;
  top: 8px;
  left: -35px;
}

.hb2-timeline time, .hb2-timeline p {
  color: var(--hb2-muted);
}

.hb2-timeline p {
  margin: 0;
}

.hb2-step-progress {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.hb2-step-progress li {
  overflow-wrap: anywhere;
  border: 1px solid var(--hb2-line);
  min-width: 0;
  min-height: 48px;
  color: var(--hb2-muted);
  border-radius: 12px;
  align-items: center;
  gap: 8px;
  padding: 9px 12px;
  display: flex;
}

.hb2-step-progress li span {
  background: #edf1f5;
  border-radius: 50%;
  place-items: center;
  width: 26px;
  height: 26px;
  display: grid;
}

.hb2-step-progress li[aria-current="step"] {
  border-color: var(--hb2-blue);
  background: var(--hb2-blue-soft);
  color: #1557a9;
  font-weight: 800;
}

.hb2-step-progress li.is-complete {
  color: var(--hb2-green);
}

.hb2-public-shell > header {
  border-bottom: 1px solid var(--hb2-line);
  background: #fff;
  align-items: center;
  gap: 22px;
  min-height: 76px;
  padding: 0 clamp(18px, 4vw, 64px);
  display: flex;
}

.hb2-public-shell > header > a, .hb2-sidebar > a, .hb2-auth-shell > aside > a, .hb2-guest-phone > header > a {
  min-width: 44px;
  min-height: 44px;
  padding: 9px;
}

.hb2-public-nav {
  justify-content: center;
  align-items: center;
  gap: 24px;
  margin-inline: auto;
  display: flex;
}

.hb2-public-nav a {
  min-height: 44px;
  color: var(--hb2-ink-soft);
  align-items: center;
  font-weight: 700;
  display: inline-flex;
}

.hb2-public-shell > header > .hb2-public-cta {
  flex: none;
  padding-inline: 18px;
}

.hb2-public-shell main {
  max-width: 1280px;
  margin: auto;
  padding: 48px clamp(18px, 4vw, 64px);
}

.hb2-auth-shell {
  min-width: 0;
  min-height: calc(100vh - var(--hb2-chrome-top));
  background: #fff;
  grid-template-columns: minmax(300px, .8fr) 1.2fr;
  display: grid;
}

.hb2-auth-shell > aside {
  background: linear-gradient(145deg, #082348, var(--hb2-brand));
  color: #fff;
  flex-direction: column;
  justify-content: space-between;
  padding: 48px;
  display: flex;
}

.hb2-auth-shell > aside p {
  color: #fff;
}

.hb2-auth-shell > main {
  place-items: center;
  min-width: 0;
  padding: 30px;
  display: grid;
}

.hb2-auth-shell > main > section {
  width: min(470px, 100%);
  min-width: 0;
}

.hb2-auth-shell > main p {
  overflow-wrap: anywhere;
}

.hb2-app-shell {
  grid-template-columns: var(--hb2-sidebar-width) minmax(0, 1fr);
  min-height: calc(100vh - var(--hb2-chrome-top));
  background: #fbfcfe;
  display: grid;
}

.hb2-sidebar {
  top: var(--hb2-chrome-top);
  z-index: 25;
  height: calc(100vh - var(--hb2-chrome-top));
  border-right: 1px solid var(--hb2-line);
  background: #fff;
  flex-direction: column;
  gap: 28px;
  padding: 22px 14px;
  display: flex;
  position: sticky;
}

.hb2-role-navigation {
  gap: 6px;
  display: grid;
}

.hb2-role-navigation a {
  color: #3d4d69;
  border-radius: 13px;
  align-items: center;
  gap: 12px;
  min-height: 50px;
  padding: 0 14px;
  font-weight: 680;
  display: flex;
}

.hb2-role-navigation a:hover {
  background: var(--hb2-surface-soft);
}

.hb2-role-navigation a[aria-current="page"] {
  background: var(--hb2-brand-soft);
  color: var(--hb2-brand-strong);
  box-shadow: inset 3px 0 var(--hb2-brand);
}

.hb2-role-navigation details > summary {
  color: #3d4d69;
  cursor: pointer;
  border-radius: 13px;
  align-items: center;
  min-height: 50px;
  padding: 0 14px;
  font-weight: 680;
  display: flex;
}

.hb2-role-navigation details > summary:hover {
  background: var(--hb2-surface-soft);
}

.hb2-app-main {
  min-width: 0;
}

.hb2-topbar {
  top: var(--hb2-chrome-top);
  z-index: 20;
  border-bottom: 1px solid var(--hb2-line);
  background: #fff;
  justify-content: space-between;
  align-items: center;
  height: 82px;
  padding: 0 clamp(20px, 3vw, 46px);
  display: flex;
  position: sticky;
}

.hb2-topbar > strong {
  overflow-wrap: anywhere;
  min-width: 0;
}

.hb2-topbar-identity {
  align-items: center;
  gap: 12px;
  min-width: 0;
  display: flex;
}

.hb2-topbar-identity > span {
  background: var(--hb2-blue-soft);
  width: 42px;
  height: 42px;
  color: var(--hb2-blue);
  border-radius: 12px;
  flex: none;
  place-items: center;
  display: grid;
}

.hb2-topbar-identity > strong {
  overflow-wrap: anywhere;
  min-width: 0;
}

.hb2-topbar span {
  color: var(--hb2-muted);
}

.hb2-topbar > span {
  overflow-wrap: anywhere;
  text-align: end;
  min-width: 0;
}

.hb2-app-main > main {
  max-width: 1480px;
  margin: auto;
  padding: 34px clamp(20px, 3vw, 46px) 70px;
}

.hb2-mobile-top, .hb2-bottom-nav {
  display: none;
}

.hb2-guest-shell {
  min-height: calc(100vh - var(--hb2-chrome-top));
  background: linear-gradient(#f7f2e8, #fff);
  padding: 20px;
}

.hb2-guest-phone {
  width: min(430px, 100%);
  min-height: calc(100vh - 78px);
  box-shadow: var(--hb2-shadow);
  background: #fff;
  border: 1px solid #e5dac9;
  border-radius: 28px;
  margin: auto;
  overflow: hidden;
}

.hb2-guest-phone > header {
  border-bottom: 1px solid #e5dac9;
  justify-content: space-between;
  align-items: center;
  min-height: 72px;
  padding: 0 20px;
  display: flex;
}

.hb2-guest-phone > main {
  padding: 20px;
}

.hb2-resource-sheet {
  background: none;
  border: 0;
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
  margin: 0;
  padding: 0;
}

.hb2-resource-sheet::backdrop {
  background: #08132a6b;
}

.hb2-resource-sheet[open] {
  justify-content: center;
  align-items: flex-end;
  display: flex;
}

.hb2-resource-sheet-panel {
  background: #fff;
  border-radius: 28px 28px 0 0;
  width: min(760px, 100%);
  max-height: 92vh;
  padding: 20px 24px 34px;
  overflow: auto;
  box-shadow: 0 -30px 80px #0003;
}

.hb2-resource-sheet-panel > header {
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  display: flex;
}

.hb2-sheet-handle {
  background: #cfd6e1;
  border-radius: 99px;
  width: 64px;
  height: 5px;
  margin: 0 auto 18px;
}

.hb2-state-options {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
  display: grid;
}

.hb2-state-option {
  border: 1px solid var(--hb2-line);
  text-align: center;
  cursor: pointer;
  background: #fff;
  border-radius: 16px;
  place-items: center;
  gap: 8px;
  min-height: 150px;
  padding: 18px;
  display: grid;
}

.hb2-state-option span {
  color: var(--hb2-muted);
  font-size: .875rem;
}

.hb2-state-option-available[aria-checked="true"] {
  background: var(--hb2-green-soft);
  color: var(--hb2-green);
  border-color: #8fd2a5;
}

.hb2-state-option-maintenance[aria-checked="true"] {
  background: var(--hb2-orange-soft);
  color: var(--hb2-orange);
  border-color: #efbd85;
}

.hb2-state-option-unavailable[aria-checked="true"] {
  background: var(--hb2-red-soft);
  color: var(--hb2-red);
  border-color: #e9aeb2;
}

@media (max-width: 900px) {
  .hb2-public-nav {
    gap: 8px;
    margin-left: auto;
    margin-right: 0;
    display: flex;
  }

  .hb2-public-nav a {
    padding-inline: 7px;
  }

  .hb2-public-nav a:nth-child(-n+2), .hb2-public-cta, .hb2-public-shell > header > strong, .hb2-public-shell > header > span {
    display: none;
  }

  .hb2-app-shell, .hb2-auth-shell {
    grid-template-columns: 1fr;
  }

  .hb2-auth-shell > aside, .hb2-sidebar, .hb2-topbar {
    display: none;
  }

  .hb2-mobile-top {
    top: var(--hb2-chrome-top);
    z-index: 30;
    border-bottom: 1px solid var(--hb2-line);
    background: #fff;
    justify-content: space-between;
    align-items: center;
    min-height: 62px;
    padding: 0 18px;
    display: flex;
    position: sticky;
  }

  .hb2-mobile-top > a {
    flex: none;
    align-items: center;
    min-width: 44px;
    min-height: 44px;
    padding: 6px 0;
    display: inline-flex;
  }

  .hb2-mobile-top > strong {
    min-width: 0;
    max-width: 56%;
    color: var(--hb2-ink-soft);
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: .8125rem;
    overflow: hidden;
  }

  .hb2-bottom-nav {
    z-index: 40;
    border-top: 1px solid var(--hb2-line);
    background: #fff;
    grid-auto-columns: minmax(0, 1fr);
    grid-auto-flow: column;
    padding: 7px 6px 9px;
    display: grid;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
  }

  .hb2-bottom-nav a {
    min-width: 0;
    min-height: 48px;
    color: var(--hb2-muted);
    text-align: center;
    align-content: center;
    place-items: center;
    gap: 3px;
    padding: 3px;
    font-size: .8125rem;
    display: grid;
  }

  .hb2-bottom-nav a > span {
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
    overflow: hidden;
  }

  .hb2-bottom-nav a[aria-current="page"] {
    color: var(--hb2-brand);
  }

  .hb2-bottom-more {
    min-width: 0;
    position: relative;
  }

  .hb2-bottom-more > summary {
    min-height: 48px;
    color: var(--hb2-muted);
    text-align: center;
    cursor: pointer;
    align-content: center;
    place-items: center;
    gap: 3px;
    font-size: .8125rem;
    list-style: none;
    display: grid;
  }

  .hb2-bottom-more > summary::-webkit-details-marker {
    display: none;
  }

  .hb2-bottom-more > div {
    border: 1px solid var(--hb2-line);
    width: min(280px, 100vw - 24px);
    max-height: min(420px, 100vh - 120px);
    box-shadow: var(--hb2-shadow);
    background: #fff;
    border-radius: 16px;
    padding: 8px;
    display: grid;
    position: absolute;
    bottom: calc(100% + 12px);
    right: 0;
    overflow: auto;
  }

  .hb2-bottom-more > div a {
    text-align: left;
    border-radius: 10px;
    justify-content: flex-start;
    gap: 12px;
    min-height: 48px;
    padding: 8px 12px;
    font-size: .82rem;
    display: flex;
  }

  .hb2-next-action {
    grid-template-columns: 1fr 1fr;
  }

  .hb2-next-action .hb2-button {
    grid-column: 1 / -1;
  }

  .hb2-status-summary {
    grid-template-columns: 1fr 1fr;
  }

  .hb2-step-progress {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .hb2-topbar {
    display: none;
  }

  .hb2-mobile-top {
    display: flex;
  }

  .hb2-app-main > main {
    padding: 24px 16px 100px;
  }
}

@media (max-width: 620px) {
  .hb2-page-header {
    flex-direction: column;
  }

  .hb2-page-header > div, .hb2-page-header p {
    overflow-wrap: anywhere;
    min-width: 0;
    max-width: 100%;
  }

  .hb2-page-header .hb2-button {
    width: 100%;
  }

  .hb2-app-main > main {
    padding: 24px 16px 100px;
  }

  .hb2-next-action, .hb2-status-summary, .hb2-resource-summary {
    grid-template-columns: 1fr;
  }

  .hb2-next-action .hb2-button, .hb2-resource-summary p {
    grid-column: auto;
  }

  .hb2-queue li, .hb2-decision-list li, .hb2-resource-row {
    grid-template-columns: 1fr auto;
  }

  .hb2-queue li .hb2-button, .hb2-decision-list li .hb2-button, .hb2-resource-row > :last-child {
    grid-column: 1 / -1;
    width: 100%;
  }

  .hb2-definition-list div {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .hb2-table-wrap {
    border: 0;
    overflow: visible;
  }

  .hb2-table {
    min-width: 0;
  }

  .hb2-table thead {
    clip: rect(0, 0, 0, 0);
    width: 1px;
    height: 1px;
    position: absolute;
    overflow: hidden;
  }

  .hb2-table, .hb2-table tbody, .hb2-table tr, .hb2-table td {
    display: block;
  }

  .hb2-table tr {
    border: 1px solid var(--hb2-line);
    background: #fff;
    border-radius: 12px;
    margin-bottom: 12px;
  }

  .hb2-table td {
    border-top: 1px solid var(--hb2-line);
    overflow-wrap: anywhere;
  }

  .hb2-table td:before {
    color: var(--hb2-muted);
    text-transform: none;
    letter-spacing: 0;
    content: attr(data-label);
    margin-bottom: 3px;
    font-size: .8125rem;
    font-weight: 700;
    display: block;
  }

  .hb2-state-options, .hb2-step-progress {
    grid-template-columns: 1fr;
  }

  .hb2-state-option {
    min-height: 112px;
  }

  .hb2-guest-shell {
    padding: 0;
  }

  .hb2-guest-phone {
    min-height: calc(100vh - var(--hb2-chrome-top));
    border: 0;
    border-radius: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hb2-boundary *, .hb2-boundary :before, .hb2-boundary :after {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}

.hb2-scenario-nav {
  top: var(--hb2-chrome-top);
  z-index: 90;
  border-bottom: 1px solid var(--hb2-line);
  background: #fffffff5;
  flex-wrap: wrap;
  gap: 6px;
  max-width: 100%;
  padding: 8px 16px;
  display: flex;
  position: sticky;
  overflow: hidden;
}

.hb2-scenario-nav a {
  border: 1px solid var(--hb2-line);
  min-height: 44px;
  color: var(--hb2-muted);
  white-space: nowrap;
  border-radius: 10px;
  place-items: center;
  padding: 0 12px;
  font-size: .78rem;
  font-weight: 750;
  display: grid;
}

.hb2-scenario-nav a[aria-current="page"] {
  border-color: var(--hb2-brand);
  background: var(--hb2-brand-soft);
  color: var(--hb2-brand-strong);
}

.hb2-scenario-auth-state .hb2-auth-shell {
  grid-template-columns: minmax(0, 1fr);
}

.hb2-scenario-auth-state .hb2-auth-shell > aside {
  display: none;
}

.hb2-scenario-readonly > .hb2-context-banner {
  border-style: dashed;
}

.hb2-readonly-boundary {
  border: 0;
  min-width: 0;
  margin: 0;
  padding: 0;
}

.hb2-guest-phone > .hb2-role-navigation {
  border-bottom: 1px solid #e5dac9;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 8px;
}

.hb2-guest-phone > .hb2-role-navigation a {
  text-align: center;
  place-items: center;
  min-width: 0;
  padding: 4px;
  font-size: .72rem;
  display: grid;
}

.hb2-guest-phone .hb2-queue li {
  grid-template-columns: minmax(0, 1fr) auto;
}

.hb2-guest-phone .hb2-queue li .hb2-button {
  grid-column: 1 / -1;
  width: 100%;
}

.hb2-context-banner, .hb2-authority-note {
  color: #874400;
  background: #fff7e8;
  border: 1px solid #e1c18e;
  border-radius: 12px;
  margin-bottom: 18px;
  padding: 13px 16px;
  font-weight: 700;
}

.hb2-public-section {
  padding: 84px 0;
}

.hb2-public-section + .hb2-public-section {
  border-top: 1px solid var(--hb2-line);
}

.hb2-hero {
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .8fr);
  align-items: center;
  gap: 48px;
  min-height: 520px;
  display: grid;
}

.hb2-hero h1 {
  letter-spacing: -.055em;
  max-width: 760px;
  margin-bottom: 18px;
  font-size: clamp(2.5rem, 6vw, 5rem);
  line-height: .98;
}

.hb2-hero > div > p:not(.hb2-eyebrow) {
  max-width: 660px;
  color: var(--hb2-muted);
  font-size: 1.12rem;
}

.hb2-hero-copy p {
  max-width: 670px;
  font-size: 1.15rem;
}

.hb2-hero-actions, .hb2-row {
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  display: flex;
}

.hb2-hero-actions {
  margin: 28px 0;
}

.hb2-button-outline {
  border-color: var(--hb2-line);
  background: #fff;
}

.hb2-button-ghost {
  background: none;
}

.hb2-button-wide {
  width: 100%;
}

.hb2-check-row {
  color: var(--hb2-ink-soft);
  flex-wrap: wrap;
  gap: 18px 28px;
  margin-top: 28px;
  font-weight: 650;
  display: flex;
}

.hb2-check-row span {
  align-items: center;
  gap: 8px;
  display: flex;
}

.hb2-product-frame {
  background: linear-gradient(145deg, #f6fbff, #fff);
  border: 1px solid #dce6f5;
  border-radius: 28px;
  padding: 18px;
  transform: perspective(1200px)rotateY(-1deg);
  box-shadow: 0 28px 70px #0e326421;
}

.hb2-mini-app {
  border: 1px solid var(--hb2-line);
  background: #fff;
  border-radius: 20px;
  grid-template-columns: 160px minmax(0, 1fr);
  min-height: 460px;
  display: grid;
  overflow: hidden;
}

.hb2-mini-side {
  color: #fff;
  background: #092548;
  padding: 20px;
}

.hb2-mini-menu {
  gap: 8px;
  margin-top: 28px;
  display: grid;
}

.hb2-mini-menu span {
  border-radius: 9px;
  padding: 10px;
  font-size: .8rem;
}

.hb2-mini-menu span:first-child {
  background: var(--hb2-blue);
}

.hb2-mini-content {
  min-width: 0;
  padding: 24px;
}

.hb2-mini-content h2 {
  margin-top: 18px;
}

.hb2-mini-kpis {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  display: grid;
}

.hb2-mini-kpis div {
  border: 1px solid var(--hb2-line);
  border-radius: 14px;
  gap: 5px;
  padding: 16px;
  display: grid;
}

.hb2-mini-kpis strong {
  font-size: 1.65rem;
}

.hb2-mini-kpis small {
  color: var(--hb2-muted);
}

.hb2-mini-list {
  gap: 8px;
  margin-top: 14px;
  display: grid;
}

.hb2-mini-list div {
  border: 1px solid var(--hb2-line);
  border-radius: 10px;
  padding: 12px;
  font-size: .82rem;
}

.hb2-section-head {
  justify-content: space-between;
  align-items: end;
  gap: 24px;
  margin-bottom: 28px;
  display: flex;
}

.hb2-feature-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  display: grid;
}

.hb2-feature-card {
  padding: 24px;
}

.hb2-public-solution-section {
  background: linear-gradient(#f7faff, #fff);
  padding-top: 64px;
  padding-bottom: 64px;
}

.hb2-solution-map {
  margin: 26px 0;
}

.hb2-public-solution-section .hb2-solution-map {
  margin: 0;
}

.hb2-solution-map-header {
  max-width: 760px;
  margin-bottom: 22px;
}

.hb2-solution-map-header h2 {
  margin: 5px 0 8px;
}

.hb2-solution-map-header p {
  color: var(--hb2-muted);
  margin: 0;
}

.hb2-solution-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  display: grid;
}

.hb2-solution-map-compact .hb2-solution-map-header {
  margin-bottom: 14px;
}

.hb2-solution-map-compact .hb2-solution-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.hb2-solution-map-compact .hb2-solution-card {
  min-height: 60px;
  padding: 10px;
}

.hb2-solution-map-compact .hb2-solution-icon {
  width: 34px;
  height: 34px;
}

.hb2-solution-card {
  border: 1px solid var(--hb2-line);
  min-height: 92px;
  color: var(--hb2-ink);
  background: #fff;
  border-radius: 14px;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 15px;
  display: grid;
}

a.hb2-solution-card:hover {
  border-color: #a8c9fb;
  transform: translateY(-1px);
  box-shadow: 0 8px 22px #10499114;
}

.hb2-solution-icon {
  background: var(--hb2-blue-soft);
  width: 40px;
  height: 40px;
  color: var(--hb2-blue);
  border-radius: 11px;
  place-items: center;
  display: grid;
}

.hb2-solution-copy {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.hb2-solution-copy small {
  color: var(--hb2-muted);
  line-height: 1.35;
}

.hb2-solution-open {
  color: var(--hb2-brand);
  font-size: .78rem;
  font-weight: 800;
}

.hb2-feature-icon {
  background: var(--hb2-blue-soft);
  width: 54px;
  height: 54px;
  color: var(--hb2-blue);
  border-radius: 14px;
  place-items: center;
  margin-bottom: 18px;
  display: grid;
}

.hb2-benefit-strip {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  display: grid;
}

.hb2-benefit {
  align-items: flex-start;
  gap: 14px;
  padding: 22px;
  display: flex;
}

.hb2-benefit > svg {
  color: var(--hb2-blue);
  flex: none;
}

.hb2-how-it-works {
  margin: 78px 0;
}

.hb2-steps {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 24px;
  display: grid;
}

.hb2-step {
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  padding: 22px;
  display: grid;
}

.hb2-step-num {
  background: var(--hb2-blue);
  color: #fff;
  border-radius: 50%;
  place-items: center;
  width: 38px;
  height: 38px;
  font-weight: 850;
  display: grid;
}

.hb2-trust-row {
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 36px;
  display: flex;
}

.hb2-trust-chip {
  border: 1px solid var(--hb2-line);
  color: var(--hb2-ink-soft);
  background: #fff;
  border-radius: 14px;
  padding: 15px 22px;
  font-weight: 750;
}

.hb2-cta-band {
  color: #fff;
  background: linear-gradient(135deg, #0d6efd, #074ac4);
  border-radius: 22px;
  justify-content: space-between;
  align-items: center;
  gap: 22px;
  padding: 28px 32px;
  display: flex;
}

.hb2-cta-band p {
  color: #dbe9ff;
  margin: 0;
}

.hb2-cta-band .hb2-button {
  flex: none;
}

.hb2-demo-layout {
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  align-items: start;
  gap: 48px;
  display: grid;
}

.hb2-lead {
  max-width: 720px;
  font-size: 1.1rem;
}

.hb2-form-card {
  padding: 26px;
}

.hb2-credential-card {
  background: linear-gradient(145deg, #f1f7ff, #fff);
  padding: 30px;
}

.hb2-stack {
  gap: 16px;
  display: grid;
}

.hb2-soft-panel {
  background: var(--hb2-surface-soft);
  border-radius: 14px;
  padding: 16px;
}

.hb2-soft-panel p {
  margin: 5px 0 0;
}

.hb2-flow-steps {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 20px;
  display: grid;
}

.hb2-flow-steps div {
  background: var(--hb2-surface-soft);
  border-radius: 14px;
  gap: 4px;
  padding: 16px;
  font-size: .85rem;
  display: grid;
}

.hb2-flow-steps small {
  color: var(--hb2-muted);
}

.hb2-reassurance {
  border: 1px solid var(--hb2-line);
  background: var(--hb2-line);
  border-radius: 16px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin-top: 48px;
  display: grid;
  overflow: hidden;
}

.hb2-reassurance div {
  text-align: center;
  background: #fff;
  gap: 4px;
  padding: 18px;
  display: grid;
}

.hb2-reassurance small {
  color: var(--hb2-muted);
}

.hb2-demo-success {
  text-align: center;
  max-width: 760px;
  margin: auto;
}

.hb2-demo-success > .hb2-feature-icon {
  margin-inline: auto;
}

.hb2-timeline-card {
  text-align: left;
  margin: 28px 0;
  padding: 24px;
}

.hb2-timeline-item {
  border-left: 2px solid var(--hb2-line);
  padding: 12px 0 12px 22px;
  position: relative;
}

.hb2-timeline-item:before {
  background: var(--hb2-brand);
  content: "";
  border-radius: 50%;
  width: 10px;
  height: 10px;
  position: absolute;
  top: 18px;
  left: -6px;
}

.hb2-centered-actions {
  justify-content: center;
}

.hb2-auth-card {
  width: 100%;
  padding: 34px;
}

.hb2-auth-shell > main > section > .hb2-card-grid {
  grid-template-columns: minmax(0, 1fr);
}

.hb2-auth-links {
  color: var(--hb2-muted);
  justify-content: space-between;
  gap: 16px;
  margin-top: 14px;
  font-size: .9rem;
  display: flex;
}

.hb2-info-banner {
  background: var(--hb2-blue-soft);
  color: #174d8f;
  border-radius: 12px;
  align-items: flex-start;
  gap: 10px;
  margin-top: 16px;
  padding: 14px;
  display: flex;
}

.hb2-demo-access-strip {
  z-index: 15;
  color: #174d8f;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  background: #edf5fff7;
  border-bottom: 1px solid #d6e3f3;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 10px 24px;
  margin: -48px calc(-1 * clamp(18px, 4vw, 64px)) 34px;
  padding: 13px clamp(18px, 4vw, 64px);
  display: flex;
  position: sticky;
  top: 0;
}

.hb2-demo-page-header {
  align-items: end;
}

.hb2-demo-page-header > p {
  text-align: right;
  max-width: 520px;
  margin: 0;
}

.hb2-demo-tour {
  border: 1px solid var(--hb2-line);
  box-shadow: var(--hb2-shadow);
  background: #f8fafc;
  border-radius: 24px;
  overflow: hidden;
}

.hb2-demo-tabs {
  border-bottom: 1px solid var(--hb2-line);
  background: #fff;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 4px;
  padding: 8px;
  display: grid;
  overflow-x: auto;
}

.hb2-demo-tab {
  min-width: 112px;
  min-height: 48px;
  color: var(--hb2-muted);
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 12px;
  padding: 0 14px;
  font-weight: 780;
}

.hb2-demo-tab[aria-selected="true"] {
  background: var(--hb2-brand-soft);
  color: var(--hb2-brand-strong);
  box-shadow: inset 0 -3px var(--hb2-brand);
}

.hb2-demo-role-panel {
  background: linear-gradient(145deg, #fbfdff, #f5f8fc);
  min-height: 560px;
  padding: 34px;
}

.hb2-demo-role-heading {
  max-width: 760px;
  margin-bottom: 24px;
}

.hb2-demo-role-heading h2 {
  margin-bottom: 8px;
  font-size: clamp(2rem, 4vw, 3.1rem);
}

.hb2-demo-highlight-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  display: grid;
}

.hb2-demo-highlight {
  gap: 5px;
  min-height: 150px;
  padding: 22px;
  display: grid;
}

.hb2-demo-highlight strong {
  font-size: 2.35rem;
}

.hb2-demo-highlight small {
  color: var(--hb2-muted);
}

.hb2-demo-readonly-list {
  margin-top: 18px;
  padding: 8px 22px;
}

.hb2-demo-readonly-list article {
  border-top: 1px solid var(--hb2-line);
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  min-height: 78px;
  padding: 14px 0;
  display: grid;
}

.hb2-demo-readonly-list article:first-child {
  border-top: 0;
}

.hb2-demo-readonly-list article div {
  gap: 5px;
  display: grid;
}

.hb2-demo-readonly-list small {
  color: var(--hb2-muted);
}

.hb2-demo-readonly-list article > span {
  background: var(--hb2-blue-soft);
  color: #1559c8;
  border-radius: 999px;
  padding: 7px 10px;
  font-size: .78rem;
  font-weight: 760;
}

.hb2-demo-role-guest {
  max-width: 520px;
  min-height: 620px;
  box-shadow: var(--hb2-shadow-soft);
  background: linear-gradient(#fffaf2, #fff);
  border: 1px solid #e5dac9;
  border-radius: 28px;
  margin: 24px auto;
}

.hb2-demo-role-guest .hb2-demo-highlight-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.hb2-demo-role-guest .hb2-demo-highlight {
  min-height: 130px;
  padding: 16px;
}

.hb2-demo-role-guest .hb2-demo-highlight strong {
  font-size: 1.75rem;
}

.hb2-demo-final-disclosure {
  margin-top: 24px;
}

.hb2-hero-preview {
  box-shadow: var(--hb2-shadow);
  background: linear-gradient(145deg, #f3f9ff, #fff);
  border: 1px solid #cfdceb;
  border-radius: 24px;
  gap: 12px;
  padding: 26px;
  display: grid;
}

.hb2-hero-preview strong {
  font-size: 1.4rem;
}

.hb2-hero-preview span {
  border: 1px solid var(--hb2-line);
  background: #fff;
  border-radius: 12px;
  padding: 14px;
}

.hb2-card-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 50px;
  display: grid;
}

.hb2-two-column {
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
  gap: 18px;
  margin: 18px 0;
  display: grid;
}

.hb2-form {
  gap: 16px;
  margin-top: 18px;
  display: grid;
}

form.hb2-protected {
  flex-wrap: wrap;
  min-width: 0;
}

.hb2-lab-inert-submit {
  overflow-wrap: anywhere;
  white-space: normal;
  word-break: break-word;
  flex: 1 0 100%;
  width: 100%;
  min-width: 0;
  padding-inline: 8px;
}

.hb2-field {
  gap: 7px;
  display: grid;
}

.hb2-field label, .hb2-form > label {
  font-weight: 780;
}

.hb2-field input, .hb2-field select, .hb2-field textarea, .hb2-form > input, .hb2-form > select, .hb2-form > textarea {
  border: 1px solid var(--hb2-line);
  width: 100%;
  min-height: 52px;
  color: var(--hb2-ink);
  background: #fff;
  border-radius: 12px;
  padding: 12px 14px;
}

.hb2-field small, .hb2-form > small, .hb2-form-note {
  color: var(--hb2-muted);
}

.hb2-field [role="alert"] {
  color: var(--hb2-red);
  font-size: .875rem;
  font-weight: 720;
}

.hb2-form button:disabled {
  cursor: not-allowed;
  opacity: .72;
}

.hb2-entity-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.hb2-entity-list li {
  border-top: 1px solid var(--hb2-line);
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  min-height: 64px;
  padding: 12px 0;
  display: flex;
}

.hb2-entity-list li > div {
  gap: 3px;
  display: grid;
}

.hb2-entity-list li span {
  color: var(--hb2-muted);
}

.hb2-protected-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px;
  display: grid;
}

.hb2-section-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 18px 0;
  display: grid;
}

.hb2-section-grid > .hb2-panel {
  margin: 0;
}

.hb2-dashboard-columns {
  grid-template-columns: minmax(0, 1.45fr) minmax(240px, .75fr) minmax(260px, .9fr);
  align-items: stretch;
  gap: 18px;
  margin-top: 18px;
  display: grid;
}

.hb2-dashboard-columns > .hb2-panel {
  margin: 0;
}

.hb2-room-state .hb2-status-summary {
  grid-template-columns: 1fr;
}

.hb2-dashboard-columns > .hb2-panel:last-child .hb2-queue a {
  align-items: center;
  min-height: 44px;
  display: flex;
}

.hb2-panel-intro {
  color: var(--hb2-muted);
  margin: -4px 0 8px;
}

.hb2-department-panel > .hb2-status-summary {
  margin-bottom: 0;
}

.hb2-detail-grid {
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
  align-items: start;
  gap: 18px;
  margin-top: 18px;
  display: grid;
}

.hb2-detail-grid > .hb2-panel, .hb2-detail-grid > .hb2-section-grid {
  margin: 0;
}

.hb2-detail-grid > .hb2-section-grid {
  grid-template-columns: 1fr;
}

.hb2-exception-grid {
  grid-template-columns: repeat(auto-fill, minmax(min(290px, 100%), 1fr));
  gap: 14px;
  margin: 14px 0 26px;
  display: grid;
}

.hb2-housekeeping-queues {
  grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
  align-items: start;
}

.hb2-resource-groups {
  gap: 16px;
  margin-top: 18px;
  display: grid;
}

.hb2-resource-groups > .hb2-panel {
  margin: 0;
}

.hb2-arrivals {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.hb2-arrivals li {
  border-top: 1px solid var(--hb2-line);
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  min-height: 72px;
  display: grid;
}

.hb2-arrivals time {
  font-weight: 820;
}

.hb2-arrivals p {
  color: var(--hb2-muted);
  margin: 3px 0 0;
}

.hb2-room-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  display: grid;
}

.hb2-room-grid article {
  gap: 8px;
  display: grid;
}

.hb2-room-card {
  border-left: 4px solid var(--hb2-line);
  padding: 16px;
}

.hb2-room-card-success {
  border-left-color: var(--hb2-green);
}

.hb2-room-card-warning {
  border-left-color: var(--hb2-orange);
}

.hb2-room-card-danger {
  border-left-color: var(--hb2-red);
}

.hb2-room-card-info {
  border-left-color: var(--hb2-blue);
}

.hb2-room-card-neutral {
  border-left-color: #94a3b8;
}

.hb2-row-between {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.hb2-row-between > strong {
  font-size: 1.5rem;
}

.hb2-context-links {
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
  display: flex;
}

.hb2-context-links a {
  border: 1px solid var(--hb2-line);
  min-height: 44px;
  color: var(--hb2-brand-strong);
  background: #fff;
  border-radius: 12px;
  align-items: center;
  padding: 8px 12px;
  font-weight: 760;
  display: inline-flex;
}

.hb2-filter-bar {
  border: 1px solid var(--hb2-line);
  background: #fff;
  border-radius: 14px;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 18px;
  padding: 10px;
  display: flex;
}

.hb2-filter-bar span {
  min-height: 38px;
  color: var(--hb2-muted);
  border-radius: 999px;
  padding: 9px 13px;
  font-size: .84rem;
  font-weight: 760;
}

.hb2-filter-bar .is-active {
  background: var(--hb2-brand-soft);
  color: var(--hb2-brand-strong);
}

.hb2-summary-row {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 18px 0;
  display: grid;
}

.hb2-summary-row article {
  border: 1px solid var(--hb2-line);
  border-radius: var(--hb2-radius-medium);
  background: #fff;
  gap: 6px;
  padding: 18px;
  display: grid;
}

.hb2-summary-row article > span {
  color: var(--hb2-muted);
  font-size: .84rem;
  font-weight: 720;
}

.hb2-summary-row article > strong {
  overflow-wrap: anywhere;
  font-size: 1.2rem;
}

.hb2-info-banner > span {
  min-width: 0;
}

.hb2-platform-overview, .hb2-platform-onboarding {
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
  gap: 18px;
  margin-top: 18px;
  display: grid;
}

.hb2-platform-overview > .hb2-status-summary, .hb2-platform-onboarding > .hb2-status-summary {
  grid-area: 1 / 1 / auto / -1;
}

.hb2-platform-overview > .hb2-panel:first-child, .hb2-platform-onboarding > .hb2-panel:first-child {
  grid-area: 2 / 2;
  margin: 0;
}

.hb2-platform-clients, .hb2-platform-cases {
  grid-area: 2 / 1;
  margin: 0;
}

.hb2-platform-config-stack {
  gap: 18px;
  display: grid;
}

.hb2-platform-config-stack > .hb2-panel {
  margin: 0;
}

.hb2-task-summary {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
  display: grid;
}

.hb2-task-summary article {
  border: 1px solid var(--hb2-line);
  background: #fff;
  border-radius: 14px;
  gap: 5px;
  padding: 18px;
  display: grid;
}

.hb2-task-summary span {
  color: var(--hb2-muted);
  font-size: .8rem;
  font-weight: 760;
}

.hb2-task-summary strong {
  overflow-wrap: anywhere;
  font-size: 1.3rem;
}

.hb2-task-layout {
  grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr);
  align-items: start;
  gap: 18px;
  display: grid;
}

.hb2-task-layout .hb2-authority-note {
  margin: 16px 0 0;
}

.hb2-room-grid h2, .hb2-room-grid p {
  margin: 0;
}

.hb2-room-grid article > span {
  color: var(--hb2-muted);
  font-size: .82rem;
  font-weight: 720;
}

.hb2-checklist {
  gap: 18px;
  max-width: 720px;
  display: grid;
}

.hb2-checklist fieldset {
  border: 0;
  gap: 6px;
  margin: 0;
  padding: 0;
  display: grid;
}

.hb2-checklist legend {
  margin-bottom: 12px;
  font-size: 1.25rem;
  font-weight: 820;
}

.hb2-checklist label {
  border-top: 1px solid var(--hb2-line);
  align-items: center;
  gap: 12px;
  min-height: 52px;
  padding: 8px 0;
  display: flex;
}

.hb2-checklist input {
  width: 22px;
  height: 22px;
  accent-color: var(--hb2-brand);
}

.hb2-checklist small {
  color: var(--hb2-muted);
}

.hb2-guest-heading {
  border-bottom: 1px solid #eee5d8;
  margin: 0 -20px 24px;
  padding: 20px 20px 22px;
}

.hb2-guest-heading-row, .hb2-guest-row-between {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.hb2-guest-heading-row .hb2-eyebrow {
  margin: 0;
}

.hb2-guest-heading h1 {
  margin: 12px 0 8px;
  font-size: 2rem;
}

.hb2-guest-heading > p:last-child {
  color: var(--hb2-muted);
  margin: 0;
}

.hb2-stay-scope {
  background: var(--hb2-gray-soft);
  color: #596781;
  text-align: right;
  border-radius: 999px;
  gap: 1px;
  max-width: 220px;
  padding: 7px 10px;
  font-size: .72rem;
  display: grid;
}

.hb2-stay-scope span {
  overflow-wrap: anywhere;
}

.hb2-guest-section {
  margin-top: 24px;
}

.hb2-guest-section > h2 {
  margin-bottom: 14px;
  font-size: 1.35rem;
}

.hb2-guest-service-grid {
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  display: grid;
}

.hb2-guest-service {
  background: #fff;
  border: 1px solid #eadfce;
  border-radius: 16px;
  gap: 10px;
  min-height: 190px;
  padding: 18px;
  display: grid;
}

.hb2-guest-service h3, .hb2-guest-service p, .hb2-guest-status h3, .hb2-guest-status p {
  margin: 0;
}

.hb2-guest-service-link {
  min-height: 44px;
  color: var(--hb2-brand-strong);
  align-self: end;
  align-items: center;
  font-weight: 800;
  display: inline-flex;
}

.hb2-guest-stack {
  gap: 16px;
  display: grid;
}

.hb2-guest-status {
  background: #f6f0e5;
  border-radius: 15px;
  padding: 16px;
}

.hb2-guest-service-list {
  gap: 12px;
  margin-bottom: 18px;
  display: grid;
}

.hb2-guest-service-row {
  background: #fff;
  border: 1px solid #eadfce;
  border-radius: 16px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 16px;
  display: grid;
}

.hb2-guest-service-list h2 {
  margin: 0 0 3px;
  font-size: 1rem;
}

.hb2-guest-service-list p {
  margin: 0 0 5px;
}

.hb2-guest-service-list small {
  color: var(--hb2-muted);
}

.hb2-guest-chevron {
  place-items: center;
  width: 44px;
  min-height: 44px;
  font-size: 1.8rem;
  display: grid;
}

.hb2-guest-request-detail {
  gap: 22px;
  display: grid;
}

.hb2-guest-request-detail h2, .hb2-guest-request-detail p {
  margin: 0;
}

.hb2-chat-thread {
  gap: 12px;
  margin: 18px 0;
  display: grid;
}

.hb2-chat-message {
  background: #f3efe7;
  border-radius: 16px;
  width: 82%;
  padding: 12px 14px;
}

.hb2-chat-message header {
  justify-content: space-between;
  gap: 10px;
  font-size: .78rem;
  display: flex;
}

.hb2-chat-message time {
  color: var(--hb2-muted);
}

.hb2-chat-message p {
  margin: 7px 0 0;
}

.hb2-chat-guest {
  background: #e9f2ff;
  justify-self: end;
}

.hb2-guest-ai-banner .hb2-disclosure {
  border-radius: 14px;
  margin-bottom: 18px;
}

.hb2-evidence, .hb2-command-preview {
  gap: 12px;
  margin: 16px 0;
  padding: 18px;
  display: grid;
}

.hb2-evidence article {
  border-top: 1px solid var(--hb2-line);
  gap: 3px;
  padding-top: 10px;
  display: grid;
}

.hb2-evidence span, .hb2-evidence small, .hb2-command-preview small {
  color: var(--hb2-muted);
}

.hb2-command-preview ul {
  margin: 0;
  padding-left: 20px;
}

.hb2-proposal-status {
  margin: 0;
}

.hb2-guest-handoff {
  margin-top: 16px;
}

.hb2-guest-handoff .hb2-panel {
  border-color: #eadfce;
}

.hb2-styleguide-section {
  margin-top: 44px;
}

.hb2-style-swatch-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  display: grid;
}

.hb2-swatch {
  color: #fff;
  border-radius: 14px;
  align-items: flex-end;
  height: 90px;
  padding: 12px;
  font-size: .75rem;
  font-weight: 800;
  display: flex;
}

.hb2-swatch-ink {
  background: var(--hb2-ink);
}

.hb2-swatch-brand {
  background: var(--hb2-brand);
}

.hb2-swatch-blue {
  background: var(--hb2-blue);
}

.hb2-swatch-green {
  background: var(--hb2-green);
}

.hb2-swatch-orange {
  background: var(--hb2-orange);
  color: var(--hb2-ink);
}

.hb2-swatch-red {
  background: var(--hb2-red);
}

.hb2-component-grid, .hb2-style-hierarchy {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  display: grid;
}

.hb2-component-grid .hb2-panel {
  min-height: 220px;
}

.hb2-style-stack {
  place-items: start;
  gap: 12px;
  display: grid;
}

.hb2-style-hierarchy-card {
  border: 1px solid var(--hb2-line);
  border-radius: var(--hb2-radius-large);
  background: #fff;
  gap: 14px;
  padding: 20px;
  display: grid;
}

.hb2-style-hierarchy-card h3, .hb2-style-hierarchy-card p {
  margin: 0;
}

.hb2-style-hierarchy-danger {
  background: linear-gradient(145deg, var(--hb2-red-soft), white);
  border-color: #ffd4d4;
}

.hb2-style-hierarchy-blue {
  background: linear-gradient(145deg, var(--hb2-blue-soft), white);
  border-color: #d4e6ff;
}

.hb2-styleguide-section > .hb2-status-summary, .hb2-styleguide-section > .hb2-protected, .hb2-styleguide-section > .hb2-resource-summary, .hb2-styleguide-section > .hb2-resource-group, .hb2-styleguide-section > .hb2-definition-list, .hb2-styleguide-section > .hb2-timeline, .hb2-styleguide-section > .hb2-step-progress, .hb2-styleguide-section > .hb2-table-wrap, .hb2-styleguide-section > .hb2-disclosure {
  margin-bottom: 18px;
}

.hb2-gallery-row {
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 14px;
  display: flex;
}

.hb2-state-gallery {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
  display: grid;
}

.hb2-app-main > main > div > .hb2-card, .hb2-app-main > main > div > .hb2-status-summary, .hb2-app-main > main > div > .hb2-table-wrap {
  margin-bottom: 18px;
}

@media (max-width: 1100px) {
  .hb2-status-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hb2-platform-overview > .hb2-status-summary, .hb2-platform-onboarding > .hb2-status-summary, .hb2-platform-overview > .hb2-panel:first-child, .hb2-platform-onboarding > .hb2-panel:first-child, .hb2-platform-clients, .hb2-platform-cases {
    grid-area: auto;
  }

  .hb2-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hb2-hero {
    grid-template-columns: 1fr;
    min-height: auto;
    padding: 40px 0;
  }

  .hb2-room-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hb2-two-column, .hb2-section-grid, .hb2-detail-grid, .hb2-task-layout, .hb2-platform-overview {
    grid-template-columns: 1fr;
  }

  .hb2-platform-onboarding {
    grid-template-columns: minmax(0, 1fr);
  }

  .hb2-step-progress {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .hb2-feature-grid, .hb2-benefit-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hb2-demo-layout {
    grid-template-columns: 1fr;
  }

  .hb2-dashboard-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hb2-dashboard-columns > :last-child {
    grid-column: 1 / -1;
  }

  .hb2-solution-grid, .hb2-solution-map-compact .hb2-solution-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .hb2-scenario-nav {
    top: var(--hb2-chrome-top);
  }

  .hb2-card-grid, .hb2-two-column, .hb2-protected-grid, .hb2-section-grid, .hb2-exception-grid, .hb2-room-grid, .hb2-dashboard-columns, .hb2-task-summary {
    grid-template-columns: 1fr;
  }

  .hb2-dashboard-columns > :last-child {
    grid-column: auto;
  }

  .hb2-filter-bar {
    flex-wrap: nowrap;
    margin-inline: -4px;
    overflow-x: auto;
  }

  .hb2-filter-bar span {
    flex: none;
  }

  .hb2-resource-summary {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .hb2-resource-summary div {
    justify-content: space-between;
    align-items: center;
    min-height: 74px;
    padding: 16px 20px;
    display: flex;
  }

  .hb2-resource-summary div strong {
    order: 2;
    font-size: 1.75rem;
  }

  .hb2-resource-summary div span {
    max-width: 62%;
  }

  .hb2-resource-summary p {
    grid-column: auto;
  }

  .hb2-resource-row {
    padding-block: 14px;
  }

  .hb2-summary-row {
    grid-template-columns: 1fr;
  }

  .hb2-platform-overview > .hb2-status-summary, .hb2-platform-onboarding > .hb2-status-summary, .hb2-platform-overview > .hb2-panel:first-child, .hb2-platform-onboarding > .hb2-panel:first-child, .hb2-platform-clients, .hb2-platform-cases {
    grid-area: auto;
  }

  .hb2-guest-service-grid, .hb2-state-gallery, .hb2-style-swatch-grid, .hb2-component-grid, .hb2-style-hierarchy {
    grid-template-columns: 1fr;
  }

  .hb2-guest-heading-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .hb2-stay-scope {
    text-align: left;
    max-width: none;
  }

  .hb2-guest-service-row {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .hb2-guest-service-row > :last-child {
    grid-column: 1 / -1;
    width: 100%;
  }

  .hb2-guest-service-list .hb2-button, .hb2-exception-grid .hb2-button, .hb2-next-action .hb2-button, .hb2-checklist .hb2-button {
    width: 100%;
    min-height: 48px;
  }

  .hb2-arrivals li {
    grid-template-columns: auto minmax(0, 1fr);
    padding: 12px 0;
  }

  .hb2-arrivals .hb2-status {
    grid-column: 2;
    justify-self: start;
  }

  .hb2-hero {
    gap: 24px;
  }

  .hb2-hero h1 {
    font-size: clamp(2.45rem, 13vw, 4rem);
  }

  .hb2-public-shell main {
    padding-top: 30px;
  }

  .hb2-entity-list li {
    flex-direction: column;
    align-items: flex-start;
  }

  .hb2-public-section {
    padding: 52px 0;
  }

  .hb2-product-frame {
    padding: 10px;
    transform: none;
  }

  .hb2-mini-app {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .hb2-mini-side {
    display: none;
  }

  .hb2-mini-content {
    padding: 18px;
  }

  .hb2-mini-kpis, .hb2-feature-grid, .hb2-benefit-strip, .hb2-steps, .hb2-flow-steps, .hb2-reassurance, .hb2-solution-grid {
    grid-template-columns: 1fr;
  }

  .hb2-solution-card {
    min-height: 82px;
  }

  .hb2-cta-band, .hb2-auth-links, .hb2-demo-page-header {
    flex-direction: column;
    align-items: stretch;
  }

  .hb2-cta-band .hb2-button {
    width: 100%;
  }

  .hb2-demo-page-header > p {
    text-align: left;
  }

  .hb2-demo-tabs {
    grid-template-columns: repeat(5, minmax(112px, 1fr));
  }

  .hb2-demo-role-panel {
    min-height: 0;
    padding: 22px 16px;
  }

  .hb2-demo-highlight-grid, .hb2-demo-role-guest .hb2-demo-highlight-grid {
    grid-template-columns: 1fr;
  }

  .hb2-demo-highlight, .hb2-demo-role-guest .hb2-demo-highlight {
    min-height: 0;
  }

  .hb2-demo-readonly-list article {
    grid-template-columns: 1fr;
  }

  .hb2-demo-readonly-list article > span {
    justify-self: start;
  }
}

.demo-switch-bar {
  color: #f8fafc;
  background: #0f172a;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: .75rem;
  padding: .5rem 1rem;
  font-size: .85rem;
  display: flex;
}

.demo-switch-bar-identity {
  flex-direction: column;
  line-height: 1.15;
  display: flex;
}

.demo-switch-bar-identity span {
  opacity: .75;
  font-size: .72rem;
}

.demo-switch-bar-roles {
  flex-wrap: wrap;
  gap: .35rem;
  display: flex;
}

.demo-switch-bar-roles form {
  margin: 0;
}

.demo-switch-role {
  color: inherit;
  cursor: pointer;
  font: inherit;
  background: none;
  border: 1px solid #f8fafc59;
  border-radius: 999px;
  padding: .3rem .85rem;
}

.demo-switch-bar-actions {
  align-items: center;
  gap: .6rem;
  display: flex;
}

.demo-switch-list, .demo-switch-reset {
  color: inherit;
  cursor: pointer;
  font: inherit;
  background: none;
  border: none;
  text-decoration: underline;
}

.hb2-page-header h1 {
  font-size: clamp(1.6rem, 2.6vw, 2rem);
  line-height: 1.15;
}

.hb2-page-header p {
  max-width: 68ch;
  font-size: .95rem;
}

.hb2-topbar-end {
  align-items: center;
  gap: 14px;
  min-width: 0;
  display: flex;
}

.hb2-topbar-end > span {
  overflow-wrap: anywhere;
  text-align: end;
  min-width: 0;
}

.hb2-account-form {
  flex: none;
}

.hb2-account-signout {
  border: 1px solid var(--hb2-line);
  min-height: 44px;
  color: var(--hb2-ink-soft);
  font: inherit;
  cursor: pointer;
  background: #fff;
  border-radius: 10px;
  align-items: center;
  gap: 7px;
  padding: 0 14px;
  font-size: .875rem;
  display: inline-flex;
}

.hb2-account-signout:hover {
  border-color: var(--hb2-blue);
  color: var(--hb2-blue);
}

.hb2-mobile-top .hb2-account-signout {
  padding: 0 10px;
}

.hb2-mobile-top .hb2-account-signout span {
  clip-path: inset(50%);
  white-space: nowrap;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
}

.hb2-dashboard-columns {
  grid-template-columns: minmax(0, 1.5fr) minmax(240px, .7fr);
  align-items: start;
}

.hb2-dashboard-columns > .hb2-panel:last-child {
  grid-column: 1 / -1;
}

.hb2-dashboard-columns > .hb2-panel:last-child .hb2-queue li {
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
}

.hb2-dashboard-columns > .hb2-panel:last-child .hb2-queue .hb2-status {
  justify-self: end;
}

.hb2-dashboard-columns > .hb2-panel:last-child .hb2-queue .hb2-button {
  width: auto;
}

.hb2-boundary .module-title {
  letter-spacing: -.02em;
  font-size: clamp(1.5rem, 2.4vw, 1.9rem);
  line-height: 1.2;
}

.hb2-boundary .module-subtitle {
  color: var(--hb2-muted);
  margin-top: 6px;
  font-size: .95rem;
  font-weight: 500;
}

.hb2-boundary .module-topbar {
  align-items: flex-start;
  gap: 16px;
}

.hb2-boundary .module-topbar-actions {
  align-items: center;
}

.demo-switch-bar {
  color: #eaf0ff;
  background: #0c173c;
  gap: 12px 20px;
  min-height: 56px;
  padding: 8px clamp(16px, 3vw, 28px);
  font-size: .8125rem;
}

.demo-switch-bar-identity strong {
  letter-spacing: .01em;
  font-size: .8125rem;
}

.demo-switch-bar-identity span {
  color: #9fb2dd;
  opacity: 1;
  font-size: .75rem;
}

.demo-switch-bar-roles {
  background: #ffffff14;
  border-radius: 999px;
  gap: 2px;
  padding: 3px;
}

.demo-switch-role {
  color: #d7e2fb;
  border: 0;
  border-radius: 999px;
  min-height: 34px;
  padding: 0 14px;
  font-size: .8125rem;
  font-weight: 600;
  transition: background-color .12s, color .12s;
}

.demo-switch-role:hover {
  color: #fff;
  background: #ffffff1f;
}

.demo-switch-role.is-active {
  color: #0c173c;
  background: #fff;
  font-weight: 700;
}

.demo-switch-role:focus-visible {
  outline-offset: 2px;
  outline: 2px solid #9fc2ff;
}

.demo-switch-bar-actions {
  gap: 16px;
}

.demo-switch-list, .demo-switch-reset {
  color: #c3d3f6;
  align-items: center;
  min-height: 34px;
  font-size: .8125rem;
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
}

.demo-switch-list:hover, .demo-switch-reset:hover {
  color: #fff;
  text-decoration: underline;
}

.demo-switch-list:focus-visible, .demo-switch-reset:focus-visible {
  outline-offset: 2px;
  outline: 2px solid #9fc2ff;
}

.hb2-boundary .hb2-panel > h2, .hb2-boundary .hb2-card > h2 {
  letter-spacing: -.015em;
  font-size: 1.15rem;
}

.hb2-boundary .hb2-panel > .hb2-panel-intro {
  margin-bottom: 12px;
  font-size: .875rem;
}

.hb2-boundary .hb2-exception .hb2-button-primary {
  border-color: var(--hb2-line);
  background: var(--hb2-surface);
  color: var(--hb2-ink, #0f1b3d);
  font-weight: 650;
}

.hb2-boundary .hb2-exception .hb2-button-primary:hover {
  border-color: var(--hb2-tone);
  color: var(--hb2-tone);
  background: var(--hb2-surface);
}

.hb2-role-navigation a {
  justify-content: flex-start;
}

.hb2-role-navigation a > span {
  flex: 1;
  min-width: 0;
}

.hb2-nav-badge {
  background: var(--hb2-surface-soft);
  min-width: 24px;
  height: 22px;
  color: var(--hb2-muted);
  font-variant-numeric: tabular-nums;
  border-radius: 999px;
  flex: none;
  place-items: center;
  padding: 0 7px;
  font-size: .75rem;
  font-weight: 700;
  display: inline-grid;
}

.hb2-nav-badge.is-urgent {
  background: var(--hb2-red-soft, #fdecec);
  color: #c62828;
}

.hb2-role-navigation a[aria-current="page"] .hb2-nav-badge {
  background: #fff;
}

.hb2-account-form {
  align-items: center;
  gap: 10px;
  display: flex;
}

.hb2-account-name {
  color: var(--hb2-muted);
  font-size: .875rem;
  font-weight: 600;
}

@media (max-width: 900px) {
  .hb2-account-name {
    display: none;
  }
}

@media (max-width: 700px) {
  .demo-switch-bar {
    gap: 8px 12px;
    min-height: 0;
    padding: 6px 14px;
  }

  .demo-switch-bar-identity {
    flex-direction: row;
    align-items: baseline;
    gap: 8px;
  }

  .demo-switch-bar-identity span {
    font-size: .7rem;
  }

  .demo-switch-role {
    min-height: 30px;
    padding: 0 11px;
    font-size: .75rem;
  }

  .demo-switch-bar-actions {
    gap: 12px;
    margin-left: auto;
  }

  .demo-switch-list, .demo-switch-reset {
    min-height: 30px;
    font-size: .75rem;
  }
}

.demo-switch-bar {
  z-index: 60;
  position: sticky;
  top: 0;
}

.demo-chrome .hb2-boundary {
  --hb2-chrome-top: 56px;
}

.demo-switch-bar-identity {
  flex: clamp(220px, 26vw, 400px);
  min-width: 0;
}

.demo-switch-bar-identity strong, .demo-switch-bar-identity span {
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
  overflow: hidden;
}

.demo-switch-bar-identity span {
  line-height: 1.35;
}

.demo-switch-role, .demo-switch-list, .demo-switch-reset {
  min-height: 44px;
}

.demo-switch-bar-roles {
  gap: 4px;
}

.demo-switch-reset-short {
  display: none;
}

@media (max-width: 700px) {
  .demo-chrome .hb2-boundary {
    --hb2-chrome-top: 92px;
  }

  .demo-switch-bar {
    flex-wrap: wrap;
    gap: 6px 10px;
    padding: 6px 12px;
  }

  .demo-switch-bar-identity {
    flex-direction: row;
    flex: none;
    order: 1;
    align-items: baseline;
  }

  .demo-switch-bar-identity span {
    display: none;
  }

  .demo-switch-bar-roles {
    scrollbar-width: none;
    flex-wrap: nowrap;
    flex: 1 0 100%;
    order: 3;
    overflow-x: auto;
  }

  .demo-switch-bar-roles::-webkit-scrollbar {
    display: none;
  }

  .demo-switch-role {
    flex: none;
    min-height: 40px;
    padding: 0 13px;
    font-size: .8125rem;
  }

  .demo-switch-bar-actions {
    order: 2;
    gap: 14px;
    margin-left: auto;
  }

  .demo-switch-list, .demo-switch-reset {
    min-height: 40px;
    font-size: .8125rem;
  }

  .demo-switch-reset-long {
    display: none;
  }

  .demo-switch-reset-short {
    display: inline;
  }
}

.hb2-quick-links {
  flex-wrap: wrap;
  gap: 10px 26px;
  padding-top: 4px;
  display: flex;
}

.hb2-quick-links a {
  min-height: 44px;
  color: var(--hb2-brand);
  align-items: center;
  font-size: .9375rem;
  font-weight: 650;
  display: inline-flex;
}

.hb2-quick-links a:hover {
  text-decoration: underline;
}

/*# sourceMappingURL=%5Broot-of-the-server%5D__17kqet4._.css.map*/