/* Hubzam Works enterprise design system v1 — staging only.
   Scope strictly to application routes; preserve public My Creation Haven header. */
:root {
 --hw-font-sans:'Mona Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
 --hw-font-mono:'Mona Sans Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,'Liberation Mono',monospace;
 --hw-bg:#fff;--hw-canvas:#f6f8fa;--hw-border:#d0d7de;--hw-border-muted:#d8dee4;
 --hw-text:#24292f;--hw-muted:#57606a;--hw-accent:#0969da;--hw-success:#1f883d;--hw-danger:#cf222e;
 --hw-radius-sm:6px;--hw-radius-card:12px;--hw-sidebar-width:296px;
}
body.hw-enterprise {font-family:var(--hw-font-sans)!important;font-size:14px;line-height:1.5;color:var(--hw-text);background:var(--hw-bg)}
body.hw-enterprise :is(button,input,select,textarea,table,nav,aside){font-family:var(--hw-font-sans)}
body.hw-enterprise :is(input,select,textarea){border-color:var(--hw-border);border-radius:6px}
body.hw-enterprise :is(input,select,textarea):focus-visible{outline:2px solid var(--hw-accent);outline-offset:1px}
body.hw-enterprise :is(button,[role='button']){border-radius:6px;font-size:14px;font-weight:500;box-shadow:none}
body.hw-enterprise :is(h1,h2,h3,h4){font-family:var(--hw-font-sans);letter-spacing:-.015em;color:var(--hw-text)}
body.hw-enterprise h1{font-weight:600;line-height:1.25}
body.hw-enterprise :is(h2,h3){font-weight:600;line-height:1.35}
body.hw-enterprise :is(small,[class*='text-muted-foreground']){color:var(--hw-muted)}
body.hw-enterprise :is(table,[role='table']){font-size:14px;border-color:var(--hw-border-muted)}
body.hw-enterprise :is(th,td){border-color:var(--hw-border-muted)}
body.hw-enterprise th{font-size:12px;font-weight:600}
body.hw-enterprise :is(code,pre,kbd,samp){font-family:var(--hw-font-mono)}
body.hw-enterprise :is(aside,[data-sidebar='sidebar']){border-color:var(--hw-border-muted)}
body.hw-enterprise :is([aria-current='page'],[data-active='true']){font-weight:600}
body.hw-enterprise :is(.rounded-xl,.rounded-2xl){box-shadow:none}
body.hw-enterprise :is(button,a,input,select,textarea):focus-visible{outline-offset:2px}
@media(prefers-reduced-motion:reduce){body.hw-enterprise *,body.hw-enterprise *::before,body.hw-enterprise *::after{scroll-behavior:auto!important}}
/* Phase 2: visible GitHub-like workspace treatment — staging scoped */
body.hw-enterprise {background:#fff!important;color:#24292f!important}
body.hw-enterprise #root {min-height:100vh;background:#fff!important}
body.hw-enterprise header:not(.site-shell header) {background:#f6f8fa!important;border-bottom:1px solid #d0d7de!important;box-shadow:none!important;min-height:56px}
body.hw-enterprise aside,body.hw-enterprise [data-sidebar='sidebar'],body.hw-enterprise nav[aria-label*='sidebar' i]{background:#f6f8fa!important;border-right:1px solid #d0d7de!important}
body.hw-enterprise aside a,body.hw-enterprise aside button,body.hw-enterprise nav a{font-size:14px!important;font-weight:500!important;border-radius:6px!important}
body.hw-enterprise [aria-current='page'],body.hw-enterprise [data-active='true']{background:#eaeef2!important;color:#24292f!important}
body.hw-enterprise main {background:#fff!important;color:#24292f!important}
body.hw-enterprise main :is(.shadow,.shadow-sm,.shadow-md,.shadow-lg,.shadow-xl){box-shadow:none!important}
body.hw-enterprise main :is(.rounded-2xl,.rounded-xl){border-radius:12px!important}
body.hw-enterprise main :is([class*='border-border'],[class*='border-slate-200'],[class*='border-gray-200']){border-color:#d0d7de!important}
body.hw-enterprise main :is([class*='bg-muted'],[class*='bg-slate-50'],[class*='bg-gray-50']){background-color:#f6f8fa!important}
body.hw-enterprise main :is(button,[role='button']){min-height:32px}
body.hw-enterprise main :is(table,[role='table']){background:#fff!important;border-radius:6px}
body.hw-enterprise main :is(th,[role='columnheader']){background:#f6f8fa!important;color:#57606a!important}
body.hw-enterprise :is(header,aside,main) :is(svg.lucide){stroke-width:1.75}

/* Stage v3: Clover-inspired business UI with Hubzam pastel accents; authenticated routes only. */
body.hw-enterprise{--hw-bg:#fff;--hw-canvas:#faf9fc;--hw-border:#e0dfe8;--hw-border-muted:#e9e7ef;--hw-text:#292638;--hw-muted:#686479;--hw-accent:#7653a4;--hw-accent-soft:#f0eafa;--hw-lavender:#e8dffa;--hw-blue:#deeffb;--hw-mint:#def3eb;--hw-pink:#f9e4ef;--hw-yellow:#fff1d4;--hw-radius-sm:6px;--hw-radius-card:10px;background:#fff!important;color:var(--hw-text)!important}
body.hw-enterprise #root{background:#fff!important}
body.hw-enterprise header:not(.site-shell header){background:#fff!important;border-bottom:1px solid var(--hw-border)!important}
body.hw-enterprise :is(aside,[data-sidebar='sidebar'],nav[aria-label*='sidebar' i]){background:#faf8ff!important;border-right:1px solid var(--hw-border)!important}
body.hw-enterprise :is(aside a,aside button,nav a,[data-sidebar='menu-button']){border-radius:6px!important}
body.hw-enterprise :is([aria-current='page'],[data-active='true']){background:var(--hw-lavender)!important;color:#493774!important}
body.hw-enterprise main{background:#fff!important;color:var(--hw-text)!important}
body.hw-enterprise main :is(th,[role='columnheader']){background:#f8f6fc!important;color:var(--hw-muted)!important}
body.hw-enterprise main :is([class*='bg-muted'],[class*='bg-slate-50'],[class*='bg-gray-50']){background-color:#faf8ff!important}
body.hw-enterprise main :is([class*='border-border'],[class*='border-slate-200'],[class*='border-gray-200']){border-color:var(--hw-border)!important}
body.hw-enterprise :is(button,[role='button']){border-radius:6px!important;box-shadow:none!important}
body.hw-enterprise :is([role='menuitem'],[data-radix-menu-content] button){border-radius:6px}
body.hw-enterprise :is(input,select,textarea){border-color:var(--hw-border);border-radius:6px}
body.hw-enterprise :is(button,a,input,select,textarea):focus-visible{outline:2px solid var(--hw-accent)!important;outline-offset:2px}
body.hw-enterprise main :is(.rounded-2xl,.rounded-xl){border-radius:10px!important}
@media(hover:hover){body.hw-enterprise :is(aside a,aside button,[data-sidebar='menu-button']):hover{background:var(--hw-accent-soft)!important}}

/* POS category tiles: identical dimensions regardless of label length. */
body.hw-enterprise .cat-tile-hover.cat-tile-border{
 box-sizing:border-box!important;
 flex:0 0 116px!important;
 width:116px!important;min-width:116px!important;max-width:116px!important;
 height:90px!important;min-height:90px!important;max-height:90px!important;
 padding:8px!important;display:flex!important;flex-direction:column!important;
 align-items:center!important;justify-content:center!important;
 gap:6px!important;text-align:center!important;border-radius:6px!important;
}
body.hw-enterprise .cat-tile-hover.cat-tile-border>span{
 display:flex!important;align-items:center!important;justify-content:center!important;
 width:100%!important;min-height:30px;max-height:40px;
 text-align:center!important;line-height:1.2!important;
 white-space:normal!important;overflow-wrap:anywhere!important;
 overflow:hidden;font-size:11px!important;
}
body.hw-enterprise .cat-tile-hover.cat-tile-border>svg{flex:none!important;width:20px;height:20px}

/* POS categories: readable labels and screen-edge spacing. */
body.hw-enterprise .cat-tile-hover.cat-tile-border{height:100px!important;min-height:100px!important;max-height:100px!important;font-weight:750!important}
body.hw-enterprise .cat-tile-hover.cat-tile-border>span{font-size:13px!important;font-weight:750!important;min-height:34px!important;max-height:48px!important;line-height:1.15!important}
body.hw-enterprise .cat-tile-hover.cat-tile-border:first-of-type{margin-left:16px!important}
body.hw-enterprise .cat-tile-hover.cat-tile-border:last-of-type{margin-right:16px!important}

body.hw-enterprise div:has(> button.cat-tile-border){box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;padding-left:16px!important;padding-right:16px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-padding-inline:16px!important;justify-content:safe center!important}
body.hw-enterprise div:has(> div > button.cat-tile-border){max-width:100%!important;min-width:0!important}

/* POS category carousel: compact centered window with clipped edge cues. */
body.hw-enterprise div:has(> button.cat-tile-border){width:min(100%,740px)!important;max-width:740px!important;margin-inline:auto!important;justify-content:flex-start!important;padding-inline:20px!important;scroll-padding-inline:20px!important;scroll-snap-type:x proximity!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch;}
body.hw-enterprise div:has(> button.cat-tile-border)::-webkit-scrollbar{display:none}
body.hw-enterprise div:has(> button.cat-tile-border)>button.cat-tile-border{scroll-snap-align:center;}

/* POS categories: fully visible buttons, no scrolling; wrap to new rows. */
body.hw-enterprise div:has(> button.cat-tile-border){width:100%!important;max-width:100%!important;box-sizing:border-box!important;margin-inline:auto!important;padding-inline:16px!important;display:flex!important;flex-wrap:wrap!important;justify-content:center!important;align-content:center!important;gap:8px!important;overflow-x:visible!important;overflow-y:visible!important;scroll-snap-type:none!important;scrollbar-width:auto!important}
body.hw-enterprise div:has(> button.cat-tile-border)>button.cat-tile-border{scroll-snap-align:none!important;margin-left:0!important;margin-right:0!important}

/* POS: all available categories share a single visible row, without scrolling. */
body.hw-enterprise div:has(> button.cat-tile-border){display:flex!important;flex-wrap:nowrap!important;gap:clamp(2px,.55vw,8px)!important;padding-inline:12px!important;overflow:hidden!important;justify-content:space-evenly!important;align-items:stretch!important}
body.hw-enterprise div:has(> button.cat-tile-border)>button.cat-tile-border{flex:1 1 0!important;width:0!important;min-width:0!important;max-width:none!important;height:76px!important;min-height:76px!important;max-height:76px!important;padding:5px 3px!important;gap:3px!important;overflow:hidden!important}
body.hw-enterprise div:has(> button.cat-tile-border)>button.cat-tile-border>span{font-size:clamp(9px,1vw,13px)!important;font-weight:750!important;line-height:1.1!important;min-height:0!important;max-height:43px!important;overflow-wrap:anywhere!important}
body.hw-enterprise div:has(> button.cat-tile-border)>button.cat-tile-border>svg{width:clamp(13px,1.5vw,19px)!important;height:clamp(13px,1.5vw,19px)!important}

/* POS compact category refinement: subtle height reduction, unchanged one-row behavior. */
body.hw-enterprise div:has(> button.cat-tile-border)>button.cat-tile-border{height:70px!important;min-height:70px!important;max-height:70px!important;padding:4px 3px!important;gap:2px!important}

/* Staff profile menu: keep Logout spacing consistent with other entries. */
body.hw-enterprise .space-y-1\\.5 > div.p-2.border-t.border-border:has(> button){border-top:0!important;padding-top:0!important}

/* Profile dropdown: normalize the actual sibling sections around Logout. */
body.hw-enterprise div.p-2.space-y-1\\.5:has(> button) {padding-bottom:3px!important}
body.hw-enterprise div.p-2.space-y-1\\.5:has(> button) + div.p-2.border-t.border-border {border-top:0!important;padding-top:3px!important}

/* Profile menu logout: remove the separator and excessive section spacing. */
body.hw-enterprise div.p-2.border-t.border-border:has(>button.w-full.flex.items-center){margin-top:0!important;border-top:0!important;padding-top:0!important}

/* Integrations tabs: restore proper height when labels wrap on smaller screens. */
body.hw-enterprise [role="tablist"][class*="md:grid-cols-6"]{height:auto!important;min-height:42px!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;padding:6px!important;margin-bottom:18px!important}
body.hw-enterprise [role="tablist"][class*="md:grid-cols-6"]>[role="tab"]{height:auto!important;min-height:36px!important;white-space:normal!important;min-width:0!important}
@media(min-width:768px){body.hw-enterprise [role="tablist"][class*="md:grid-cols-6"]{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(min-width:1200px){body.hw-enterprise [role="tablist"][class*="md:grid-cols-6"]{grid-template-columns:repeat(6,minmax(0,1fr))!important}}

/* Public booking storefront — Hubzam Works premium, consistent service catalog. */
.hw-booking-catalog{display:grid!important;grid-template-columns:minmax(0,1fr);gap:16px!important;align-items:stretch}
@media(min-width:640px){.hw-booking-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:900px){.hw-booking-catalog{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1200px){.hw-booking-catalog{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1500px){.hw-booking-catalog{grid-template-columns:repeat(5,minmax(0,1fr))}}
.hw-booking-catalog>button{min-width:0!important;height:100%!important;display:flex!important;flex-direction:column!important;border-radius:9px!important;border:1px solid #d9dee6!important;background:#fff!important;box-shadow:0 2px 9px rgba(35,46,62,.045)!important;text-align:left;overflow:hidden}
.hw-booking-catalog>button:hover{box-shadow:0 6px 20px rgba(35,46,62,.1)!important;border-color:#9dcbef!important}
.hw-booking-catalog>button>div:first-child{height:auto!important;aspect-ratio:16/9;min-height:0!important;flex:none!important;background:linear-gradient(140deg,#e8f4fd,#f4effb)!important}
.hw-booking-catalog>button>div:first-child img{width:100%!important;height:100%!important;object-fit:cover!important}
.hw-booking-catalog>button>div:nth-child(2){display:flex!important;flex:1!important;flex-direction:column!important;padding:15px!important;min-width:0!important}
.hw-booking-catalog>button h3{font-family:"Mona Sans",inherit!important;font-size:15px!important;font-weight:700!important;line-height:1.32!important;margin-bottom:7px!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hw-booking-summary{display:-webkit-box!important;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden!important;line-height:1.48!important;font-size:12px!important;overflow-wrap:anywhere;white-space:normal!important}
.hw-booking-catalog>button>div:nth-child(2)>div:last-child{margin-top:auto!important;gap:8px!important}
.hw-booking-catalog>button .rounded-full{border-radius:6px!important}
.hw-booking-catalog>button:focus-visible{outline:3px solid #9dcbef!important;outline-offset:3px}

/* Final booking storefront typography and wide desktop density. */
.hw-booking-catalog>button h3{font-family:'Mona Sans',Inter,system-ui,sans-serif!important}
@media(min-width:1150px){.hw-booking-catalog{grid-template-columns:repeat(5,minmax(0,1fr))!important}}

/* Booking storefront: product-gallery cards, matching approved Hubzam Works visual language. */
.hw-booking-catalog{gap:16px!important}
.hw-booking-catalog>button{border:1px solid #e2e5eb!important;border-radius:10px!important;box-shadow:0 2px 8px rgba(39,51,72,.07)!important;transition:box-shadow .18s,border-color .18s!important}
.hw-booking-catalog>button:hover{box-shadow:0 7px 20px rgba(39,51,72,.12)!important}
.hw-booking-catalog>button>div:first-child{aspect-ratio:1/1!important;max-height:none!important;background:#eef5fb!important}
.hw-booking-catalog>button>div:first-child>span:not(.absolute){font-size:40px!important}
.hw-booking-catalog>button>div:first-child>div.absolute{top:9px!important;right:9px!important;padding:5px 8px!important;font-size:10px!important;border-radius:6px!important}
.hw-booking-catalog>button>div:nth-child(2){padding:14px 14px 15px!important;gap:0!important}
.hw-booking-category{font-family:'Mona Sans',Inter,system-ui,sans-serif;display:block;margin-bottom:5px;color:#63768f;font-size:10px;font-weight:650;letter-spacing:.075em;text-transform:uppercase}
.hw-booking-catalog>button h3{font-size:14px!important;font-weight:700!important;margin-bottom:9px!important}
.hw-booking-summary{-webkit-line-clamp:2!important;line-clamp:2!important;font-size:11px!important;margin-bottom:12px!important}
.hw-booking-catalog>button>div:nth-child(2)>div:last-child{border-top:0!important;padding-top:9px!important;align-items:center!important}
.hw-booking-catalog>button>div:nth-child(2)>div:last-child>span:first-child{font-family:'Mona Sans',Inter,system-ui,sans-serif!important;font-size:18px!important;font-weight:750!important;line-height:1.2!important}
.hw-booking-cta{font-family:'Mona Sans',Inter,system-ui,sans-serif;display:inline-flex;align-items:center;justify-content:center;flex:none;background:#a7d8ff!important;color:#1e324b!important;border:1px solid #a7d8ff!important;border-radius:7px!important;padding:10px 11px!important;font-size:11px!important;font-weight:700!important;text-decoration:none!important;white-space:nowrap}
.hw-booking-catalog>button:hover .hw-booking-cta{background:#92cbf7!important;border-color:#92cbf7!important}
@media(max-width:600px){.hw-booking-catalog>button>div:first-child{aspect-ratio:5/4!important}}

/* Booking storefront: wide readable cards and unmistakable booking progress. */
.hw-booking-layout{width:100%!important;max-width:1540px!important}
.hw-booking-catalog{grid-template-columns:repeat(1,minmax(0,1fr))!important}
@media(min-width:620px){.hw-booking-catalog{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(min-width:950px){.hw-booking-catalog{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(min-width:1220px){.hw-booking-catalog{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(min-width:1480px){.hw-booking-catalog{grid-template-columns:repeat(5,minmax(0,1fr))!important}}
.hw-booking-catalog>button>div:nth-child(2)>div:last-child{flex-wrap:wrap!important}
.hw-booking-catalog>button>div:nth-child(2)>div:last-child>span:first-child{min-width:0;overflow-wrap:break-word}
.hw-booking-steps{width:100%;max-width:100%!important;min-height:66px;box-sizing:border-box;padding:11px 14px!important;background:#f4f8fc!important;border:1px solid #dbe3ed!important;border-radius:9px!important;gap:8px!important;flex-wrap:wrap;row-gap:9px!important}
.hw-booking-steps>div{white-space:nowrap;font-family:'Mona Sans',Inter,system-ui,sans-serif!important}
.hw-booking-steps>div>div:first-child{width:32px!important;height:32px!important;font-size:13px!important;font-weight:750!important}
.hw-booking-steps>div>span{display:inline!important;opacity:1!important;font-size:12px!important;font-weight:650!important}
.hw-booking-steps>div[class*="opacity"]{opacity:1!important}
@media(max-width:540px){.hw-booking-steps{justify-content:center!important}.hw-booking-steps>div>div[class*="w-8"]{width:12px!important}}

/* Unified public navigation: left menu matches right-hand action controls. */
.hw-public-main-nav>a{box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;height:44px!important;min-height:44px!important;padding:0 14px!important;border:1px solid #192f51!important;border-radius:10px!important;background:transparent!important;color:#133a71!important;font-family:'Mona Sans',Inter,system-ui,sans-serif!important;font-size:13px!important;font-weight:650!important;line-height:1!important;text-decoration:none!important;box-shadow:none!important;transform:none!important;transition:background-color .18s,border-color .18s,color .18s!important}
.hw-public-main-nav>a:hover{background:#e6f3ff!important;color:#103666!important;box-shadow:none!important;transform:none!important}
.hw-public-main-nav>a[aria-current='page']{background:#a7d8ff!important;color:#173b76!important;font-weight:750!important}
.hw-public-main-nav>a:focus-visible{outline:2px solid #73bafb!important;outline-offset:3px!important}

/* Apply the same public menu treatment to the previously cached header module. */
header nav[class*='justify-self-center']>a{box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;height:44px!important;padding:0 14px!important;border:1px solid #192f51!important;border-radius:10px!important;background:transparent!important;color:#133a71!important;font-family:'Mona Sans',Inter,system-ui,sans-serif!important;font-size:13px!important;font-weight:650!important;line-height:1!important;box-shadow:none!important;transform:none!important;text-decoration:none!important}
header nav[class*='justify-self-center']>a:hover{background:#e6f3ff!important;color:#103666!important;box-shadow:none!important;transform:none!important}
