/* AxTrax Access Control - Enterprise Control Center UI v1.2.6 FUNCTIONAL PORTAL REPAIR
   Strictly contained inside Perfex client portal. No 100vw, no wide shell, no overflow. */
.ax-wrap,.ax-portal{
  font-family:Inter,Arial,sans-serif!important;
  color:#d8e2f0!important;
  background:#0b1220!important;
  border:1px solid #1f2a3d!important;
  border-radius:16px!important;
  padding:14px!important;
  margin:0!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  display:block!important;
  float:none!important;
  clear:both!important;
}
.ax-wrap *,.ax-portal *{box-sizing:border-box!important;max-width:100%}
.ax-shell{width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:0!important;overflow:hidden!important;display:block!important}
.ax-head,.axp-head{
  background:#111827!important;border:1px solid #263449!important;border-radius:14px!important;
  padding:14px!important;margin:0 0 10px 0!important;display:flex!important;align-items:center!important;
  justify-content:space-between!important;gap:12px!important;box-shadow:none!important;position:relative!important;overflow:hidden!important;width:100%!important
}
.ax-head:before,.axp-head:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:#2563eb}
.ax-eyebrow{font-size:10px!important;letter-spacing:.16em!important;text-transform:uppercase!important;font-weight:900!important;color:#93a4bb!important;line-height:1.2!important}
.ax-head h1,.axp-head h2{margin:5px 0 3px!important;font-size:23px!important;line-height:1.1!important;font-weight:900!important;color:#fff!important}
.ax-head p,.axp-head p{margin:0!important;color:#9aa8bb!important;font-weight:700!important;font-size:13px!important;line-height:1.35!important}
.ax-dot{display:inline-block!important;width:9px!important;height:9px!important;border-radius:999px!important;margin-right:6px!important;vertical-align:middle!important;background:#64748b!important}
.ax-dot.online{background:#22c55e!important;box-shadow:0 0 0 4px rgba(34,197,94,.14)!important}.ax-dot.offline{background:#ef4444!important;box-shadow:0 0 0 4px rgba(239,68,68,.14)!important}
.ax-actions{display:flex!important;gap:8px!important;align-items:center!important;justify-content:flex-end!important;flex:0 0 auto!important;min-width:0!important}.ax-count{height:50px!important;min-width:76px!important;border:1px solid #263449!important;background:#0f172a!important;border-radius:12px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important}.ax-count b{font-size:21px!important;color:#fff!important;line-height:1!important}.ax-count small{text-transform:uppercase!important;font-size:8px!important;font-weight:900!important;color:#93a4bb!important}
.ax-emergency-btn{border:0!important;border-radius:10px!important;background:#991b1b!important;color:#fff!important;font-weight:900!important;height:40px!important;padding:0 14px!important;white-space:nowrap!important}
.ax-health{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;margin:10px 0!important;width:100%!important}.ax-stat-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important;margin:10px 0!important;width:100%!important}.ax-health-tile,.ax-stat{background:#111827!important;border:1px solid #263449!important;border-radius:12px!important;padding:10px!important;min-height:58px!important;overflow:hidden!important}.ax-health-tile small,.ax-stat small{display:block!important;color:#93a4bb!important;text-transform:uppercase!important;font-size:9px!important;font-weight:900!important;letter-spacing:.08em!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.ax-health-tile b,.ax-stat b{display:block!important;margin-top:5px!important;color:#fff!important;font-size:17px!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.ax-stat.is-online b{color:#22c55e!important}.ax-stat.is-offline b{color:#ef4444!important}.ax-stat.is-opening b{color:#f59e0b!important}.ax-stat.is-ready b{color:#38bdf8!important}.ax-stat.is-alarm b{color:#ef4444!important}
.ax-event-bar{margin:10px 0!important;border:1px solid #263449!important;background:#0f172a!important;border-radius:12px!important;padding:9px 11px!important;display:flex!important;gap:9px!important;align-items:center!important;min-height:39px!important;overflow:hidden!important;width:100%!important}.ax-event-label{color:#93a4bb!important;font-size:10px!important;text-transform:uppercase!important;font-weight:900!important;letter-spacing:.1em!important;white-space:nowrap!important}.ax-event-stream{color:#e5edf7!important;font-weight:800!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;min-width:0!important}
.ax-toolbar{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:9px!important;align-items:center!important;margin:10px 0 12px!important;width:100%!important;overflow:hidden!important}.ax-search{height:40px!important;border:1px solid #334155!important;background:#0f172a!important;color:#e5edf7!important;border-radius:10px!important;padding:0 12px!important;font-weight:800!important;outline:none!important;width:100%!important;min-width:0!important;max-width:none!important}.ax-search::placeholder{color:#64748b!important}.ax-view-tabs{display:flex!important;gap:7px!important;justify-content:flex-end!important;min-width:0!important;flex-wrap:nowrap!important}.ax-view-btn{height:40px!important;border:1px solid #334155!important;background:#111827!important;color:#cbd5e1!important;padding:0 12px!important;border-radius:10px!important;font-weight:900!important;white-space:nowrap!important}.ax-view-btn.is-active{background:#2563eb!important;color:#fff!important;border-color:#2563eb!important}
.ax-view{display:none!important;width:100%!important;overflow:hidden!important}.ax-view.is-active{display:block!important}.ax-grid,.axp-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))!important;gap:12px!important;width:100%!important;max-width:100%!important;align-items:start!important;overflow:hidden!important}.ax-group-title{grid-column:1/-1!important;margin:6px 0 0!important;color:#93a4bb!important;text-transform:uppercase!important;font-size:11px!important;font-weight:900!important;letter-spacing:.11em!important;border-bottom:1px solid #263449!important;padding-bottom:8px!important;min-width:0!important}.ax-card,.axp-card{background:#111827!important;border:1px solid #263449!important;border-radius:15px!important;padding:13px!important;box-shadow:none!important;position:relative!important;overflow:hidden!important;min-height:0!important;display:flex!important;flex-direction:column!important;width:100%!important;min-width:0!important}.ax-card:before,.axp-card:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:#334155}.ax-card[data-door-state="ready"]:before,.axp-card[data-door-state="ready"]:before{background:#22c55e}.ax-card[data-door-state="opening"]:before,.axp-card[data-door-state="opening"]:before{background:#f59e0b}.ax-card[data-door-state="open"]:before,.ax-card[data-door-state="alarm"]:before,.axp-card[data-door-state="alarm"]:before,.axp-card[data-door-state="open"]:before,.ax-card[data-door-state="alarm"]:before,.axp-card[data-door-state="alarm"]:before{background:#ef4444}.ax-card[data-door-state="offline"]:before,.axp-card[data-door-state="offline"]:before{background:#64748b}.ax-card-head,.axp-title{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:8px!important;margin-bottom:10px!important;min-width:0!important}.ax-card h3,.axp-card h3{margin:0!important;color:#fff!important;font-size:17px!important;line-height:1.18!important;font-weight:900!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.ax-card p,.axp-card p{margin:4px 0 0!important;color:#93a4bb!important;font-weight:700!important;font-size:12px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.ax-pill{display:inline-flex!important;align-items:center!important;height:25px!important;padding:0 9px!important;border-radius:999px!important;font-size:10px!important;text-transform:uppercase!important;letter-spacing:.04em!important;font-weight:900!important;border:1px solid transparent!important;white-space:nowrap!important;flex:0 0 auto!important}.ax-pill.ok,.ax-pill.ready{background:rgba(34,197,94,.12)!important;color:#4ade80!important;border-color:rgba(34,197,94,.35)!important}.ax-pill.bad,.ax-pill.offline{background:rgba(100,116,139,.13)!important;color:#cbd5e1!important;border-color:rgba(148,163,184,.25)!important}.ax-pill.open{background:rgba(239,68,68,.13)!important;color:#f87171!important;border-color:rgba(239,68,68,.35)!important}.ax-pill.opening{background:rgba(245,158,11,.13)!important;color:#fbbf24!important;border-color:rgba(245,158,11,.35)!important}.ax-door-state{display:flex!important;align-items:center!important;gap:10px!important;background:#0b1220!important;border:1px solid #263449!important;border-radius:12px!important;padding:10px!important;margin:5px 0 10px!important;min-width:0!important}.ax-state-dot{width:12px!important;height:12px!important;border-radius:999px!important;background:#64748b!important;box-shadow:0 0 0 4px rgba(100,116,139,.14)!important;flex:0 0 auto!important}.ax-card[data-door-state="ready"] .ax-state-dot,.axp-card[data-door-state="ready"] .ax-state-dot,.ax-floor-door.is-ready .ax-state-dot,.ax-wall-door.is-ready .ax-state-dot{background:#22c55e!important;box-shadow:0 0 0 4px rgba(34,197,94,.14)!important}.ax-card[data-door-state="opening"] .ax-state-dot,.axp-card[data-door-state="opening"] .ax-state-dot,.ax-floor-door.is-opening .ax-state-dot,.ax-wall-door.is-opening .ax-state-dot{background:#f59e0b!important;box-shadow:0 0 0 4px rgba(245,158,11,.14)!important}.ax-card[data-door-state="open"] .ax-state-dot,.axp-card[data-door-state="open"] .ax-state-dot,.ax-card[data-door-state="alarm"] .ax-state-dot,.axp-card[data-door-state="alarm"] .ax-state-dot,.ax-floor-door.is-open .ax-state-dot,.ax-wall-door.is-open .ax-state-dot,.ax-floor-door.is-alarm .ax-state-dot,.ax-wall-door.is-alarm .ax-state-dot{background:#ef4444!important;box-shadow:0 0 0 4px rgba(239,68,68,.14)!important}.ax-state-main{display:block!important;color:#fff!important;font-size:16px!important;font-weight:900!important}.ax-state-sub{display:block!important;color:#93a4bb!important;font-size:11px!important;font-weight:800!important;margin-top:2px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.ax-code,.ax-card code{display:inline-block!important;color:#a9b6ca!important;background:#0b1220!important;border:1px solid #263449!important;border-radius:8px!important;padding:5px 7px!important;margin:0 0 9px!important;font-size:11px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.ax-card-actions,.axp-actions{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;gap:7px!important;margin-top:auto!important;width:100%!important}.ax-open,.axp-open{border:0!important;border-radius:10px!important;background:#15803d!important;color:#fff!important;font-size:14px!important;font-weight:900!important;height:40px!important;padding:0 12px!important;box-shadow:none!important;min-width:0!important}.ax-status,.axp-status,.ax-history-btn{border:1px solid #334155!important;border-radius:10px!important;background:#0f172a!important;color:#dbeafe!important;font-weight:900!important;height:40px!important;padding:0 11px!important;white-space:nowrap!important}.ax-open:disabled,.axp-open:disabled,.ax-status:disabled,.axp-status:disabled{opacity:.45!important;cursor:not-allowed!important}.ax-result{min-height:36px!important;margin:9px 0 0!important;padding:8px 9px!important;border:1px solid #263449!important;border-radius:10px!important;background:#0b1220!important;color:#cbd5e1!important;overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important;font-size:12px!important;font-weight:800!important;width:100%!important}.ax-result.is-waiting{color:#93a4bb!important}.ax-result.is-sending{color:#fbbf24!important;border-color:rgba(245,158,11,.4)!important}.ax-result.is-ok{color:#4ade80!important;border-color:rgba(34,197,94,.35)!important}.ax-result.is-error{color:#f87171!important;border-color:rgba(239,68,68,.35)!important}.ax-result.is-info{color:#93c5fd!important}.ax-floorplan,.ax-wallboard{border:1px solid #263449!important;background:#0f172a!important;border-radius:14px!important;padding:14px!important;min-height:240px!important;overflow:hidden!important;width:100%!important}.ax-floor-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(155px,1fr))!important;gap:10px!important}.ax-wall-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(110px,1fr))!important;gap:10px!important}.ax-floor-door,.ax-wall-door{background:#111827!important;border:1px solid #263449!important;border-radius:12px!important;padding:12px!important;color:#fff!important;font-weight:900!important;display:flex!important;align-items:center!important;gap:9px!important;min-width:0!important;overflow:hidden!important}.ax-floor-door span:last-child,.ax-wall-door span:last-child{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.ax-wall-door{justify-content:center!important;min-height:72px!important;text-align:center!important;font-size:12px!important;flex-direction:column!important}.ax-history-panel{position:fixed!important;right:18px!important;top:84px!important;bottom:18px!important;width:min(420px,calc(100vw - 36px))!important;background:#111827!important;border:1px solid #263449!important;border-radius:16px!important;box-shadow:0 24px 70px rgba(0,0,0,.45)!important;z-index:99999!important;display:none!important;overflow:hidden!important}.ax-history-panel.is-open{display:block!important}.ax-history-head{padding:14px!important;border-bottom:1px solid #263449!important;display:flex!important;justify-content:space-between!important;gap:10px!important;align-items:center!important}.ax-history-head h3{margin:0!important;color:#fff!important;font-weight:900!important}.ax-history-close{border:1px solid #334155!important;border-radius:10px!important;background:#0f172a!important;color:#dbeafe!important;font-weight:900!important;height:38px!important;padding:0 11px!important}.ax-history-list{padding:14px!important;overflow:auto!important;max-height:calc(100% - 66px)!important}.ax-history-item{padding:10px!important;border:1px solid #263449!important;background:#0b1220!important;border-radius:10px!important;margin-bottom:8px!important;color:#d8e2f0!important;font-weight:800!important}.ax-hidden{display:none!important}.ax-no-results{grid-column:1/-1!important;text-align:center!important;color:#93a4bb!important;padding:26px!important;border:1px dashed #334155!important;border-radius:13px!important}.ax-order a{display:inline-flex!important;width:25px!important;height:25px!important;align-items:center!important;justify-content:center!important;border:1px solid #334155!important;border-radius:8px!important;background:#0f172a!important;margin-left:3px!important;font-weight:900!important;color:#e5edf7!important}.ax-admin-edit{height:40px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:10px!important}
@media(max-width:1100px){.ax-health{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ax-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.ax-toolbar{grid-template-columns:1fr!important}.ax-view-tabs{justify-content:stretch!important;flex-wrap:wrap!important}.ax-view-btn{flex:1 1 auto!important}.ax-search{width:100%!important}.axp-head,.ax-head{align-items:flex-start!important;flex-direction:column!important}.ax-actions{width:100%!important;justify-content:flex-start!important}.ax-count{display:none!important}}
@media(max-width:700px){.ax-wrap,.ax-portal{padding:10px!important;border-radius:0!important}.ax-health,.ax-stat-grid{grid-template-columns:1fr!important}.ax-grid,.axp-grid{grid-template-columns:1fr!important}.ax-card,.axp-card{padding:13px!important}.ax-card-actions,.axp-actions{grid-template-columns:1fr!important}.ax-open,.axp-open,.ax-status,.axp-status,.ax-history-btn{height:50px!important;font-size:15px!important;width:100%!important}.ax-head h1,.axp-head h2{font-size:21px!important}.ax-floor-grid,.ax-wall-grid{grid-template-columns:1fr!important}.ax-history-panel{right:8px!important;top:70px!important;bottom:8px!important;width:calc(100vw - 16px)!important}.ax-event-bar{align-items:flex-start!important;flex-direction:column!important}.ax-view-tabs{display:grid!important;grid-template-columns:1fr!important}}


/* v1.2.7 functional admin button fix */
.ax-admin-actions{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:7px!important;margin-top:auto!important;width:100%!important}
.ax-admin-actions .ax-open{flex:1 1 125px!important;min-width:125px!important}
.ax-admin-actions .ax-status,.ax-admin-actions .ax-history-btn{flex:0 0 auto!important;min-width:78px!important}
.ax-admin-actions .ax-admin-edit{flex:0 0 44px!important;width:44px!important;min-width:44px!important;padding:0!important;background:#0f172a!important;color:#e5edf7!important;border:1px solid #334155!important;margin:0!important}
.ax-admin-actions .ax-order{display:inline-flex!important;gap:5px!important;align-items:center!important;flex:0 0 auto!important}
.ax-admin-actions .ax-order a{margin:0!important;width:32px!important;height:32px!important;text-decoration:none!important}
@media(max-width:700px){.ax-admin-actions{display:grid!important;grid-template-columns:1fr!important}.ax-admin-actions .ax-open,.ax-admin-actions .ax-status,.ax-admin-actions .ax-history-btn,.ax-admin-actions .ax-admin-edit{width:100%!important;min-width:0!important;flex:auto!important}.ax-admin-actions .ax-order{width:100%!important}.ax-admin-actions .ax-order a{flex:1 1 0!important;height:42px!important}}

.ax-history-actor{margin:6px 0 4px 0;font-size:13px;line-height:1.35}
.ax-history-actor span,.ax-history-user-item div span{color:#9fb0c8;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.08em}
.ax-history-actor strong{color:#fff;font-size:14px}


/* v1.3.6 portal wide + grouping rollback */
.ax-portal{
  width:min(1360px, calc(100vw - 56px))!important;
  max-width:none!important;
  margin-left:50%!important;
  transform:translateX(-50%)!important;
  padding:16px!important;
}
.ax-portal .ax-shell{width:100%!important;max-width:none!important}
.ax-portal .axp-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(255px,1fr))!important;
  gap:16px!important;
  align-items:start!important;
}
.ax-portal .ax-group-title{grid-column:1/-1!important;margin-top:10px!important}
.ax-portal .axp-card{width:100%!important;min-width:0!important;max-width:none!important}
.ax-ops-panel{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;background:#101827!important;border:1px solid #263449!important;border-radius:12px!important;padding:10px 12px!important;margin:0 0 10px!important;width:100%!important}
.ax-ops-main{display:flex!important;align-items:center!important;gap:11px!important;min-width:0!important}.ax-ops-main b{display:block!important;color:#fff!important;font-size:14px!important;font-weight:900!important}.ax-ops-main span.ax-ops-sub{display:block!important;color:#93a4bb!important;font-size:12px!important;font-weight:800!important;white-space:normal!important}.ax-ops-dot{width:14px!important;height:14px!important;border-radius:999px!important;background:#64748b!important;box-shadow:0 0 0 5px rgba(100,116,139,.15)!important;flex:0 0 auto!important}.ax-ops-dot.online{background:#22c55e!important;box-shadow:0 0 0 5px rgba(34,197,94,.14)!important}.ax-ops-dot.offline{background:#ef4444!important;box-shadow:0 0 0 5px rgba(239,68,68,.14)!important}.ax-ops-mini{display:flex!important;gap:8px!important;flex:0 0 auto!important}.ax-ops-mini span{display:flex!important;flex-direction:column!important;min-width:70px!important;border:1px solid #263449!important;background:#0b1220!important;border-radius:10px!important;padding:7px 9px!important}.ax-ops-mini b{color:#fff!important;font-size:16px!important;line-height:1!important}.ax-ops-mini small{color:#93a4bb!important;text-transform:uppercase!important;font-size:9px!important;font-weight:900!important;margin-top:4px!important}
.ax-view-note{grid-column:1/-1!important;display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;background:#0b1220!important;border:1px solid #263449!important;border-radius:12px!important;padding:10px 12px!important;margin-bottom:12px!important}.ax-view-note b{color:#fff!important;font-size:15px!important;font-weight:900!important}.ax-view-note span{color:#93a4bb!important;font-size:12px!important;font-weight:800!important}.ax-floor-door,.ax-wall-door{cursor:pointer!important}.ax-floor-door:hover,.ax-wall-door:hover{border-color:#60a5fa!important}.ax-wallboard{min-height:480px!important}.ax-wall-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))!important}.ax-wall-door{min-height:118px!important;font-size:15px!important}.ax-wall-door .ax-state-dot{width:18px!important;height:18px!important}
@media(max-width:900px){.ax-portal{width:calc(100vw - 20px)!important;padding:12px!important}.ax-ops-panel{align-items:flex-start!important;flex-direction:column!important}.ax-ops-mini{width:100%!important}.ax-ops-mini span{flex:1!important}.ax-portal .axp-grid{grid-template-columns:1fr!important}.ax-view-note{align-items:flex-start!important;flex-direction:column!important}}

/* v1.3.8 */
.axp-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))!important;gap:16px!important}.ax-group-title{grid-column:1/-1!important}.axp-card{width:100%!important;max-width:none!important}


/* v1.3.9 portal: remove duplicated health tiles and widen content */
.ax-portal{
  width:min(1760px, calc(100vw - 24px))!important;
  max-width:none!important;
  margin-left:50%!important;
  transform:translateX(-50%)!important;
  padding:16px!important;
}
.ax-portal .ax-health{display:none!important}
.ax-portal .axp-grid{
  grid-template-columns:repeat(auto-fit,minmax(420px,1fr))!important;
  gap:18px!important;
}
.ax-portal .axp-card{min-height:0!important}
.ax-portal .ax-stat-grid{margin-top:10px!important}
@media(max-width:1200px){.ax-portal .axp-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))!important}}
@media(max-width:700px){.ax-portal{width:calc(100vw - 12px)!important;padding:10px!important}.ax-portal .axp-grid{grid-template-columns:1fr!important}}

/* v1.4.2 bridge-safe functional floorplan/wallboard */
.ax-portal{width:min(1880px,calc(100vw - 12px))!important;max-width:1880px!important;padding:14px!important}
.ax-portal .axp-grid{grid-template-columns:repeat(auto-fit,minmax(380px,1fr))!important;gap:18px!important;width:100%!important}
.ax-portal .axp-card{min-width:0!important;max-width:none!important}
.ax-portal .ax-group-title{grid-column:1/-1!important}
.ax-operational-map,.ax-noc-board{width:100%!important;max-width:none!important}
.ax-floor-zones{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(430px,1fr))!important;gap:16px!important;width:100%!important}
.ax-floor-zone{background:#0b1220!important;border:1px solid #263449!important;border-radius:15px!important;padding:12px!important;min-width:0!important}
.ax-zone-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;border-bottom:1px solid #263449!important;padding-bottom:9px!important;margin-bottom:12px!important}
.ax-zone-head b{color:#fff!important;font-size:15px!important;font-weight:900!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.ax-zone-head small{color:#93a4bb!important;font-size:11px!important;font-weight:900!important;white-space:nowrap!important}
.ax-floor-zone .ax-floor-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important;gap:12px!important}
.ax-floor-door{display:flex!important;align-items:stretch!important;flex-direction:column!important;gap:8px!important;min-height:132px!important;cursor:default!important;background:#111827!important;border:1px solid #263449!important;border-radius:14px!important;padding:12px!important}
.ax-floor-main{display:flex!important;align-items:center!important;gap:9px!important;min-width:0!important}
.ax-floor-main span:last-child{color:#fff!important;font-size:15px!important;font-weight:900!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.ax-floor-door small{color:#93a4bb!important;font-weight:800!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.ax-floor-actions{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;gap:7px!important;margin-top:auto!important}
.ax-mini-open,.ax-mini-status,.ax-mini-history{height:36px!important;border-radius:9px!important;font-size:12px!important;font-weight:900!important;border:1px solid #334155!important;background:#0f172a!important;color:#dbeafe!important;padding:0 8px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.ax-mini-open{background:#15803d!important;border-color:#15803d!important;color:#fff!important}
.ax-mini-open:disabled,.ax-mini-status:disabled{opacity:.45!important;cursor:not-allowed!important}
.ax-noc-board{min-height:calc(100vh - 260px)!important;padding:16px!important;background:#050b14!important}
.ax-wall-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;background:#0b1220!important;border:1px solid #263449!important;border-radius:14px!important;padding:14px!important;margin-bottom:16px!important}
.ax-wall-head b{display:block!important;color:#fff!important;font-size:24px!important;font-weight:900!important;line-height:1.1!important}
.ax-wall-head span{display:block!important;color:#93a4bb!important;font-size:13px!important;font-weight:800!important;margin-top:4px!important}
.ax-wall-clock{color:#fff!important;font-size:30px!important;font-weight:900!important;letter-spacing:.04em!important;background:#111827!important;border:1px solid #263449!important;border-radius:12px!important;padding:10px 14px!important}
.ax-noc-board .ax-wall-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;gap:16px!important}
.ax-noc-board .ax-wall-door{display:flex!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;min-height:150px!important;border-radius:16px!important;padding:16px!important;background:#111827!important;border:1px solid #263449!important;cursor:pointer!important}
.ax-noc-board .ax-wall-door .ax-state-dot{width:24px!important;height:24px!important;margin-bottom:8px!important}
.ax-noc-board .ax-wall-door strong{color:#fff!important;font-size:20px!important;font-weight:900!important;line-height:1.15!important;text-align:center!important;max-width:100%;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.ax-noc-board .ax-wall-door small{color:#93a4bb!important;font-size:12px!important;font-weight:800!important;text-align:center!important;max-width:100%;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.ax-noc-board .ax-wall-door em{font-style:normal!important;color:#cbd5e1!important;font-size:13px!important;font-weight:900!important;text-transform:uppercase!important;margin-top:8px!important}
.ax-noc-board .ax-wall-door.is-ready em{color:#4ade80!important}.ax-noc-board .ax-wall-door.is-opening em{color:#fbbf24!important}.ax-noc-board .ax-wall-door.is-alarm em,.ax-noc-board .ax-wall-door.is-open em{color:#f87171!important}.ax-noc-board .ax-wall-door.is-offline em{color:#cbd5e1!important}
@media(max-width:1200px){.ax-portal .axp-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))!important}.ax-floor-zones{grid-template-columns:1fr!important}}
@media(max-width:700px){.ax-portal{width:calc(100vw - 8px)!important;padding:8px!important}.ax-portal .axp-grid{grid-template-columns:1fr!important}.ax-floor-actions{grid-template-columns:1fr!important}.ax-noc-board .ax-wall-grid{grid-template-columns:1fr 1fr!important}.ax-wall-head{align-items:flex-start!important;flex-direction:column!important}.ax-wall-clock{width:100%!important;text-align:center!important}}

/* v1.5.0 - Per-door portal lock, no layout resize */
.ax-portal-lock{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:40px!important;min-width:40px!important;height:40px!important;padding:0!important;border:1px solid #475569!important;border-radius:10px!important;background:#111827!important;color:#e2e8f0!important;font-weight:900!important;white-space:nowrap!important;flex:0 0 40px!important}
.ax-portal-lock.is-locked{background:rgba(239,68,68,.14)!important;border-color:rgba(239,68,68,.45)!important;color:#fca5a5!important}
.ax-card.is-portal-locked,.axp-card.is-portal-locked,.ax-floor-door.is-portal-locked,.ax-wall-door.is-portal-locked{border-color:rgba(239,68,68,.38)!important}
.axp-card.is-portal-locked .axp-open,.ax-floor-door.is-portal-locked .ax-mini-open{background:#334155!important;color:#cbd5e1!important;opacity:.8!important;cursor:not-allowed!important}
@media(max-width:700px){.ax-admin-actions .ax-portal-lock{width:100%!important;min-width:0!important;flex:auto!important;height:46px!important}}


/* v1.5.1 - PORTAL SAME COMPACT GRID AS ADMIN - layout only */
.ax-portal .axp-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr))!important;
  gap:12px!important;
  width:100%!important;
  max-width:100%!important;
  align-items:start!important;
}
.ax-portal .axp-card{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  padding:13px!important;
  border-radius:15px!important;
}
.ax-portal .axp-title h3{font-size:17px!important;line-height:1.18!important;}
.ax-portal .ax-door-state{padding:10px!important;margin:5px 0 10px!important;}
.ax-portal .ax-state-main{font-size:16px!important;}
.ax-portal .ax-code{padding:5px 7px!important;margin:0 0 9px!important;font-size:11px!important;}
.ax-portal .axp-actions{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;gap:7px!important;margin-top:auto!important;}
.ax-portal .axp-open,.ax-portal .axp-status,.ax-portal .ax-history-btn{height:40px!important;font-size:14px!important;border-radius:10px!important;}
.ax-portal .ax-result{min-height:36px!important;margin:9px 0 0!important;padding:8px 9px!important;font-size:12px!important;}
@media(max-width:700px){
  .ax-portal .axp-grid{grid-template-columns:1fr!important;}
  .ax-portal .axp-actions{grid-template-columns:1fr!important;}
  .ax-portal .axp-open,.ax-portal .axp-status,.ax-portal .ax-history-btn{height:50px!important;font-size:15px!important;width:100%!important;}
}

/* v1.5.2 - Portal compact fixed columns like admin; NO core/admin/status changes */
.ax-portal .axp-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,230px)!important;
  gap:12px!important;
  justify-content:start!important;
  align-items:start!important;
  width:100%!important;
}
.ax-portal .axp-card{
  width:230px!important;
  min-width:230px!important;
  max-width:230px!important;
  padding:13px!important;
  border-radius:15px!important;
}
.ax-portal .axp-title h3{
  font-size:17px!important;
  line-height:1.18!important;
}
.ax-portal .ax-door-state{
  padding:10px!important;
  margin:5px 0 10px!important;
}
.ax-portal .axp-actions{
  grid-template-columns:minmax(0,1fr) auto auto!important;
  gap:7px!important;
}
@media(max-width:700px){
  .ax-portal .axp-grid{grid-template-columns:1fr!important;}
  .ax-portal .axp-card{width:100%!important;min-width:0!important;max-width:none!important;}
}


/* v1.5.3 - professional status colors + clean portal lock appearance; NO layout/core changes */
.ax-card[data-door-state="offline"],
.axp-card[data-door-state="offline"]{
  border-color:#263449!important;
}
.ax-card[data-door-state="offline"]:before,
.axp-card[data-door-state="offline"]:before{
  background:#64748b!important;
}
.ax-card[data-door-state="opening"]:before,
.axp-card[data-door-state="opening"]:before{
  background:#f59e0b!important;
}
.ax-card[data-door-state="alarm"]:before,
.axp-card[data-door-state="alarm"]:before,
.ax-card[data-door-state="open"]:before,
.axp-card[data-door-state="open"]:before{
  background:#ef4444!important;
}
.ax-card.is-portal-locked,
.axp-card.is-portal-locked,
.ax-floor-door.is-portal-locked,
.ax-wall-door.is-portal-locked{
  border-color:#263449!important;
}
.ax-card.is-portal-locked:before,
.axp-card.is-portal-locked:before{
  background:inherit;
}
.ax-card.is-portal-locked[data-door-state="ready"]:before,
.axp-card.is-portal-locked[data-door-state="ready"]:before{background:#22c55e!important;}
.ax-card.is-portal-locked[data-door-state="offline"]:before,
.axp-card.is-portal-locked[data-door-state="offline"]:before{background:#64748b!important;}
.ax-card.is-portal-locked[data-door-state="opening"]:before,
.axp-card.is-portal-locked[data-door-state="opening"]:before{background:#f59e0b!important;}
.ax-card.is-portal-locked[data-door-state="alarm"]:before,
.axp-card.is-portal-locked[data-door-state="alarm"]:before,
.ax-card.is-portal-locked[data-door-state="open"]:before,
.axp-card.is-portal-locked[data-door-state="open"]:before{background:#ef4444!important;}
.ax-open:disabled,
.axp-open:disabled,
.ax-mini-open:disabled{
  opacity:1!important;
  cursor:not-allowed!important;
}
.axp-card.is-portal-locked .axp-open,
.ax-card.is-portal-locked .ax-open:not(.ax-admin-open-override),
.ax-floor-door.is-portal-locked .ax-mini-open{
  background:#0f172a!important;
  border:1px solid #475569!important;
  color:#cbd5e1!important;
  box-shadow:none!important;
  text-shadow:none!important;
  font-size:13px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.axp-card.is-portal-locked .axp-open i,
.ax-card.is-portal-locked .ax-open:not(.ax-admin-open-override) i{
  color:#94a3b8!important;
}
.ax-result.is-waiting{
  color:#94a3b8!important;
  border-color:#263449!important;
}
.ax-result.is-sending{
  color:#fbbf24!important;
  border-color:rgba(245,158,11,.45)!important;
}
.ax-result.is-error{
  color:#f87171!important;
  border-color:rgba(239,68,68,.45)!important;
}
.ax-result.is-ok{
  color:#4ade80!important;
  border-color:rgba(34,197,94,.38)!important;
}
.ax-pill.offline,
.ax-pill.bad{
  background:rgba(100,116,139,.14)!important;
  color:#cbd5e1!important;
  border-color:rgba(148,163,184,.28)!important;
}
.ax-pill.opening{
  background:rgba(245,158,11,.14)!important;
  color:#fbbf24!important;
  border-color:rgba(245,158,11,.38)!important;
}


/* v1.5.4 - unified professional status colors for admin + portal + clean locked button */
.ax-card[data-door-state="ready"],
.axp-card[data-door-state="ready"]{border-color:#263449!important;}
.ax-card[data-door-state="ready"]:before,
.axp-card[data-door-state="ready"]:before{background:#22c55e!important;}
.ax-card[data-door-state="opening"],
.axp-card[data-door-state="opening"]{border-color:rgba(245,158,11,.34)!important;}
.ax-card[data-door-state="opening"]:before,
.axp-card[data-door-state="opening"]:before{background:#f59e0b!important;}
.ax-card[data-door-state="offline"],
.axp-card[data-door-state="offline"]{border-color:#263449!important;}
.ax-card[data-door-state="offline"]:before,
.axp-card[data-door-state="offline"]:before{background:#64748b!important;}
.ax-card[data-door-state="alarm"],
.ax-card[data-door-state="open"],
.axp-card[data-door-state="alarm"],
.axp-card[data-door-state="open"]{border-color:rgba(239,68,68,.38)!important;}
.ax-card[data-door-state="alarm"]:before,
.ax-card[data-door-state="open"]:before,
.axp-card[data-door-state="alarm"]:before,
.axp-card[data-door-state="open"]:before{background:#ef4444!important;}
.ax-card.is-portal-locked,
.axp-card.is-portal-locked{border-color:#263449!important;}
.ax-card.is-portal-locked[data-door-state="ready"],
.axp-card.is-portal-locked[data-door-state="ready"]{border-color:#263449!important;}
.ax-card.is-portal-locked[data-door-state="opening"],
.axp-card.is-portal-locked[data-door-state="opening"]{border-color:rgba(245,158,11,.34)!important;}
.ax-card.is-portal-locked[data-door-state="offline"],
.axp-card.is-portal-locked[data-door-state="offline"]{border-color:#263449!important;}
.ax-card.is-portal-locked[data-door-state="alarm"],
.ax-card.is-portal-locked[data-door-state="open"],
.axp-card.is-portal-locked[data-door-state="alarm"],
.axp-card.is-portal-locked[data-door-state="open"]{border-color:rgba(239,68,68,.38)!important;}
.ax-card[data-door-state="ready"] .ax-pill,
.axp-card[data-door-state="ready"] .ax-pill{background:rgba(34,197,94,.12)!important;color:#4ade80!important;border-color:rgba(34,197,94,.35)!important;}
.ax-card[data-door-state="opening"] .ax-pill,
.axp-card[data-door-state="opening"] .ax-pill{background:rgba(245,158,11,.13)!important;color:#fbbf24!important;border-color:rgba(245,158,11,.38)!important;}
.ax-card[data-door-state="offline"] .ax-pill,
.axp-card[data-door-state="offline"] .ax-pill{background:rgba(100,116,139,.14)!important;color:#cbd5e1!important;border-color:rgba(148,163,184,.28)!important;}
.ax-card[data-door-state="alarm"] .ax-pill,
.ax-card[data-door-state="open"] .ax-pill,
.axp-card[data-door-state="alarm"] .ax-pill,
.axp-card[data-door-state="open"] .ax-pill{background:rgba(239,68,68,.13)!important;color:#f87171!important;border-color:rgba(239,68,68,.35)!important;}
.ax-card[data-door-state="offline"] .ax-state-main,
.axp-card[data-door-state="offline"] .ax-state-main{color:#f8fafc!important;}
.ax-card[data-door-state="opening"] .ax-state-main,
.axp-card[data-door-state="opening"] .ax-state-main{color:#fbbf24!important;}
.ax-card[data-door-state="alarm"] .ax-state-main,
.ax-card[data-door-state="open"] .ax-state-main,
.axp-card[data-door-state="alarm"] .ax-state-main,
.axp-card[data-door-state="open"] .ax-state-main{color:#f87171!important;}
.axp-card.is-portal-locked .axp-open,
.ax-card.is-portal-locked .ax-open:not(.ax-admin-open-override),
.ax-floor-door.is-portal-locked .ax-mini-open{
  background:#111827!important;
  border:1px solid #475569!important;
  color:#cbd5e1!important;
  opacity:1!important;
  cursor:not-allowed!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.axp-card.is-portal-locked .axp-open i,
.ax-card.is-portal-locked .ax-open:not(.ax-admin-open-override) i{color:#94a3b8!important;}
.ax-wall-door.is-ready .ax-state-dot,.ax-floor-door.is-ready .ax-state-dot{background:#22c55e!important;box-shadow:0 0 0 4px rgba(34,197,94,.14)!important;}
.ax-wall-door.is-opening .ax-state-dot,.ax-floor-door.is-opening .ax-state-dot{background:#f59e0b!important;box-shadow:0 0 0 4px rgba(245,158,11,.14)!important;}
.ax-wall-door.is-offline .ax-state-dot,.ax-floor-door.is-offline .ax-state-dot{background:#64748b!important;box-shadow:0 0 0 4px rgba(100,116,139,.14)!important;}
.ax-wall-door.is-alarm .ax-state-dot,.ax-wall-door.is-open .ax-state-dot,.ax-floor-door.is-alarm .ax-state-dot,.ax-floor-door.is-open .ax-state-dot{background:#ef4444!important;box-shadow:0 0 0 4px rgba(239,68,68,.14)!important;}
.ax-noc-board .ax-wall-door.is-ready em{color:#4ade80!important;}
.ax-noc-board .ax-wall-door.is-opening em{color:#fbbf24!important;}
.ax-noc-board .ax-wall-door.is-offline em{color:#cbd5e1!important;}
.ax-noc-board .ax-wall-door.is-alarm em,.ax-noc-board .ax-wall-door.is-open em{color:#f87171!important;}

/* v1.5.5 - unified Floorplan/Wallboard status colors in admin + portal; no layout/bridge changes */
.ax-floor-door,.ax-wall-door{
  border-color:#263449!important;
}
.ax-floor-door.is-ready,.ax-wall-door.is-ready{
  border-color:#263449!important;
}
.ax-floor-door.is-opening,.ax-wall-door.is-opening{
  border-color:rgba(245,158,11,.34)!important;
}
.ax-floor-door.is-offline,.ax-wall-door.is-offline{
  border-color:#263449!important;
}
.ax-floor-door.is-alarm,.ax-floor-door.is-open,
.ax-wall-door.is-alarm,.ax-wall-door.is-open{
  border-color:rgba(239,68,68,.38)!important;
}
.ax-floor-door.is-portal-locked,.ax-wall-door.is-portal-locked{
  border-color:#263449!important;
}
.ax-floor-door.is-portal-locked.is-opening,.ax-wall-door.is-portal-locked.is-opening{
  border-color:rgba(245,158,11,.34)!important;
}
.ax-floor-door.is-portal-locked.is-alarm,.ax-floor-door.is-portal-locked.is-open,
.ax-wall-door.is-portal-locked.is-alarm,.ax-wall-door.is-portal-locked.is-open{
  border-color:rgba(239,68,68,.38)!important;
}
.ax-floor-door.is-ready .ax-state-dot,.ax-wall-door.is-ready .ax-state-dot{
  background:#22c55e!important;box-shadow:0 0 0 4px rgba(34,197,94,.14)!important;
}
.ax-floor-door.is-opening .ax-state-dot,.ax-wall-door.is-opening .ax-state-dot{
  background:#f59e0b!important;box-shadow:0 0 0 4px rgba(245,158,11,.14)!important;
}
.ax-floor-door.is-offline .ax-state-dot,.ax-wall-door.is-offline .ax-state-dot{
  background:#64748b!important;box-shadow:0 0 0 4px rgba(100,116,139,.14)!important;
}
.ax-floor-door.is-alarm .ax-state-dot,.ax-floor-door.is-open .ax-state-dot,
.ax-wall-door.is-alarm .ax-state-dot,.ax-wall-door.is-open .ax-state-dot{
  background:#ef4444!important;box-shadow:0 0 0 4px rgba(239,68,68,.14)!important;
}
.ax-floor-door.is-ready em,.ax-wall-door.is-ready em{color:#4ade80!important;}
.ax-floor-door.is-opening em,.ax-wall-door.is-opening em{color:#fbbf24!important;}
.ax-floor-door.is-offline em,.ax-wall-door.is-offline em{color:#cbd5e1!important;}
.ax-floor-door.is-alarm em,.ax-floor-door.is-open em,
.ax-wall-door.is-alarm em,.ax-wall-door.is-open em{color:#f87171!important;}
.ax-floor-door.is-portal-locked .ax-mini-open{
  background:#111827!important;
  border:1px solid #475569!important;
  color:#cbd5e1!important;
  opacity:1!important;
  cursor:not-allowed!important;
}
.ax-floor-door.is-portal-locked em,
.ax-wall-door.is-portal-locked em{
  text-shadow:none!important;
}


/* v1.5.6 - one status logic everywhere: cards + floorplan + wallboard, admin + portal */
.ax-card.is-portal-locked,
.axp-card.is-portal-locked,
.ax-floor-door.is-portal-locked,
.ax-wall-door.is-portal-locked{
  border-color:#263449!important;
}
.ax-card.is-portal-locked[data-door-state="ready"],
.axp-card.is-portal-locked[data-door-state="ready"],
.ax-floor-door.is-portal-locked.is-ready,
.ax-wall-door.is-portal-locked.is-ready{
  border-color:rgba(34,197,94,.35)!important;
}
.ax-card.is-portal-locked[data-door-state="opening"],
.axp-card.is-portal-locked[data-door-state="opening"],
.ax-floor-door.is-portal-locked.is-opening,
.ax-wall-door.is-portal-locked.is-opening{
  border-color:rgba(245,158,11,.42)!important;
}
.ax-card.is-portal-locked[data-door-state="offline"],
.axp-card.is-portal-locked[data-door-state="offline"],
.ax-floor-door.is-portal-locked.is-offline,
.ax-wall-door.is-portal-locked.is-offline{
  border-color:rgba(100,116,139,.38)!important;
}
.ax-card.is-portal-locked[data-door-state="alarm"],
.ax-card.is-portal-locked[data-door-state="open"],
.axp-card.is-portal-locked[data-door-state="alarm"],
.axp-card.is-portal-locked[data-door-state="open"],
.ax-floor-door.is-portal-locked.is-alarm,
.ax-floor-door.is-portal-locked.is-open,
.ax-wall-door.is-portal-locked.is-alarm,
.ax-wall-door.is-portal-locked.is-open{
  border-color:rgba(239,68,68,.45)!important;
}
.ax-floor-door em,
.ax-wall-door em{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:22px!important;
  padding:2px 8px!important;
  border-radius:999px!important;
  background:#0b1220!important;
  border:1px solid #263449!important;
  font-style:normal!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
  width:max-content!important;
  max-width:100%!important;
}
.ax-floor-door.is-ready em,.ax-wall-door.is-ready em{color:#4ade80!important;border-color:rgba(34,197,94,.35)!important;}
.ax-floor-door.is-opening em,.ax-wall-door.is-opening em{color:#fbbf24!important;border-color:rgba(245,158,11,.42)!important;}
.ax-floor-door.is-offline em,.ax-wall-door.is-offline em{color:#cbd5e1!important;border-color:rgba(148,163,184,.28)!important;}
.ax-floor-door.is-alarm em,.ax-floor-door.is-open em,.ax-wall-door.is-alarm em,.ax-wall-door.is-open em{color:#f87171!important;border-color:rgba(239,68,68,.42)!important;}
.ax-floor-door.is-portal-locked .ax-mini-open:not(.ax-admin-open-override){
  background:#334155!important;
  color:#cbd5e1!important;
  opacity:.85!important;
  cursor:not-allowed!important;
}
.ax-floor-door.is-portal-locked .ax-mini-open.ax-admin-open-override{
  background:#15803d!important;
  color:#fff!important;
  opacity:1!important;
  cursor:pointer!important;
}

/* v1.5.7 - HARD UNIFIED OPENING: cards + floorplan + wallboard, admin + portal */
.ax-card[data-door-state="opening"],
.axp-card[data-door-state="opening"],
.ax-floor-door.is-opening,
.ax-floor-door[data-door-state="opening"],
.ax-wall-door.is-opening,
.ax-wall-door[data-door-state="opening"]{
  border-color:rgba(245,158,11,.55)!important;
}
.ax-card[data-door-state="opening"]:before,
.axp-card[data-door-state="opening"]:before{
  background:#f59e0b!important;
}
.ax-card[data-door-state="opening"] .ax-state-dot,
.axp-card[data-door-state="opening"] .ax-state-dot,
.ax-floor-door.is-opening .ax-state-dot,
.ax-floor-door[data-door-state="opening"] .ax-state-dot,
.ax-wall-door.is-opening .ax-state-dot,
.ax-wall-door[data-door-state="opening"] .ax-state-dot{
  background:#f59e0b!important;
  box-shadow:0 0 0 4px rgba(245,158,11,.16)!important;
}
.ax-card[data-door-state="opening"] .ax-state-main,
.axp-card[data-door-state="opening"] .ax-state-main,
.ax-card[data-door-state="opening"] .ax-door-pill,
.axp-card[data-door-state="opening"] .ax-door-pill,
.ax-floor-door.is-opening em,
.ax-floor-door[data-door-state="opening"] em,
.ax-wall-door.is-opening em,
.ax-wall-door[data-door-state="opening"] em{
  color:#fbbf24!important;
  border-color:rgba(245,158,11,.48)!important;
}
.ax-card[data-door-state="opening"] .ax-result,
.axp-card[data-door-state="opening"] .ax-result,
.ax-card[data-door-state="opening"] .ax-result.is-sending,
.axp-card[data-door-state="opening"] .ax-result.is-sending{
  color:#fbbf24!important;
  border-color:rgba(245,158,11,.35)!important;
}
.ax-card.is-portal-locked[data-door-state="opening"],
.axp-card.is-portal-locked[data-door-state="opening"],
.ax-floor-door.is-portal-locked.is-opening,
.ax-floor-door.is-portal-locked[data-door-state="opening"],
.ax-wall-door.is-portal-locked.is-opening,
.ax-wall-door.is-portal-locked[data-door-state="opening"]{
  border-color:rgba(245,158,11,.55)!important;
}

/* v1.6.7 - PORTAL DASHBOARD STYLE WIDTH ONLY
   Scope: client portal only. Keeps a light outside frame like Dashboard.
   Does not touch admin, actions, states, permissions or JS. */
html, body{overflow-x:hidden!important;}
.ax-portal{
  position:relative!important;
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  width:calc(100vw - 28px)!important;
  max-width:none!important;
  margin:14px 0!important;
  padding:14px!important;
  border:1px solid rgba(203,213,225,.45)!important;
  border-radius:14px!important;
  box-shadow:0 14px 38px rgba(15,23,42,.18)!important;
  overflow:hidden!important;
}
.ax-portal .ax-shell{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
.ax-portal .axp-grid{
  width:100%!important;
  max-width:none!important;
}
@media(max-width:700px){
  .ax-portal{
    width:calc(100vw - 12px)!important;
    margin:6px 0!important;
    padding:8px!important;
    border-radius:10px!important;
  }
}
