:root{--hbx-green:#0b6b55;--hbx-green2:#11876d;--hbx-deep:#0d2530;--hbx-bg:#f4f7f6;--hbx-line:#dce6e2;--hbx-muted:#687b75;--hbx-white:#fff;--hbx-shadow:0 8px 30px rgba(13,37,48,.07)}*{box-sizing:border-box}body:has(#hbxpc-app),body:has(.hbx-public){background:var(--hbx-bg)}#hbxpc-app{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:#17332c;background:var(--hbx-bg);min-height:100vh;width:100%;max-width:none!important;margin:0!important;padding:0!important;border-radius:0!important}#hbxpc-app button,#hbxpc-app input,#hbxpc-app select{font:inherit}.hbx-appshell{display:flex;min-height:100vh}.hbx-side{position:fixed;inset:0 auto 0 0;width:270px;background:var(--hbx-deep);color:#fff;padding:20px 14px;z-index:60;display:flex;flex-direction:column}.hbx-brand{display:flex;gap:11px;align-items:center;padding:2px 8px 20px}.hbx-logo,.hbx-mark{width:42px;height:42px;border-radius:12px;background:var(--hbx-green2);display:grid;place-items:center;color:#fff;font-weight:900;font-size:22px}.hbx-brand b,.hbx-brand small{display:block}.hbx-brand b{font-size:19px}.hbx-brand small{color:#b7cdc7;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.hbx-workspace{background:#ffffff0d;border:1px solid #ffffff12;border-radius:13px;padding:12px;margin:0 5px 17px}.hbx-workspace small,.hbx-workspace b,.hbx-workspace span{display:block}.hbx-workspace small,.hbx-workspace span{font-size:11px;color:#b7cdc7}.hbx-workspace b{margin:4px 0}.hbx-sidenav{display:flex;flex-direction:column;gap:4px;overflow:auto}.hbx-sidenav button{border:0;background:transparent;color:#d8e7e3;text-align:left;padding:11px 12px;border-radius:9px;cursor:pointer;font-weight:650}.hbx-sidenav button:hover{background:#ffffff10;color:#fff}.hbx-sidenav button span{display:inline-block;width:25px}.hbx-nav-label{font-size:10px;letter-spacing:.12em;color:#75938b;padding:17px 12px 6px}.hbx-side-foot{margin-top:auto;border-top:1px solid #ffffff17;padding:14px 10px 0}.hbx-side-foot b,.hbx-side-foot small{display:block}.hbx-side-foot small{color:#a8c0ba;text-transform:capitalize}.hbx-main{margin-left:270px;width:calc(100% - 270px);min-width:0}.hbx-head{position:sticky;top:0;z-index:40;min-height:76px;background:#fffffff2;backdrop-filter:blur(12px);border-bottom:1px solid var(--hbx-line);padding:12px 28px;display:flex;align-items:center;gap:14px;justify-content:space-between}.hbx-title{min-width:0}.hbx-title small{color:var(--hbx-muted);font-weight:700}.hbx-title h1{font-size:24px!important;margin:2px 0!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hbx-head-actions{display:flex;align-items:center;gap:8px}.hbx-userchip{width:38px;height:38px;border-radius:50%;background:#dcefe9;color:var(--hbx-green);display:grid;place-items:center;font-weight:900}.hbx-menu{display:none;border:0;background:#e8f1ee;border-radius:9px;padding:9px 11px;font-size:20px}.hbx-content{padding:24px 28px 90px;max-width:1500px;margin:auto}.btn{background:var(--hbx-green);color:#fff;border:0;border-radius:9px;padding:11px 15px;font-weight:800;cursor:pointer}.btn:hover{filter:brightness(.96)}.btn.secondary{background:#e8efed;color:#193c33}.btn.small{padding:8px 10px;margin-top:5px}.topnav{display:flex;gap:8px;overflow:auto;margin:0 0 16px}.nav{border:1px solid var(--hbx-line);background:#fff;border-radius:9px;padding:9px 14px;white-space:nowrap;cursor:pointer}.nav.on{background:var(--hbx-deep);color:#fff}.hero{display:flex;justify-content:space-between;gap:20px;align-items:center;background:linear-gradient(120deg,var(--hbx-deep),var(--hbx-green));color:#fff;padding:26px;border-radius:18px;box-shadow:var(--hbx-shadow)}.hero h2{margin:5px 0;font-size:27px}.hero p{color:#d8ebe5;margin-bottom:0}.subbadge{background:#ffffff18;border:1px solid #ffffff2e;padding:12px 16px;border-radius:12px;min-width:150px}.subbadge b,.subbadge span{display:block;text-transform:capitalize}.subbadge span{font-size:12px;margin-top:4px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.stats div,.card,.detail,.empty,.wizard-card,.notice{background:#fff;border:1px solid var(--hbx-line);border-radius:14px;padding:17px;box-shadow:0 3px 15px rgba(13,37,48,.035)}.stats b{display:block;font-size:25px}.stats small,.wizard-card>small{color:var(--hbx-muted)}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.card{display:flex;gap:12px;align-items:center;cursor:pointer;transition:.18s}.card:hover{border-color:#83c7b7;transform:translateY(-1px);box-shadow:var(--hbx-shadow)}.card h3{margin:0 0 4px}.card p{margin:0 0 5px;color:var(--hbx-muted);font-size:12px}.avatar{width:50px;height:50px;border-radius:12px;background:#dff3ed;color:var(--hbx-green);display:flex;align-items:center;justify-content:center;font-weight:900}.detail{margin-top:18px}.sectionhead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.sectionhead h2{margin-top:0}.sectionhead p,.wizard p{color:var(--hbx-muted)}.tabs,.row{display:flex;gap:9px;flex-wrap:wrap;margin:12px 0}.list{border-top:1px solid var(--hbx-line);padding-top:6px}.list>div,.table>div{padding:12px 5px;border-bottom:1px solid var(--hbx-line);display:flex;gap:12px;justify-content:space-between;align-items:center}.empty{text-align:center;color:var(--hbx-muted)}.fin{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.fin div{padding:15px;border:1px solid var(--hbx-line);border-radius:12px;background:#fff}.fin b{display:block;font-size:20px}.fin small{color:var(--hbx-muted)}.wizard{max-width:930px;margin:10px auto}.progress{height:8px;background:#dce5e2;border-radius:20px;overflow:hidden}.progress div{height:100%;background:var(--hbx-green)}.steps{display:flex;justify-content:space-between;gap:8px;overflow:auto;margin:10px 0 18px}.steps span{font-size:11px;color:var(--hbx-muted);white-space:nowrap}.steps .on{font-weight:900;color:var(--hbx-green)}.steps .done{color:#28704f}.wizard-card{padding:28px}.wizard-card h2{font-size:25px;margin-bottom:5px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}.formgrid label{font-size:12px;font-weight:800}.formgrid input,.formgrid select,.workspace-switch select{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #cbd8d4;border-radius:9px;background:#fff}.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.plans>div{border:1px solid var(--hbx-line);padding:16px;border-radius:14px}.plans b,.plans strong,.plans small{display:block}.plans strong{font-size:19px;margin:8px 0}.plans small{color:var(--hbx-muted)}.checklist{display:grid;gap:8px;margin:18px 0}.success{background:#e7f7ee;color:#17643b;padding:10px;border-radius:10px}.error{padding:20px;background:#fff0f1;color:#a21d2a;border-radius:12px}.notice{margin:12px 0;text-align:center}.workspace-switch{display:flex;gap:8px;align-items:center;margin:12px 0;font-weight:700}.workspace-switch select{max-width:420px;margin:0}.hbx-bottom{display:none}
/* public front */.hbx-public{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:#f4f7f6;color:#17332c;min-height:100vh}.hbx-public-head{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,6vw);background:#fff;border-bottom:1px solid var(--hbx-line)}.hbx-public-brand{display:flex;align-items:center;gap:10px}.hbx-public-brand strong,.hbx-public-brand small{display:block}.hbx-public-brand strong{font-size:20px}.hbx-public-brand small{color:var(--hbx-muted);font-size:11px;text-transform:uppercase}.hbx-public-signin,.hbx-public-primary{background:var(--hbx-green);color:#fff!important;text-decoration:none;padding:11px 17px;border-radius:9px;font-weight:800}.hbx-public-hero{max-width:1320px;margin:auto;padding:70px max(24px,5vw);display:grid;grid-template-columns:1.3fr .7fr;gap:55px;align-items:center}.hbx-eyebrow{font-size:12px;font-weight:900;color:var(--hbx-green);letter-spacing:.12em}.hbx-public-hero h1{font-size:clamp(38px,5vw,67px);line-height:1.02;margin:14px 0 20px;max-width:820px}.hbx-public-hero p{font-size:18px;line-height:1.65;color:#526b64;max-width:760px}.hbx-public-actions{display:flex;align-items:center;gap:18px;margin-top:28px;flex-wrap:wrap}.hbx-public-actions span{font-size:13px;color:var(--hbx-muted)}.hbx-public-panel{background:var(--hbx-deep);color:#fff;border-radius:22px;padding:22px;box-shadow:0 24px 70px rgba(13,37,48,.2)}.hbx-public-panel>b{display:block;font-size:20px;margin-bottom:10px}.hbx-public-panel>div{background:#ffffff0c;border:1px solid #ffffff12;border-radius:12px;padding:14px;margin-top:10px}.hbx-public-panel strong,.hbx-public-panel span{display:block}.hbx-public-panel span{font-size:12px;color:#bcd0ca;margin-top:3px}.hbx-public-features{max-width:1320px;margin:0 auto 60px;padding:0 max(24px,5vw);display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.hbx-public-features article{background:#fff;border:1px solid var(--hbx-line);border-radius:14px;padding:20px}.hbx-public-features b,.hbx-public-features span{display:block}.hbx-public-features span{color:var(--hbx-muted);margin-top:6px}.hbx-public-foot{text-align:center;padding:25px;color:var(--hbx-muted);border-top:1px solid var(--hbx-line)}
@media(max-width:1000px){.cards{grid-template-columns:repeat(2,1fr)}.fin{grid-template-columns:repeat(3,1fr)}.hbx-public-hero{grid-template-columns:1fr}.hbx-public-panel{max-width:650px}}
@media(max-width:760px){.hbx-side{transform:translateX(-102%);transition:.2s;width:285px;box-shadow:20px 0 50px rgba(0,0,0,.18)}.hbx-side.open{transform:translateX(0)}.hbx-main{margin-left:0;width:100%}.hbx-head{padding:10px 14px;min-height:66px}.hbx-menu{display:block}.hbx-title h1{font-size:19px!important}.hbx-title small{font-size:10px}.hbx-head-actions>.btn{font-size:12px;padding:9px}.hbx-content{padding:14px 14px 90px}.hbx-bottom{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--hbx-line);z-index:55;padding:5px 4px calc(5px + env(safe-area-inset-bottom));box-shadow:0 -6px 22px rgba(13,37,48,.08)}.hbx-bottom button{border:0;background:transparent;color:#536c65;padding:5px 2px;min-width:0}.hbx-bottom span,.hbx-bottom small{display:block}.hbx-bottom span{font-size:20px;height:22px}.hbx-bottom small{font-size:9px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topnav{display:none}.cards,.stats,.fin,.plans,.formgrid{grid-template-columns:1fr}.hero{align-items:flex-start;flex-direction:column;padding:20px}.hero h2{font-size:23px}.steps{justify-content:flex-start}.table>div,.list>div{align-items:flex-start;flex-direction:column;gap:5px}.sectionhead{flex-direction:column}.wizard-card{padding:18px}.workspace-switch{align-items:flex-start;flex-direction:column}.workspace-switch select{max-width:100%}.hbx-public-head{padding:0 16px}.hbx-public-brand small{display:none}.hbx-public-hero{padding:45px 18px;gap:28px}.hbx-public-hero h1{font-size:40px}.hbx-public-hero p{font-size:16px}.hbx-public-features{grid-template-columns:1fr;padding:0 18px}.hbx-public-actions{align-items:flex-start;flex-direction:column}.hbx-public-signin{padding:9px 13px}}
/* V3.1.1 unified Hubarox sign-in */
.hbx-login-card{background:#fff;border:1px solid var(--hbx-line);border-radius:22px;padding:24px;box-shadow:0 24px 70px rgba(13,37,48,.14);max-width:460px;width:100%;justify-self:end}.hbx-login-heading{display:flex;align-items:center;gap:12px;margin-bottom:18px}.hbx-login-heading b,.hbx-login-heading small{display:block}.hbx-login-heading b{font-size:20px;color:var(--hbx-deep)}.hbx-login-heading small{font-size:12px;color:var(--hbx-muted);margin-top:3px}.hbx-login-card form{margin:0}.hbx-login-card form p{margin:0 0 14px!important;font-size:13px!important;color:#17332c!important}.hbx-login-card label{display:block;font-weight:800}.hbx-login-card input[type=text],.hbx-login-card input[type=password]{display:block;width:100%;margin-top:6px;padding:12px 13px;border:1px solid #cbd8d4;border-radius:10px;background:#fff;min-height:46px}.hbx-login-card .login-remember label{display:flex;align-items:center;gap:8px;font-weight:600}.hbx-login-card .login-submit{margin-bottom:0!important}.hbx-login-card .button-primary{width:100%;background:var(--hbx-green);color:#fff;border:0;border-radius:10px;padding:12px 16px;min-height:46px;font-weight:900;cursor:pointer}.hbx-login-help{display:flex;flex-direction:column;gap:7px;border-top:1px solid var(--hbx-line);padding-top:15px;margin-top:16px}.hbx-login-help a{font-weight:800;color:var(--hbx-green);text-decoration:none}.hbx-login-help span{font-size:11px;color:var(--hbx-muted)}
@media(max-width:1000px){.hbx-login-card{justify-self:start;max-width:620px}}
@media(max-width:760px){.hbx-login-card{padding:18px;border-radius:16px}.hbx-public-hero{padding-top:34px}.hbx-public-hero>div:first-child{order:1}.hbx-login-card{order:2}}
/* V3.1.1 school-style forms and modal workflow */
.hbx-logout{font-size:12px;font-weight:800;color:var(--hbx-green);text-decoration:none;padding:8px 10px;border-radius:8px;background:#e8f1ee}.hbx-modalback{position:fixed;inset:0;background:rgba(8,27,33,.56);z-index:99999;display:grid;place-items:center;padding:16px}.hbx-modal{width:min(680px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.28)}.hbx-modalhead{position:sticky;top:0;background:#fff;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--hbx-line)}.hbx-modalhead h2{font-size:20px;margin:0}.hbx-x{border:0;background:#edf3f1;width:36px;height:36px;border-radius:9px;font-size:24px;cursor:pointer}.hbx-modalbody{padding:20px}.hbx-modalbody .formgrid{margin:0}.hbx-modalbody label{font-size:12px;font-weight:800}.hbx-modalbody input,.hbx-modalbody select,.hbx-modalbody textarea{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #cbd8d4;border-radius:9px;background:#fff}.hbx-modalactions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px;padding-top:16px;border-top:1px solid var(--hbx-line)}.hbx-formnote{background:#f4f7f6;border-radius:10px;padding:12px;color:var(--hbx-muted);font-size:12px}
@media(max-width:760px){.hbx-logout{display:none}.hbx-modalback{padding:0;align-items:end}.hbx-modal{border-radius:18px 18px 0 0;max-height:92vh}.hbx-modalbody .formgrid{grid-template-columns:1fr}.hbx-modalactions{position:sticky;bottom:0;background:#fff;padding-bottom:calc(4px + env(safe-area-inset-bottom))}}
/* V3.2 complete workflow dialog conversion */
.hbx-quickdialog{width:min(560px,100%)}.hbx-dialoglabel{font-weight:800;color:var(--hbx-deep);line-height:1.45;margin:0 0 14px;white-space:pre-line}.hbx-dialoginput{display:block;width:100%;min-height:48px;padding:12px 13px;border:1px solid #cbd8d4;border-radius:10px;background:#fff;font:inherit}.hbx-dialoginput:focus{outline:3px solid rgba(17,135,109,.15);border-color:var(--hbx-green2)}


/* V3.2.1 QA: application feedback and accessible workflow dialogs */
.hbx-toast-region{position:fixed;right:18px;top:18px;z-index:100000;display:grid;gap:10px;width:min(390px,calc(100vw - 32px));pointer-events:none}
.hbx-toast{background:#fff;border:1px solid #dce6e2;border-left:5px solid #0b6b55;border-radius:12px;box-shadow:0 14px 40px rgba(13,37,48,.18);padding:13px 15px;color:#17332c;font-weight:700;opacity:0;transform:translateY(-8px);transition:.2s ease}
.hbx-toast.show{opacity:1;transform:none}.hbx-toast.error{border-left-color:#b42318}.hbx-toast.success{border-left-color:#0b6b55}
.hbx-single-field{display:grid;gap:8px}.hbx-single-field span{font-weight:800;color:#17332c}.hbx-confirm-text{font-size:1rem;line-height:1.55;color:#334e47;margin:4px 0 8px}
@media(max-width:600px){.hbx-toast-region{top:12px;right:16px;left:16px;width:auto}.hbx-toast{font-size:.94rem}.hbx-modal{max-height:88dvh;overflow:auto}.hbx-modalactions{position:sticky;bottom:0;background:#fff;padding-top:12px}}

.hbx-role-note{margin:14px 0;padding:12px 14px;border:1px solid #dce6e2;border-radius:12px;background:#f7faf9;color:#60736d;font-size:.92rem}.hbx-role-actions{align-items:center;justify-content:flex-end}
@media(max-width:700px){.hbx-role-actions{justify-content:flex-start;width:100%}.hbx-role-actions .btn{flex:1 1 calc(50% - 8px)}}

/* V3.5 bounded booking calendar */
.calendar-wrap{overflow:auto;max-width:100%;border:1px solid #dfe7e4;border-radius:12px}.booking-grid{border-collapse:collapse;min-width:760px;width:100%}.booking-grid th,.booking-grid td{padding:9px 7px;border:1px solid #e5ebe9;text-align:center;white-space:nowrap}.booking-grid tbody th{position:sticky;left:0;background:#fff;text-align:left;z-index:1}.booking-grid td.booked{font-weight:800}.booking-grid td.free{opacity:.45}@media(max-width:600px){.booking-grid th,.booking-grid td{padding:8px 6px;font-size:12px}}
/* V4.0 visual property control */
.hbx-visual-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:18px 0}.hbx-visual-summary>div{border:1px solid var(--hbx-line);border-radius:13px;padding:14px;background:#fff}.hbx-visual-summary b,.hbx-visual-summary small{display:block}.hbx-visual-summary b{font-size:24px}.hbx-visual-summary small{color:var(--hbx-muted)}.hbx-legend{display:flex;gap:16px;flex-wrap:wrap;margin:12px 0 20px;font-size:12px;font-weight:800}.hbx-building{margin:20px 0}.hbx-building h3{margin:0 0 10px}.hbx-unit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.hbx-unit-card{border:1px solid var(--hbx-line);background:#fff;border-radius:13px;padding:14px;text-align:left;cursor:pointer;min-height:118px;position:relative;box-shadow:0 3px 12px rgba(13,37,48,.035)}.hbx-unit-card:hover{transform:translateY(-1px);box-shadow:var(--hbx-shadow)}.hbx-unit-card b,.hbx-unit-card strong,.hbx-unit-card small{display:block}.hbx-unit-card strong{text-transform:capitalize;margin:7px 0;font-size:12px}.hbx-unit-card small{color:var(--hbx-muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hbx-status-dot{width:9px;height:9px;border-radius:50%;position:absolute;right:12px;top:12px;background:#94a3b8}.status-occupied{color:#16834f}.status-vacant{color:#d34848}.status-reserved{color:#2875cf}.status-maintenance{color:#b7791f}.hbx-unit-card.status-occupied{background:#effaf3;border-color:#b9e4c9}.hbx-unit-card.status-vacant{background:#fff3f3;border-color:#f0c5c5}.hbx-unit-card.status-reserved{background:#eff6ff;border-color:#bfd7f7}.hbx-unit-card.status-maintenance{background:#fff8e8;border-color:#ead49d}.hbx-unit-card.status-occupied .hbx-status-dot{background:#22a861}.hbx-unit-card.status-vacant .hbx-status-dot{background:#e65757}.hbx-unit-card.status-reserved .hbx-status-dot{background:#3988e8}.hbx-unit-card.status-maintenance .hbx-status-dot{background:#d49b25}.hbx-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hbx-info-grid>div{border:1px solid var(--hbx-line);border-radius:11px;padding:12px}.hbx-info-grid small,.hbx-info-grid b{display:block}.hbx-info-grid small{color:var(--hbx-muted);margin-bottom:4px}.hbx-panel-state{display:flex;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:11px;background:#f5f8f7;margin-bottom:14px;text-transform:capitalize}.hbx-visual-action{margin-top:18px}.booking-grid td{cursor:default}
@media(max-width:1000px){.hbx-unit-grid{grid-template-columns:repeat(3,1fr)}.hbx-visual-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.hbx-unit-grid{grid-template-columns:repeat(2,1fr)}.hbx-visual-summary{grid-template-columns:repeat(2,1fr)}.hbx-info-grid{grid-template-columns:1fr}.hbx-unit-card{min-height:108px;padding:12px}}
@media(max-width:390px){.hbx-unit-grid{grid-template-columns:1fr 1fr;gap:7px}.hbx-unit-card{font-size:12px}}

.hbx-maint-badge{display:inline-flex;align-items:center;font-size:12px;font-weight:700;padding:3px 7px;border:1px solid currentColor;border-radius:999px;margin-top:4px}
