body{background:#f3f6fa}.card{border:0;border-radius:14px;box-shadow:0 4px 14px rgba(15,23,42,.07)}.metric{font-size:2rem;font-weight:800}.section-title{color:#17365d;font-weight:800}.table thead th{background:#17365d;color:#fff}.small-muted{color:#6b7280;font-size:.88rem}.form-control,.form-select,.btn{border-radius:10px}
.detail-label{font-size:.8rem;color:#6b7280;text-transform:uppercase;font-weight:700}
.detail-value{font-size:1rem;font-weight:600;min-height:24px}
.action-group .btn{margin-right:4px;margin-bottom:4px}
.asset-header-code{font-family:monospace;font-size:1.15rem}

input[type="text"],
input[type="search"],
input[type="tel"],
textarea {
    text-transform: uppercase;
}
input[type="email"],
.no-uppercase {
    text-transform: none !important;
}


:root{
  --sidebar-width:270px;
  --sidebar-collapsed-width:78px;
  --sidebar-bg:#17365d;
  --sidebar-bg-dark:#102844;
  --sidebar-text:#dce7f3;
  --sidebar-muted:#92a9c1;
  --sidebar-active:#ffffff;
  --sidebar-active-bg:rgba(255,255,255,.14);
  --content-bg:#f3f6fa;
}

html,body{min-height:100%}
body{margin:0;background:var(--content-bg);overflow-x:hidden}

.app-shell{min-height:100vh}
.sidebar{
  position:fixed;
  top:0;
  bottom:0;
  left:0;
  width:var(--sidebar-width);
  background:linear-gradient(180deg,var(--sidebar-bg),var(--sidebar-bg-dark));
  color:var(--sidebar-text);
  z-index:1040;
  display:flex;
  flex-direction:column;
  transition:width .25s ease,transform .25s ease;
  box-shadow:4px 0 18px rgba(15,23,42,.12);
}

.sidebar-header{
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 14px 14px 18px;
  border-bottom:1px solid rgba(255,255,255,.1);
}

.sidebar-brand{
  display:flex;
  align-items:center;
  gap:12px;
  color:#fff;
  text-decoration:none;
  min-width:0;
}

.brand-mark{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:12px;
  background:#fff;
  color:var(--sidebar-bg);
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  letter-spacing:-1px;
}

.brand-text{display:flex;flex-direction:column;line-height:1.1;white-space:nowrap}
.brand-text strong{font-size:1.08rem;letter-spacing:.4px}
.brand-text small{font-size:.68rem;color:var(--sidebar-muted);margin-top:4px}

.sidebar-toggle,.mobile-menu-btn{
  border:0;
  background:rgba(255,255,255,.1);
  color:#fff;
  border-radius:10px;
  width:38px;
  height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.sidebar-toggle:hover,.mobile-menu-btn:hover{background:rgba(255,255,255,.2)}

.sidebar-nav{
  flex:1;
  overflow-y:auto;
  padding:16px 12px;
}

.nav-section-label{
  padding:4px 12px 8px;
  font-size:.69rem;
  font-weight:800;
  letter-spacing:1.2px;
  color:var(--sidebar-muted);
  white-space:nowrap;
}

.sidebar-link{
  display:flex;
  align-items:center;
  gap:13px;
  min-height:46px;
  padding:10px 12px;
  margin:3px 0;
  border-radius:11px;
  color:var(--sidebar-text);
  text-decoration:none;
  font-size:.87rem;
  font-weight:700;
  letter-spacing:.15px;
  transition:background .15s ease,color .15s ease,transform .15s ease;
  white-space:nowrap;
}

.sidebar-link:hover{
  color:#fff;
  background:rgba(255,255,255,.09);
  transform:translateX(2px);
}
.sidebar-link.active{
  color:var(--sidebar-active);
  background:var(--sidebar-active-bg);
  box-shadow:inset 3px 0 0 #fff;
}

.nav-icon{
  width:28px;
  flex:0 0 28px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.08rem;
}

.sidebar-footer{
  padding:14px 12px 16px;
  border-top:1px solid rgba(255,255,255,.1);
}

.user-card{
  display:flex;
  align-items:center;
  gap:11px;
  padding:9px 8px 12px;
  min-width:0;
}

.user-avatar{
  width:38px;
  height:38px;
  flex:0 0 38px;
  border-radius:50%;
  background:#fff;
  color:var(--sidebar-bg);
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
}

.user-meta{display:flex;flex-direction:column;min-width:0}
.user-meta strong{font-size:.82rem;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.user-meta small{font-size:.7rem;color:var(--sidebar-muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.logout-link{
  display:flex;
  align-items:center;
  gap:13px;
  padding:10px 12px;
  color:#ffd4d4;
  text-decoration:none;
  border-radius:10px;
  font-size:.84rem;
  font-weight:700;
}
.logout-link:hover{color:#fff;background:rgba(220,53,69,.2)}

.main-wrapper{
  min-height:100vh;
  margin-left:var(--sidebar-width);
  transition:margin-left .25s ease;
}

.main-content{
  padding:26px;
  width:100%;
}

.mobile-topbar{display:none}
.sidebar-overlay{display:none}

.sidebar-collapsed .sidebar{width:var(--sidebar-collapsed-width)}
.sidebar-collapsed .main-wrapper{margin-left:var(--sidebar-collapsed-width)}
.sidebar-collapsed .brand-text,
.sidebar-collapsed .nav-label,
.sidebar-collapsed .nav-section-label,
.sidebar-collapsed .user-meta{display:none}
.sidebar-collapsed .sidebar-header{padding-left:18px;padding-right:12px;flex-direction:column;gap:8px}
.sidebar-collapsed .sidebar-brand{justify-content:center}
.sidebar-collapsed .sidebar-toggle{width:42px}
.sidebar-collapsed .sidebar-nav{padding-left:10px;padding-right:10px}
.sidebar-collapsed .sidebar-link{justify-content:center;padding-left:10px;padding-right:10px}
.sidebar-collapsed .sidebar-link:hover{transform:none}
.sidebar-collapsed .user-card{justify-content:center}
.sidebar-collapsed .logout-link{justify-content:center}

@media(max-width:991.98px){
  .sidebar{
    width:var(--sidebar-width);
    transform:translateX(-100%);
  }
  .main-wrapper{margin-left:0}
  .sidebar-collapsed .main-wrapper{margin-left:0}
  .sidebar-collapsed .sidebar{width:var(--sidebar-width)}
  .sidebar-collapsed .brand-text,
  .sidebar-collapsed .nav-label,
  .sidebar-collapsed .nav-section-label,
  .sidebar-collapsed .user-meta{display:flex}
  .sidebar-collapsed .sidebar-header{padding:14px 14px 14px 18px;flex-direction:row}
  .sidebar-collapsed .sidebar-link{justify-content:flex-start}
  .sidebar-collapsed .user-card{justify-content:flex-start}
  .sidebar-collapsed .logout-link{justify-content:flex-start}

  .sidebar-mobile-open .sidebar{transform:translateX(0)}
  .sidebar-mobile-open .sidebar-overlay{
    display:block;
    position:fixed;
    inset:0;
    background:rgba(15,23,42,.48);
    z-index:1035;
  }

  .mobile-topbar{
    display:flex;
    align-items:center;
    gap:12px;
    min-height:64px;
    padding:10px 16px;
    background:#17365d;
    color:#fff;
    box-shadow:0 2px 12px rgba(15,23,42,.14);
  }
  .mobile-topbar>div{display:flex;flex-direction:column}
  .mobile-topbar strong{font-size:1rem}
  .mobile-topbar small{font-size:.65rem;color:#b9c9da}
  .main-content{padding:18px 14px 28px}
}

@media(max-width:575.98px){
  .main-content{padding:14px 10px 24px}
  .metric{font-size:1.6rem}
  .card{border-radius:11px}
}


/* VertiCore CMMS v7.2 - Compact Asset Register */
.asset-register-table{
  width:100%;
  table-layout:fixed;
  margin-bottom:0;
}

.asset-register-table th{
  font-size:11px;
  letter-spacing:.2px;
  padding:10px 10px;
  white-space:nowrap;
}

.asset-register-table td{
  font-size:11.5px;
  padding:10px 10px;
  vertical-align:middle;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.asset-register-table th:nth-child(1),
.asset-register-table td:nth-child(1){width:19%}

.asset-register-table th:nth-child(2),
.asset-register-table td:nth-child(2){width:16%}

.asset-register-table th:nth-child(3),
.asset-register-table td:nth-child(3){width:16%}

.asset-register-table th:nth-child(4),
.asset-register-table td:nth-child(4){width:11%}

.asset-register-table th:nth-child(5),
.asset-register-table td:nth-child(5){width:7%}

.asset-register-table th:nth-child(6),
.asset-register-table td:nth-child(6){width:18%}

.asset-register-table th:nth-child(7),
.asset-register-table td:nth-child(7){width:13%}

.asset-main-row td{
  border-bottom:0;
  background:#fff;
}

.asset-primary-cell{
  min-width:0;
}

.asset-code-line{
  font-size:10.5px;
  font-weight:800;
  color:#6b7280;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  margin-bottom:3px;
}

.asset-name-line{
  font-size:12.5px;
  font-weight:800;
  color:#172033;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.asset-action-row td{
  padding:0 10px 9px;
  border-top:0;
  border-bottom:1px solid #dbe2ea;
  background:#fff;
  overflow:visible;
}

.asset-action-bar{
  display:flex;
  align-items:center;
  gap:7px;
  padding:7px 0 3px;
  white-space:nowrap;
  overflow-x:auto;
}

.asset-action-bar .btn{
  flex:0 0 auto;
  font-size:10px;
  padding:4px 9px;
  line-height:1.25;
  border-radius:8px;
}

.action-caption{
  flex:0 0 auto;
  font-size:9px;
  font-weight:800;
  color:#7b8794;
  letter-spacing:.7px;
  margin-right:3px;
}

.asset-register-table .badge{
  font-size:9.5px;
  padding:5px 8px;
  white-space:nowrap;
}

@media(max-width:1199.98px){
  .asset-register-table{
    min-width:980px;
  }
  .asset-register-table th,
  .asset-register-table td{
    font-size:10.5px;
  }
  .asset-name-line{font-size:11.5px}
}

@media(max-width:767.98px){
  .asset-register-table{
    min-width:900px;
  }
  .asset-action-bar{
    padding-bottom:6px;
  }
}


/* VertiCore CMMS branding */
.sidebar-brand-full{
  width:100%;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
}

.mvertika-logo{
  width:100%;
  max-width:205px;
  height:auto;
  display:block;
  border-radius:10px;
}

.sidebar-brand .brand-text{
  padding-left:2px;
}

.sidebar-brand .brand-text strong{
  font-size:1.05rem;
}

.sidebar-brand .brand-text small{
  font-size:.62rem;
  letter-spacing:.55px;
  color:#b8c8d9;
  white-space:normal;
}

.sidebar-header{
  align-items:flex-start;
}

.sidebar-toggle{
  position:absolute;
  top:16px;
  right:12px;
}

.sidebar{
  position:fixed;
}

.site-name{
  color:#c4d3e2 !important;
  margin-top:2px;
}

.sidebar-credit{
  margin:8px 4px 10px;
  padding:10px 8px 2px;
  border-top:1px solid rgba(255,255,255,.12);
  text-align:center;
}

.sidebar-credit small{
  display:block;
  font-size:9px;
  color:#8fa5bb;
  letter-spacing:.9px;
}

.sidebar-credit strong{
  display:block;
  margin-top:3px;
  font-size:10.5px;
  color:#fff;
  font-weight:700;
  letter-spacing:.25px;
}

.sidebar-collapsed .mvertika-logo{
  width:44px;
  max-width:44px;
  height:44px;
  object-fit:cover;
  object-position:left center;
  border-radius:10px;
}

.sidebar-collapsed .sidebar-brand-full{
  align-items:center;
}

.sidebar-collapsed .sidebar-credit{
  display:none;
}

.login-logo-wrap{
  text-align:center;
  margin-bottom:18px;
}

.login-logo{
  max-width:240px;
  width:100%;
  height:auto;
}

.login-credit{
  margin-top:18px;
  text-align:center;
  font-size:10px;
  color:#8492a6;
  letter-spacing:.5px;
}

.login-credit strong{
  color:#17365d;
  font-weight:700;
}

@media(max-width:991.98px){
  .sidebar-toggle{
    position:static;
  }
  .sidebar-header{
    align-items:center;
  }
}


/* VertiCore CMMS v7.4 - Official M Vertica logo */
.mvertika-logo{
  width:150px;
  max-width:150px;
  height:auto;
  display:block;
  margin:0 auto 6px;
  object-fit:contain;
  background:transparent;
  border-radius:0;
}

.sidebar-brand-full{
  align-items:center;
  text-align:center;
}

.sidebar-brand .brand-text{
  align-items:center;
  padding-left:0;
}

.sidebar-brand .brand-text strong{
  font-size:1.08rem;
  letter-spacing:.4px;
}

.sidebar-brand .brand-text small{
  text-align:center;
}

.brand-site{
  margin-top:3px;
  color:#d7e1ec !important;
  font-size:.58rem !important;
  letter-spacing:.65px !important;
}

.sidebar-header{
  min-height:215px;
  justify-content:flex-start;
  padding-top:18px;
}

.sidebar-toggle{
  top:14px;
  right:12px;
}

.sidebar-collapsed .sidebar-header{
  min-height:112px;
}

.sidebar-collapsed .mvertika-logo{
  width:46px;
  max-width:46px;
  height:46px;
  object-fit:contain;
  object-position:center;
  margin:0 auto;
}

.sidebar-collapsed .brand-text{
  display:none !important;
}

.login-logo{
  max-width:190px;
  width:100%;
  height:auto;
  object-fit:contain;
  background:transparent;
}

.login-site-name{
  display:inline-block;
  margin-top:4px;
  font-size:.78rem;
  letter-spacing:.8px;
  color:#64748b;
}

@media(max-width:991.98px){
  .sidebar-header{
    min-height:190px;
  }
  .mvertika-logo{
    width:135px;
    max-width:135px;
  }
}


/* VertiCore CMMS compact sidebar refinement */
:root{
  --sidebar-width:238px;
  --sidebar-collapsed-width:66px;
}

.sidebar{
  overflow:hidden;
}

.sidebar-header{
  min-height:148px;
  padding:12px 10px 8px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
}

.sidebar-brand-full{
  width:100%;
  align-items:center;
  text-align:center;
  gap:3px;
}

.mvertika-logo{
  width:72px;
  max-width:72px;
  height:72px;
  margin:0 auto 3px;
  object-fit:contain;
}

.sidebar-brand .brand-text strong{
  font-size:15px;
  line-height:1.05;
}

.sidebar-brand .brand-text small{
  font-size:8.5px;
  line-height:1.15;
  letter-spacing:.35px;
}

.brand-site{
  font-size:8px !important;
  margin-top:2px;
}

.sidebar-toggle-row{
  width:100%;
  display:flex;
  justify-content:center;
  margin-top:6px;
}

.sidebar-toggle{
  position:static !important;
  width:31px;
  height:27px;
  border-radius:7px;
  font-size:12px;
}

.sidebar-nav{
  flex:1 1 auto;
  overflow:visible !important;
  padding:7px 8px 4px;
}

.nav-section-label{
  font-size:8px;
  padding:3px 9px 4px;
  letter-spacing:.8px;
}

.sidebar-link{
  min-height:33px;
  padding:5px 8px;
  margin:1px 0;
  gap:8px;
  border-radius:8px;
  font-size:11px;
  font-weight:600;
}

.nav-icon{
  width:20px;
  flex:0 0 20px;
  font-size:13px;
}

.sidebar-footer{
  padding:6px 8px 9px;
}

.user-card{
  gap:7px;
  padding:5px 5px 7px;
}

.user-avatar{
  width:29px;
  height:29px;
  flex-basis:29px;
  font-size:11px;
}

.user-meta strong{
  font-size:10px;
}

.user-meta small{
  font-size:8.5px;
  margin-top:1px;
}

.sidebar-credit{
  margin:3px 2px 4px;
  padding:5px 5px 1px;
}

.sidebar-credit small{
  font-size:7.5px;
}

.sidebar-credit strong{
  font-size:8.5px;
  margin-top:1px;
}

.logout-link{
  gap:8px;
  padding:6px 8px;
  font-size:10px;
}

.sidebar-collapsed .sidebar-header{
  min-height:112px;
  padding:11px 5px 7px;
  gap:0;
}

.sidebar-collapsed .mvertika-logo{
  width:44px;
  max-width:44px;
  height:44px;
  margin:0 auto;
}

.sidebar-collapsed .sidebar-toggle-row{
  margin-top:10px;
}

.sidebar-collapsed .sidebar-toggle{
  width:31px;
  height:27px;
}

.sidebar-collapsed .sidebar-nav{
  padding:6px 7px;
}

.sidebar-collapsed .sidebar-link{
  min-height:33px;
  padding:5px;
}

.sidebar-collapsed .nav-icon{
  width:20px;
  flex-basis:20px;
}

@media(max-width:991.98px){
  .sidebar{
    overflow-y:auto;
  }

  .sidebar-header{
    min-height:140px;
  }

  .mvertika-logo{
    width:68px;
    max-width:68px;
    height:68px;
  }

  .sidebar-nav{
    overflow:visible !important;
  }
}


/* VertiCore CMMS v7.6 final sidebar toggle positioning */
.sidebar-header{
  position:relative;
  min-height:148px;
  padding:12px 10px 8px;
  display:block;
}

.sidebar-logo-row{
  position:relative;
  width:100%;
  min-height:128px;
  display:flex;
  align-items:flex-start;
  justify-content:center;
}

.sidebar-brand-full{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:3px;
}

.sidebar-toggle{
  position:absolute !important;
  top:3px;
  right:2px;
  margin:0;
  width:31px;
  height:27px;
  z-index:2;
}

.mvertika-logo{
  width:72px;
  max-width:72px;
  height:72px;
  margin:0 auto 3px;
}

.sidebar-nav{
  overflow:visible !important;
  scrollbar-width:none;
}

.sidebar-nav::-webkit-scrollbar{
  display:none;
}

/* Collapsed state: M logo and toggle on the same row */
.sidebar-collapsed .sidebar-header{
  min-height:67px;
  padding:10px 6px 6px;
}

.sidebar-collapsed .sidebar-logo-row{
  min-height:48px;
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  gap:4px;
}

.sidebar-collapsed .sidebar-brand-full{
  width:auto;
  flex:1 1 auto;
  display:flex;
  flex-direction:row;
  justify-content:flex-start;
  align-items:center;
  margin:0;
}

.sidebar-collapsed .mvertika-logo{
  width:40px;
  max-width:40px;
  height:40px;
  margin:0;
}

.sidebar-collapsed .brand-text{
  display:none !important;
}

.sidebar-collapsed .sidebar-toggle{
  position:static !important;
  flex:0 0 24px;
  width:24px;
  height:28px;
  margin:0;
  padding:0;
}

.sidebar-collapsed .sidebar-nav{
  padding-top:5px;
}

/* Native browser tooltips are enabled through title attributes */
.sidebar-collapsed .sidebar-link{
  position:relative;
}

/* Keep operations/admin list compact and fully visible */
.sidebar-link{
  min-height:32px;
  padding:5px 8px;
  font-size:10.5px;
}

.nav-section-label{
  font-size:7.8px;
}

@media(max-width:991.98px){
  .sidebar-header{
    min-height:140px;
  }

  .sidebar-logo-row{
    min-height:122px;
  }

  .sidebar-toggle{
    position:static !important;
    margin-left:8px;
  }

  .sidebar-brand-full{
    flex:1;
  }

  .sidebar-mobile-open .sidebar-logo-row{
    display:flex;
    flex-direction:row;
    align-items:flex-start;
  }
}

/* WhatsApp pilot */
.btn-success{
  font-weight:700;
}
.breakdown-ticket-message{
  white-space:pre-wrap;
  font-size:12px;
}


/* VertiCore CMMS v8.0 — universal typography standard
   All visible interface text uses one font family and one font size. */
:root{
  --verticore-font-size:13px;
  --verticore-font-family:"Segoe UI",Arial,Helvetica,sans-serif;
}

html,
body,
button,
input,
select,
textarea,
table,
th,
td,
label,
a,
span,
small,
strong,
p,
div,
nav,
aside,
main,
header,
footer,
section,
article,
h1,
h2,
h3,
h4,
h5,
h6,
.form-control,
.form-select,
.form-label,
.form-check-label,
.btn,
.badge,
.alert,
.modal-title,
.card,
.nav-link,
.sidebar-link,
.nav-section-label,
.user-meta,
.sidebar-credit,
.detail-label,
.detail-value,
.section-title,
.small-muted,
.metric,
.asset-code-line,
.asset-name-line,
.action-caption {
  font-family:var(--verticore-font-family) !important;
  font-size:var(--verticore-font-size) !important;
  line-height:1.35 !important;
}

/* Hierarchy is created using weight, spacing and colour—not different sizes. */
h1,h2,h3,h4,h5,h6,
.section-title,
.modal-title,
.card-title,
.metric,
.asset-name-line,
.sidebar-brand strong {
  font-weight:700 !important;
}

small,
.small-muted,
.detail-label,
.nav-section-label,
.sidebar-credit small,
.user-meta small {
  font-size:var(--verticore-font-size) !important;
}

.btn,
.form-control,
.form-select {
  min-height:36px;
}

.btn-sm {
  min-height:30px;
  padding:5px 10px !important;
  font-size:var(--verticore-font-size) !important;
}

.table th,
.table td,
.asset-register-table th,
.asset-register-table td {
  font-size:var(--verticore-font-size) !important;
}

.badge {
  font-size:var(--verticore-font-size) !important;
  padding:5px 8px;
}

.sidebar-link,
.nav-section-label,
.user-meta strong,
.user-meta small,
.sidebar-credit small,
.sidebar-credit strong,
.brand-text strong,
.brand-text small,
.brand-site,
.logout-link {
  font-size:var(--verticore-font-size) !important;
}

/* Keep text on one line in operational tables where practical. */
.table-nowrap th,
.table-nowrap td,
.asset-register-table th,
.asset-register-table td {
  white-space:nowrap;
}


/* Technician work photos */
.work-photo-preview{
  display:block;
  width:100%;
  max-width:420px;
  height:240px;
  object-fit:cover;
  border:1px solid #d7dee8;
  border-radius:10px;
  background:#f7f9fc;
  margin-top:6px;
}


/* VertiCore CMMS v10.2 - Commercial Sidebar */
:root{
  --sidebar-width:250px;
  --sidebar-collapsed-width:72px;
  --sidebar-bg:#17345d;
  --sidebar-bg-deep:#112947;
  --sidebar-border:rgba(255,255,255,.10);
  --sidebar-text:#f5f8fc;
  --sidebar-muted:#b9c6d7;
  --sidebar-accent:#5c7cfa;
}

.sidebar{
  width:var(--sidebar-width);
  min-width:var(--sidebar-width);
  height:100vh;
  position:fixed;
  inset:0 auto 0 0;
  display:flex;
  flex-direction:column;
  background:
    linear-gradient(180deg,rgba(255,255,255,.025),transparent 20%),
    linear-gradient(180deg,var(--sidebar-bg),var(--sidebar-bg-deep));
  color:var(--sidebar-text);
  border-right:1px solid rgba(17,41,71,.6);
  box-shadow:10px 0 28px rgba(16,37,63,.12);
  overflow:hidden;
  z-index:1030;
  transition:width .22s ease,min-width .22s ease;
}

.sidebar-top{
  flex:0 0 auto;
  padding:16px 14px 13px;
  border-bottom:1px solid var(--sidebar-border);
}

.sidebar-brand-row{
  display:flex;
  align-items:flex-start;
  gap:10px;
}

.sidebar-brand{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  text-decoration:none;
  color:var(--sidebar-text);
}

.sidebar-logo{
  width:64px;
  height:64px;
  object-fit:contain;
  margin-bottom:9px;
  filter:drop-shadow(0 8px 14px rgba(0,0,0,.14));
}

.sidebar-brand-copy{
  width:100%;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
}

.sidebar-brand-copy strong{
  font-size:13px !important;
  font-weight:800 !important;
  letter-spacing:.15px;
  color:#fff;
}

.sidebar-brand-copy span{
  margin-top:4px;
  max-width:205px;
  font-size:11px !important;
  line-height:1.25 !important;
  color:#d6deea;
}

.sidebar-brand-copy small{
  margin-top:7px;
  font-size:9px !important;
  font-weight:700;
  letter-spacing:.8px;
  color:#b8c6d8;
}

.sidebar-collapse-btn{
  flex:0 0 34px;
  width:34px;
  height:34px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:4px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  background:rgba(255,255,255,.10);
  color:#fff;
  cursor:pointer;
  transition:background .18s ease,transform .18s ease;
}

.sidebar-collapse-btn:hover{
  background:rgba(255,255,255,.18);
  transform:translateY(-1px);
}

.hamburger-line{
  display:block;
  width:14px;
  height:1.5px;
  border-radius:2px;
  background:#fff;
}

.sidebar-navigation{
  flex:1 1 auto;
  overflow-y:auto;
  overflow-x:hidden;
  padding:11px 9px 14px;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.18) transparent;
}

.sidebar-navigation::-webkit-scrollbar{
  width:5px;
}

.sidebar-navigation::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.16);
  border-radius:10px;
}

.sidebar-section + .sidebar-section{
  margin-top:14px;
  padding-top:13px;
  border-top:1px solid var(--sidebar-border);
}

.sidebar-section-title{
  padding:0 11px 7px;
  font-size:9px !important;
  font-weight:800 !important;
  letter-spacing:1.2px;
  color:#9fb0c5;
}

.sidebar-item{
  position:relative;
  min-height:39px;
  display:flex;
  align-items:center;
  gap:10px;
  margin:2px 0;
  padding:8px 11px;
  border-radius:9px;
  color:#eaf0f8;
  text-decoration:none;
  font-size:11.5px !important;
  font-weight:650;
  transition:background .16s ease,color .16s ease,transform .16s ease;
}

.sidebar-item:hover{
  background:rgba(255,255,255,.08);
  color:#fff;
  transform:translateX(2px);
}

.sidebar-item.active{
  background:linear-gradient(90deg,rgba(92,124,250,.34),rgba(255,255,255,.09));
  color:#fff;
  box-shadow:inset 3px 0 0 var(--sidebar-accent);
}

.sidebar-icon{
  width:20px;
  min-width:20px;
  display:inline-flex;
  justify-content:center;
  align-items:center;
  font-size:14px !important;
  line-height:1 !important;
  color:#d7e2f0;
}

.sidebar-item.active .sidebar-icon{
  color:#fff;
}

.sidebar-label{
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.sidebar-footer{
  flex:0 0 auto;
  padding:11px 10px 12px;
  border-top:1px solid var(--sidebar-border);
  background:rgba(8,24,43,.16);
}

.sidebar-user{
  display:flex;
  align-items:center;
  gap:9px;
  padding:8px;
  border-radius:10px;
  background:rgba(255,255,255,.06);
}

.sidebar-avatar{
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:linear-gradient(135deg,#617ef8,#8a5cf6);
  color:#fff;
  font-weight:800;
}

.sidebar-user-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
}

.sidebar-user-copy strong{
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  color:#fff;
  font-size:10.5px !important;
}

.sidebar-user-copy span{
  margin-top:2px;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  color:#b8c6d7;
  font-size:8.5px !important;
}

.sidebar-logout{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:7px;
  padding:7px 10px;
  border-radius:8px;
  color:#e5edf7;
  text-decoration:none;
  font-size:10px !important;
}

.sidebar-logout:hover{
  background:rgba(211,58,70,.18);
  color:#fff;
}

.sidebar-credit{
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid var(--sidebar-border);
  text-align:center;
}

.sidebar-credit small,
.sidebar-credit strong{
  display:block;
}

.sidebar-credit small{
  color:#8194aa;
  font-size:7px !important;
  letter-spacing:1px;
}

.sidebar-credit strong{
  margin-top:2px;
  color:#b7c5d6;
  font-size:8px !important;
  letter-spacing:.4px;
}

/* Collapsed state */
.sidebar-collapsed .sidebar{
  width:var(--sidebar-collapsed-width);
  min-width:var(--sidebar-collapsed-width);
}

.sidebar-collapsed .sidebar-top{
  padding:12px 8px;
}

.sidebar-collapsed .sidebar-brand-row{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
}

.sidebar-collapsed .sidebar-brand{
  flex:none;
}

.sidebar-collapsed .sidebar-logo{
  width:38px;
  height:38px;
  margin:0;
}

.sidebar-collapsed .sidebar-brand-copy,
.sidebar-collapsed .sidebar-section-title,
.sidebar-collapsed .sidebar-label,
.sidebar-collapsed .sidebar-user-copy,
.sidebar-collapsed .sidebar-credit{
  display:none !important;
}

.sidebar-collapsed .sidebar-collapse-btn{
  width:30px;
  height:30px;
  flex-basis:30px;
}

.sidebar-collapsed .sidebar-navigation{
  padding:8px 7px;
}

.sidebar-collapsed .sidebar-section + .sidebar-section{
  margin-top:8px;
  padding-top:8px;
}

.sidebar-collapsed .sidebar-item{
  justify-content:center;
  min-height:38px;
  padding:8px;
}

.sidebar-collapsed .sidebar-icon{
  width:22px;
  min-width:22px;
}

.sidebar-collapsed .sidebar-footer{
  padding:8px 7px;
}

.sidebar-collapsed .sidebar-user{
  justify-content:center;
  padding:5px;
  background:transparent;
}

.sidebar-collapsed .sidebar-avatar{
  width:32px;
  height:32px;
  flex-basis:32px;
}

.sidebar-collapsed .sidebar-logout{
  justify-content:center;
  padding:7px;
}

.sidebar-collapsed .main-content{
  margin-left:var(--sidebar-collapsed-width);
}

/* Standard main content offset */
.main-content{
  margin-left:var(--sidebar-width);
  transition:margin-left .22s ease;
}

/* Mobile */
@media(max-width:991.98px){
  .sidebar{
    transform:translateX(-100%);
    transition:transform .22s ease;
  }

  .sidebar-mobile-open .sidebar{
    transform:translateX(0);
  }

  .main-content,
  .sidebar-collapsed .main-content{
    margin-left:0;
  }
}


/* VertiCore CMMS v10.3 - Compact Sidebar Typography */
.sidebar-brand-copy strong{
  font-size:11.5px !important;
}

.sidebar-brand-copy span{
  font-size:9px !important;
  line-height:1.2 !important;
}

.sidebar-brand-copy small{
  font-size:7.5px !important;
  letter-spacing:.65px;
}

.sidebar-section-title{
  font-size:7.5px !important;
  letter-spacing:1px;
  padding-bottom:5px;
}

.sidebar-item{
  min-height:33px;
  padding:6px 10px;
  margin:1px 0;
  gap:8px;
  font-size:9.5px !important;
}

.sidebar-icon{
  width:18px;
  min-width:18px;
  font-size:11.5px !important;
}

.sidebar-section + .sidebar-section{
  margin-top:10px;
  padding-top:10px;
}

.sidebar-navigation{
  padding:8px 8px 11px;
}

.sidebar-user-copy strong{
  font-size:9px !important;
}

.sidebar-user-copy span{
  font-size:7.5px !important;
}

.sidebar-logout{
  font-size:8.5px !important;
}

.sidebar-credit small{
  font-size:6px !important;
}

.sidebar-credit strong{
  font-size:7px !important;
}

/* Keep collapsed navigation compact */
.sidebar-collapsed .sidebar-item{
  min-height:32px;
  padding:6px;
}


/* Breakdown ticket cards */
.breakdown-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.breakdown-ticket-card{
  background:#fff;
  border:1px solid #e5eaf1;
  border-radius:14px;
  box-shadow:0 10px 24px rgba(21,43,74,.06);
  overflow:hidden;
}

.breakdown-ticket-main{
  padding:17px 18px 15px;
}

.breakdown-ticket-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding-bottom:12px;
  border-bottom:1px solid #e6ebf1;
}

.breakdown-ticket-number{
  display:block;
  font-weight:800;
  color:#102d55;
}

.breakdown-ticket-grid{
  display:grid;
  grid-template-columns:minmax(250px,2fr) minmax(180px,1.25fr) minmax(90px,.6fr) minmax(130px,.8fr) minmax(120px,.75fr);
  gap:18px;
  padding:15px 0 12px;
}

.breakdown-ticket-grid > div{
  min-width:0;
}

.breakdown-ticket-grid .detail-value{
  overflow-wrap:anywhere;
}

.breakdown-ticket-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding-top:12px;
  border-top:1px solid #e6ebf1;
}

.breakdown-ticket-actions .btn{
  min-width:76px;
}

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

@media(max-width:767.98px){
  .breakdown-ticket-main{
    padding:14px;
  }

  .breakdown-ticket-heading{
    align-items:flex-start;
  }

  .breakdown-ticket-grid{
    grid-template-columns:1fr;
    gap:11px;
  }

  .breakdown-ticket-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .breakdown-ticket-actions .btn{
    width:100%;
  }
}


/* VertiCore CMMS v10.4 - Compact Breakdown Page */
.main-content{
  max-width:100%;
  overflow-x:hidden;
}

.breakdown-list{
  gap:8px;
}

.breakdown-ticket-card{
  border-radius:11px;
  box-shadow:0 6px 16px rgba(21,43,74,.05);
}

.breakdown-ticket-main{
  padding:12px 14px 11px;
}

.breakdown-ticket-heading{
  gap:10px;
  padding-bottom:8px;
}

.breakdown-ticket-number{
  font-size:11px !important;
}

.breakdown-ticket-heading .small-muted{
  font-size:9px !important;
}

.breakdown-ticket-heading .badge{
  font-size:9px !important;
  padding:5px 8px !important;
  white-space:nowrap;
}

.breakdown-ticket-grid{
  grid-template-columns:minmax(220px,1.8fr) minmax(120px,.8fr) minmax(75px,.45fr) minmax(110px,.65fr) minmax(105px,.6fr);
  gap:12px;
  padding:10px 0 9px;
}

.breakdown-ticket-grid .detail-label{
  font-size:8px !important;
  margin-bottom:2px;
}

.breakdown-ticket-grid .detail-value{
  font-size:10px !important;
  line-height:1.25 !important;
}

.breakdown-ticket-actions{
  gap:6px;
  padding-top:9px;
}

.breakdown-ticket-actions .btn{
  min-width:66px;
  min-height:28px;
  padding:4px 9px !important;
  font-size:9px !important;
  border-radius:8px;
}

.breakdown-page-header{
  margin-bottom:8px;
}

.breakdown-page-header .section-title{
  font-size:11px !important;
  margin-bottom:2px !important;
}

.breakdown-page-header .small-muted{
  font-size:9px !important;
}

.breakdown-page-header .btn{
  min-height:32px;
  padding:5px 11px !important;
  font-size:9px !important;
}

@media(max-width:1400px){
  .breakdown-ticket-grid{
    grid-template-columns:minmax(200px,1.6fr) minmax(110px,.75fr) minmax(70px,.42fr) minmax(100px,.62fr) minmax(100px,.58fr);
    gap:10px;
  }
}

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

@media(max-width:767.98px){
  .breakdown-ticket-main{
    padding:11px;
  }

  .breakdown-ticket-heading{
    gap:8px;
  }

  .breakdown-ticket-grid{
    grid-template-columns:1fr 1fr;
    gap:9px;
  }

  .breakdown-ticket-grid > div:first-child,
  .breakdown-ticket-grid > div:nth-child(2){
    grid-column:1 / -1;
  }

  .breakdown-ticket-actions{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:480px){
  .breakdown-ticket-grid{
    grid-template-columns:1fr;
  }

  .breakdown-ticket-grid > div{
    grid-column:auto !important;
  }

  .breakdown-ticket-actions{
    grid-template-columns:1fr;
  }
}


.breakdown-status-wrap{
  flex:0 0 auto;
  max-width:100%;
  overflow:hidden;
}

.breakdown-status-wrap .badge{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
}


/* VertiCore CMMS v10.5 - Compact Work Order Cards */
.breakdown-page-header,
.breakdown-list{
  width:min(100%,1280px);
  margin-left:auto;
  margin-right:auto;
}

.breakdown-page-header{
  align-items:center !important;
}

.breakdown-list{
  gap:9px;
}

.work-order-card{
  background:#fff;
  border:1px solid #e1e7ef;
  border-radius:12px;
  box-shadow:0 7px 20px rgba(21,43,74,.055);
  overflow:hidden;
}

.work-order-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  padding:12px 15px 10px;
  border-bottom:1px solid #e7ecf2;
}

.work-order-title-group{
  min-width:0;
}

.work-order-asset{
  color:#102f59;
  font-size:11.5px !important;
  font-weight:800;
  line-height:1.25 !important;
}

.work-order-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:5px;
  margin-top:3px;
  color:#778395;
  font-size:8.5px !important;
}

.work-order-status{
  flex:0 0 auto;
}

.work-order-status .badge{
  font-size:8.5px !important;
  padding:5px 8px !important;
  white-space:nowrap;
}

.work-order-body{
  display:grid;
  grid-template-columns:minmax(260px,1.7fr) minmax(360px,1fr);
  gap:22px;
  align-items:start;
  padding:11px 15px;
}

.work-order-issue{
  min-width:0;
}

.work-order-issue .detail-label{
  font-size:7.5px !important;
  margin-bottom:3px;
}

.work-order-issue .detail-value{
  font-size:10px !important;
  line-height:1.3 !important;
  overflow-wrap:anywhere;
}

.work-order-facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.work-order-fact{
  min-width:0;
}

.work-order-fact span{
  display:block;
  color:#6d7889;
  font-size:7.5px !important;
  font-weight:700;
  letter-spacing:.35px;
}

.work-order-fact strong{
  display:block;
  margin-top:3px;
  color:#1c2734;
  font-size:9.5px !important;
  font-weight:700;
  overflow-wrap:anywhere;
}

.work-order-footer{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  padding:8px 15px 10px;
  border-top:1px solid #e7ecf2;
  background:#fbfcfe;
}

.work-order-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:6px;
}

.work-order-actions .btn{
  min-width:68px;
  min-height:28px;
  padding:4px 9px !important;
  border-radius:7px;
  font-size:8.5px !important;
}

@media(max-width:1000px){
  .work-order-body{
    grid-template-columns:1fr;
    gap:12px;
  }
}

@media(max-width:700px){
  .breakdown-page-header{
    align-items:flex-start !important;
  }

  .work-order-header{
    padding:11px 12px 9px;
  }

  .work-order-body{
    padding:10px 12px;
  }

  .work-order-facts{
    grid-template-columns:1fr 1fr;
  }

  .work-order-footer{
    padding:8px 12px 10px;
  }

  .work-order-actions{
    width:100%;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .work-order-actions .btn{
    width:100%;
  }
}

@media(max-width:430px){
  .work-order-facts{
    grid-template-columns:1fr;
  }

  .work-order-actions{
    grid-template-columns:1fr;
  }
}


/* VertiCore CMMS v10.6 - Left Aligned Breakdown Layout */
.breakdown-page-header{
  justify-content:flex-start !important;
  align-items:flex-start !important;
}

.breakdown-page-header > .btn,
.breakdown-page-header button{
  margin-left:0 !important;
}

.work-order-header{
  justify-content:flex-start;
  align-items:flex-start;
  flex-wrap:wrap;
}

.work-order-title-group{
  width:100%;
}

.work-order-status{
  width:100%;
  margin-top:6px;
  text-align:left;
}

.work-order-body{
  display:block;
}

.work-order-issue{
  margin-bottom:12px;
}

.work-order-facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(140px,1fr));
  gap:12px;
  justify-content:start;
}

.work-order-footer{
  justify-content:flex-start;
}

.work-order-actions{
  justify-content:flex-start;
}

@media(max-width:800px){
  .work-order-facts{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:480px){
  .work-order-facts{
    grid-template-columns:1fr;
  }

  .work-order-actions{
    justify-content:flex-start;
  }
}


/* VertiCore CMMS v11.0 - Enterprise Breakdown Detail */
.ticket-detail-shell{
  width:min(100%,1280px);
  margin:0 auto;
}

.ticket-detail-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  margin-bottom:14px;
}

.ticket-detail-title{
  min-width:0;
}

.ticket-detail-number{
  color:#102f59;
  font-size:12px !important;
  font-weight:800;
}

.ticket-detail-asset-row{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  margin-top:5px;
}

.ticket-detail-asset-row h1{
  margin:0;
  color:#102f59;
  font-size:18px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
}

.ticket-detail-status .badge{
  font-size:9px !important;
  padding:6px 10px !important;
}

.ticket-detail-actions{
  display:flex;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:8px;
}

.ticket-detail-actions .btn{
  min-height:34px;
  padding:6px 12px !important;
  font-size:9px !important;
  border-radius:8px;
  white-space:nowrap;
}

.ticket-detail-card{
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:14px;
  box-shadow:0 10px 28px rgba(21,43,74,.07);
  padding:20px 22px 22px;
}

.ticket-detail-section-title{
  display:flex;
  align-items:center;
  gap:9px;
  padding-bottom:12px;
  border-bottom:1px solid #dfe6ee;
  color:#10346a;
  font-size:11px !important;
  font-weight:800;
}

.ticket-detail-section-icon{
  color:#0d65c4;
  font-size:16px !important;
}

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

.ticket-info-item{
  min-height:82px;
  padding:18px 18px 14px 0;
  border-bottom:1px solid #e4e9ef;
}

.ticket-info-item:nth-child(3n+2),
.ticket-info-item:nth-child(3n+3){
  padding-left:24px;
  border-left:1px solid #e4e9ef;
}

.ticket-info-label,
.ticket-kpi-label{
  color:#6b7484;
  font-size:8px !important;
  font-weight:800;
  letter-spacing:.35px;
}

.ticket-info-value{
  margin-top:5px;
  color:#141b24;
  font-size:10.5px !important;
  line-height:1.35 !important;
  overflow-wrap:anywhere;
}

.ticket-time-title,
.ticket-work-title,
.ticket-photo-title{
  margin-top:20px;
}

.ticket-kpi-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-top:14px;
}

.ticket-kpi-card{
  min-height:94px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:15px 16px;
  border:1px solid #dfe6ee;
  border-radius:11px;
  background:#f9fbfd;
}

.ticket-kpi-icon{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  font-size:18px !important;
  font-weight:800;
}

.ticket-kpi-value{
  margin-top:5px;
  color:#111820;
  font-size:18px !important;
  font-weight:800;
  line-height:1 !important;
}

.ticket-kpi-response{
  border-color:#c9ddfb;
  background:#f5f9ff;
}

.ticket-kpi-response .ticket-kpi-icon{
  color:#1769d3;
  background:#dceaff;
}

.ticket-kpi-repair{
  border-color:#cbe8d3;
  background:#f5fbf6;
}

.ticket-kpi-repair .ticket-kpi-icon{
  color:#299451;
  background:#dff3e4;
}

.ticket-kpi-downtime{
  border-color:#f1dfad;
  background:#fffaf0;
}

.ticket-kpi-downtime .ticket-kpi-icon{
  color:#d89d00;
  background:#fff0bd;
}

.ticket-kpi-verification{
  background:#f7f8fb;
}

.ticket-kpi-verification .ticket-kpi-icon{
  color:#697487;
  background:#e8ebf1;
}

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

.ticket-work-item{
  padding:14px;
  border:1px solid #e1e7ee;
  border-radius:10px;
  background:#fbfcfe;
}

.ticket-work-full{
  grid-column:1 / -1;
}

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

.ticket-photo-item img{
  display:block;
  width:100%;
  max-height:320px;
  object-fit:cover;
  margin-top:8px;
  border:1px solid #dfe5ec;
  border-radius:10px;
  background:#f5f7fa;
}

@media(max-width:980px){
  .ticket-detail-header{
    flex-direction:column;
  }

  .ticket-detail-actions{
    justify-content:flex-start;
  }

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

  .ticket-info-item:nth-child(3n+2),
  .ticket-info-item:nth-child(3n+3){
    padding-left:0;
    border-left:0;
  }

  .ticket-info-item:nth-child(even){
    padding-left:18px;
    border-left:1px solid #e4e9ef;
  }

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

@media(max-width:620px){
  .ticket-detail-card{
    padding:16px;
  }

  .ticket-detail-asset-row h1{
    font-size:14px !important;
  }

  .ticket-detail-actions{
    width:100%;
    display:grid;
    grid-template-columns:1fr;
  }

  .ticket-detail-actions .btn{
    width:100%;
  }

  .ticket-info-grid{
    grid-template-columns:1fr;
  }

  .ticket-info-item,
  .ticket-info-item:nth-child(even){
    min-height:auto;
    padding:13px 0;
    border-left:0;
  }

  .ticket-kpi-grid,
  .ticket-work-grid,
  .ticket-photo-grid{
    grid-template-columns:1fr;
  }

  .ticket-work-full{
    grid-column:auto;
  }
}


/* VertiCore CMMS v11.1 - Global Responsive Screen Fit */

/* Prevent layout overflow globally */
*,
*::before,
*::after{
  box-sizing:border-box;
}

html,
body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}

img,
svg,
canvas,
video{
  max-width:100%;
  height:auto;
}

body{
  min-width:0;
}

/* Main application canvas */
.main-content{
  width:calc(100% - var(--sidebar-width));
  max-width:none;
  min-width:0;
  padding:18px 20px 28px;
  overflow-x:hidden;
}

.sidebar-collapsed .main-content{
  width:calc(100% - var(--sidebar-collapsed-width));
}

/* Standard page shell */
.main-content > .container,
.main-content > .container-fluid,
.main-content > main,
.main-content > section,
.main-content > form,
.main-content > .card,
.main-content > .row,
.main-content > div{
  max-width:100%;
  min-width:0;
}

/* Reusable centered width for large desktop screens */
.page-shell,
.ticket-detail-shell,
.breakdown-page-header,
.breakdown-list{
  width:100% !important;
  max-width:1440px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Page headings and top actions */
.page-header,
.d-flex.justify-content-between,
.d-flex.justify-content-between.align-items-start,
.d-flex.justify-content-between.align-items-center{
  min-width:0;
  max-width:100%;
  gap:12px;
}

.page-header > *,
.d-flex.justify-content-between > *{
  min-width:0;
}

.page-header .btn,
.d-flex.justify-content-between .btn{
  flex:0 0 auto;
  white-space:nowrap;
}

/* Cards */
.card,
.ticket-detail-card,
.work-order-card,
.breakdown-ticket-card{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:hidden;
}

/* Tables */
.table-responsive{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

table{
  width:100%;
  max-width:100%;
}

.table th,
.table td{
  vertical-align:middle;
}

/* Allow long content to wrap instead of forcing page overflow */
.table td,
.table th,
.detail-value,
.ticket-info-value,
.work-order-asset,
.work-order-meta,
.work-order-fact strong,
.asset-name-line,
.asset-code-line{
  overflow-wrap:anywhere;
  word-break:normal;
}

/* Forms */
form,
.form-control,
.form-select,
textarea,
input,
select{
  max-width:100%;
}

.row{
  --bs-gutter-x:1rem;
  max-width:100%;
  margin-left:calc(var(--bs-gutter-x) * -.5);
  margin-right:calc(var(--bs-gutter-x) * -.5);
}

.modal-dialog{
  width:auto;
  max-width:min(900px,calc(100vw - 32px));
  margin:16px auto;
}

.modal-content{
  max-height:calc(100vh - 32px);
  overflow:auto;
}

/* Dashboard KPI rows */
.dashboard-kpi-grid,
.kpi-grid,
.stats-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:14px;
  width:100%;
}

.metric-card,
.kpi-card{
  min-width:0;
}

/* Charts */
canvas{
  display:block;
  max-width:100%;
}

.chart-container,
.dashboard-chart{
  position:relative;
  width:100%;
  max-width:100%;
  min-height:360px;
  overflow:hidden;
}

.chart-container canvas,
.dashboard-chart canvas{
  width:100% !important;
  height:100% !important;
}

/* Detail information grids */
.ticket-info-grid,
.detail-grid,
.info-grid{
  width:100%;
  min-width:0;
}

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

/* Buttons */
.btn-group,
.action-group,
.ticket-detail-actions,
.work-order-actions,
.breakdown-ticket-actions{
  max-width:100%;
  flex-wrap:wrap;
}

.btn{
  max-width:100%;
}

/* Sidebar and content sizing */
@media(max-width:1366px){
  .main-content{
    padding:16px 16px 24px;
  }

  .ticket-detail-card{
    padding:18px;
  }

  .ticket-info-item{
    padding-right:12px;
  }
}

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

  .ticket-info-item:nth-child(3n+2),
  .ticket-info-item:nth-child(3n+3){
    padding-left:0;
    border-left:0;
  }

  .ticket-info-item:nth-child(even){
    padding-left:16px;
    border-left:1px solid #e4e9ef;
  }

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

  .work-order-body{
    grid-template-columns:1fr;
  }
}

@media(max-width:991.98px){
  .main-content,
  .sidebar-collapsed .main-content{
    width:100%;
    margin-left:0;
    padding:14px 12px 22px;
  }

  .page-header,
  .ticket-detail-header,
  .breakdown-page-header,
  .d-flex.justify-content-between{
    flex-direction:column;
    align-items:flex-start !important;
  }

  .ticket-detail-actions,
  .work-order-actions,
  .breakdown-ticket-actions{
    justify-content:flex-start;
  }

  .ticket-detail-actions{
    width:100%;
  }
}

@media(max-width:767.98px){
  .main-content{
    padding:12px 10px 20px;
  }

  h1,
  .ticket-detail-asset-row h1{
    font-size:15px !important;
  }

  h2,
  .section-title{
    font-size:12px !important;
  }

  .card,
  .ticket-detail-card,
  .work-order-card{
    border-radius:10px;
  }

  .ticket-detail-card{
    padding:14px;
  }

  .ticket-info-grid,
  .ticket-kpi-grid,
  .ticket-work-grid,
  .ticket-photo-grid,
  .work-order-facts{
    grid-template-columns:1fr !important;
  }

  .ticket-info-item,
  .ticket-info-item:nth-child(even){
    min-height:auto;
    padding:12px 0;
    border-left:0;
  }

  .ticket-kpi-card{
    min-height:78px;
  }

  .ticket-detail-actions,
  .work-order-actions,
  .breakdown-ticket-actions{
    display:grid;
    grid-template-columns:1fr;
    width:100%;
  }

  .ticket-detail-actions .btn,
  .work-order-actions .btn,
  .breakdown-ticket-actions .btn{
    width:100%;
  }

  .table{
    font-size:9px !important;
  }

  .table th,
  .table td{
    padding:7px 8px;
  }
}

@media(max-width:480px){
  .main-content{
    padding:10px 8px 18px;
  }

  .modal-dialog{
    max-width:calc(100vw - 16px);
    margin:8px auto;
  }

  .ticket-detail-number,
  .work-order-meta{
    font-size:8px !important;
  }

  .btn{
    min-height:32px;
    font-size:9px !important;
  }
}

/* Avoid printing sidebar/content clipping */
@media print{
  .sidebar{
    display:none !important;
  }

  .main-content{
    width:100% !important;
    margin-left:0 !important;
    padding:0 !important;
    overflow:visible !important;
  }

  .ticket-detail-shell,
  .breakdown-list,
  .page-shell{
    max-width:none !important;
  }
}


/* VertiCore CMMS v11.4 - Dashboard chart font and aspect-ratio fix */
.dashboard-chart-card{
  width:100%;
  max-width:100%;
  padding:18px;
  overflow:hidden;
}

.asset-chart-container{
  position:relative;
  width:100%;
  height:420px;
  min-height:420px;
  max-height:520px;
}

.asset-chart-container canvas{
  width:100% !important;
  height:100% !important;
}

@media(max-width:1366px){
  .asset-chart-container{
    height:390px;
    min-height:390px;
  }
}

@media(max-width:991.98px){
  .asset-chart-container{
    height:360px;
    min-height:360px;
  }
}

@media(max-width:767.98px){
  .asset-chart-container{
    height:420px;
    min-height:420px;
  }
}


/* VertiCore CMMS v11.7 - Asset Search, Filter and Sort */
.asset-filter-card{
  width:100%;
  margin:14px 0;
  padding:14px;
  border:1px solid #e1e7ef;
  border-radius:12px;
  background:#fff;
  box-shadow:0 7px 18px rgba(21,43,74,.05);
}

.asset-filter-form{
  display:grid;
  grid-template-columns:repeat(4,minmax(150px,1fr)) auto;
  gap:10px;
  align-items:end;
}

.asset-filter-field{
  min-width:0;
}

.asset-filter-field .form-label{
  margin-bottom:4px;
  color:#657184;
  font-size:8px !important;
  font-weight:800;
  letter-spacing:.35px;
}

.asset-filter-field .form-control,
.asset-filter-field .form-select{
  min-height:36px;
  font-size:9.5px !important;
}

.asset-filter-actions{
  display:flex;
  gap:7px;
}

.asset-filter-actions .btn{
  min-height:36px;
  padding:6px 12px !important;
  font-size:9px !important;
  white-space:nowrap;
}

.asset-filter-summary{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin-top:11px;
  padding-top:10px;
  border-top:1px solid #e5eaf0;
  color:#677387;
  font-size:8.5px !important;
  font-weight:700;
}

@media(max-width:1200px){
  .asset-filter-form{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .asset-filter-actions{
    grid-column:1 / -1;
  }
}

@media(max-width:650px){
  .asset-filter-form{
    grid-template-columns:1fr;
  }

  .asset-filter-actions{
    grid-column:auto;
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .asset-filter-actions .btn{
    width:100%;
  }

  .asset-filter-summary{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* VertiCore CMMS v11.8 - Enterprise Asset Register */
.asset-stats-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  margin:14px 0;
}

.asset-stat-card{
  padding:12px 14px;
  border:1px solid #e1e7ef;
  border-radius:11px;
  background:#fff;
  box-shadow:0 6px 16px rgba(21,43,74,.045);
}

.asset-stat-card span{
  display:block;
  color:#6c7788;
  font-size:7.5px !important;
  font-weight:800;
  letter-spacing:.35px;
}

.asset-stat-card strong{
  display:block;
  margin-top:4px;
  color:#102f59;
  font-size:17px !important;
}

.asset-filter-form-expanded{
  grid-template-columns:repeat(4,minmax(140px,1fr));
}

.asset-search-wide{
  grid-column:span 2;
}

.asset-filter-actions{
  align-self:end;
}

.asset-card-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.asset-register-card{
  overflow:hidden;
  border:1px solid #e1e7ef;
  border-radius:12px;
  background:#fff;
  box-shadow:0 7px 18px rgba(21,43,74,.05);
}

.asset-register-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  padding:13px 15px 10px;
  border-bottom:1px solid #e7ecf2;
}

.asset-register-code{
  color:#687487;
  font-size:9px !important;
  font-weight:800;
}

.asset-register-name{
  margin-top:2px;
  color:#102f59;
  font-size:12px !important;
  font-weight:800;
}

.asset-register-status .badge{
  font-size:8.5px !important;
  padding:5px 8px !important;
}

.asset-register-body{
  padding:11px 15px;
}

.asset-register-classification{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
  color:#27374a;
  font-size:9.5px !important;
}

.asset-register-location{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:6px;
  color:#657184;
  font-size:8.5px !important;
}

.asset-register-contractor{
  margin-top:7px;
  color:#657184;
  font-size:8px !important;
  font-weight:700;
}

.asset-register-actions{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  padding:9px 15px 11px;
  border-top:1px solid #e7ecf2;
  background:#fbfcfe;
}

.asset-register-actions .btn{
  min-height:28px;
  padding:4px 9px !important;
  border-radius:7px;
  font-size:8.5px !important;
}

.asset-pagination{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:12px;
  margin-top:14px;
  color:#687487;
  font-size:8.5px !important;
  font-weight:700;
}

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

  .asset-filter-form-expanded{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .asset-search-wide{
    grid-column:1 / -1;
  }
}

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

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

  .asset-search-wide{
    grid-column:auto;
  }

  .asset-register-header{
    flex-direction:column;
  }

  .asset-register-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .asset-register-actions .btn{
    width:100%;
  }
}

@media(max-width:430px){
  .asset-stats-grid{
    grid-template-columns:1fr;
  }

  .asset-register-actions{
    grid-template-columns:1fr;
  }
}


/* VertiCore CMMS v11.9 - Simplified Asset Registration Modal */
.asset-registration-modal-header{
  min-height:40px;
  padding:8px 12px 4px;
  border-bottom:0;
}

.asset-registration-modal-header .btn-close{
  margin:0;
}

#bd .modal-body,
#assetModal .modal-body,
.modal .modal-body{
  padding-top:8px;
}

.asset-code-save-panel{
  margin:6px 16px 4px;
  padding:11px 13px;
  border:1px solid #dce4ee;
  border-radius:10px;
  background:#f8fafc;
}

.asset-code-save-label{
  color:#6b7788;
  font-size:8px !important;
  font-weight:800;
  letter-spacing:.4px;
}

.asset-code-save-value{
  margin-top:4px;
  color:#12315b;
  font-size:14px !important;
  font-weight:800;
  letter-spacing:.4px;
}

.modal-footer{
  padding-top:8px;
}

.modal-footer .btn{
  min-height:36px;
  font-size:9px !important;
}

@media(max-width:767.98px){
  .asset-code-save-panel{
    margin:4px 12px;
  }
}




/* VertiCore CMMS v12.1 - Clean Asset Registration Module */
.asset-registration-modal-header{
  min-height:40px;
  padding:8px 12px 4px;
  border-bottom:0;
}

.asset-registration-modal-header .btn-close{
  margin:0;
}

.modal .modal-body{
  padding-top:8px;
}

.modal-footer{
  padding-top:8px;
}

.modal-footer .btn[type="submit"]{
  min-width:120px;
  min-height:36px;
  font-size:9px !important;
}

button[data-bs-toggle="modal"][data-bs-target]{
  cursor:pointer;
}


/* VertiCore CMMS v12.2 - Dedicated Asset Registration Module */
.asset-registration-page{
  width:100%;
  max-width:1280px;
  margin:0 auto;
}

.asset-registration-page .card{
  overflow:visible;
}

.asset-registration-page .form-label{
  font-size:9px !important;
  font-weight:700;
}

.asset-registration-page .form-control,
.asset-registration-page .form-select{
  min-height:38px;
  font-size:10px !important;
}

@media(max-width:767.98px){
  .asset-registration-page .card{
    padding:16px !important;
  }
}


/* VertiCore CMMS v12.3 - Category/Subcategory Dependency */
#registerSubcategory:disabled{
  background:#eef2f6;
  color:#8a94a3;
  cursor:not-allowed;
}


/* VertiCore CMMS v12.4 - Master Data Driven Registration */
#registerSubcategory:disabled,
#registerAssetName:disabled,
#registerLocation:disabled{
  background:#eef2f6;
  color:#8a94a3;
  cursor:not-allowed;
}


/* VertiCore CMMS v12.6 - Master Data Status Table Fix */
.master-actions-column,
.master-actions-cell{
  width:170px;
  min-width:170px;
  white-space:nowrap;
}

.master-actions-cell .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:68px;
  margin-right:5px;
  font-size:8.5px !important;
}

.master-actions-cell .btn:last-child{
  margin-right:0;
}


/* VertiCore CMMS v12.9 - Master Data Asset Filters */
.asset-filter-master-only{
  display:grid;
  grid-template-columns:repeat(4,minmax(160px,1fr)) auto;
  gap:10px;
  align-items:end;
}

.asset-filter-master-only .asset-filter-actions{
  display:flex;
  gap:7px;
  align-items:end;
}

#assetFilterSubcategory:disabled{
  background:#eef2f6;
  color:#8a94a3;
  cursor:not-allowed;
}

@media(max-width:1200px){
  .asset-filter-master-only{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .asset-filter-master-only .asset-filter-actions{
    grid-column:1 / -1;
  }
}

@media(max-width:650px){
  .asset-filter-master-only{
    grid-template-columns:1fr;
  }

  .asset-filter-master-only .asset-filter-actions{
    grid-column:auto;
    display:grid;
    grid-template-columns:1fr 1fr;
  }
}


/* VertiCore CMMS v13.0 - Asset List Search */
.asset-list-result-summary{
  justify-content:flex-start;
}

.asset-list-result-summary span{
  color:#687487;
  font-size:9px !important;
  font-weight:800;
  letter-spacing:.25px;
}


/* VertiCore CMMS v13.1 - Registered Asset List Search */
.asset-list-search-form{
  display:grid;
  grid-template-columns:repeat(3,minmax(180px,1fr));
  gap:10px;
  align-items:end;
}

.asset-list-search-form .asset-search-field{
  grid-column:span 2;
}

.asset-list-search-form .asset-filter-actions{
  display:flex;
  gap:7px;
  align-items:end;
}

.asset-active-filters{
  width:100%;
  margin-top:4px;
  color:#315fcf;
  font-size:8.5px !important;
  font-weight:700;
  overflow-wrap:anywhere;
}

#assetFilterSubcategory:disabled{
  background:#eef2f6;
  color:#8a94a3;
  cursor:not-allowed;
}

@media(max-width:1100px){
  .asset-list-search-form{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .asset-list-search-form .asset-search-field{
    grid-column:1 / -1;
  }

  .asset-list-search-form .asset-filter-actions{
    grid-column:1 / -1;
  }
}

@media(max-width:650px){
  .asset-list-search-form{
    grid-template-columns:1fr;
  }

  .asset-list-search-form .asset-search-field,
  .asset-list-search-form .asset-filter-actions{
    grid-column:auto;
  }

  .asset-list-search-form .asset-filter-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
}


/* VertiCore CMMS v13.2 - Contractor Register in Master Data */
body.master-data-contractor .table-responsive{
  overflow-x:auto;
}

.master-contractor-email{
  overflow-wrap:anywhere;
}


/* VertiCore CMMS v13.2.1 - Interactive Management Dashboard */
.dashboard-page{
  --dashboard-blue:#315fcf;
  --dashboard-green:#278b57;
  --dashboard-red:#cc3e4b;
  --dashboard-amber:#db9611;
  --dashboard-ink:#17345e;
  --dashboard-muted:#697586;
}

.dashboard-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:22px;
  margin-bottom:5px;
}

.dashboard-eyebrow{
  margin-bottom:5px;
  color:#315fcf;
  font-size:10px;
  font-weight:900;
  letter-spacing:1.1px;
}

.dashboard-header h1{
  margin:0;
  color:var(--dashboard-ink);
  font-size:26px;
  font-weight:800;
  letter-spacing:-.4px;
}

.dashboard-header p{
  margin:5px 0 0;
  color:var(--dashboard-muted);
  font-size:12px;
}

.dashboard-header-actions{
  display:flex;
  align-items:flex-end;
  gap:8px;
}

.dashboard-period-form{
  min-width:185px;
}

.dashboard-period-form label{
  display:block;
  margin-bottom:5px;
  color:#6d7888;
  font-size:8px;
  font-weight:900;
  letter-spacing:.7px;
}

.dashboard-period-form .form-select{
  height:38px;
  font-size:10px;
  font-weight:700;
}

.dashboard-refresh{
  height:38px;
  font-size:9px;
  font-weight:800;
}

.dashboard-updated{
  margin-bottom:17px;
  color:#8a94a3;
  font-size:8px;
  font-weight:700;
  letter-spacing:.4px;
}

.dashboard-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-bottom:12px;
}

.dashboard-kpi{
  position:relative;
  min-height:112px;
  display:flex;
  align-items:center;
  gap:13px;
  padding:17px;
  border:1px solid #e1e7ef;
  border-radius:14px;
  background:#fff;
  color:inherit;
  text-decoration:none;
  box-shadow:0 8px 24px rgba(34,56,84,.07);
  overflow:hidden;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}

.dashboard-kpi::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:#315fcf;
}

.dashboard-kpi:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 30px rgba(34,56,84,.12);
  border-color:#cfd9e6;
}

.dashboard-kpi-success::before{background:var(--dashboard-green)}
.dashboard-kpi-danger::before{background:var(--dashboard-red)}
.dashboard-kpi-warning::before{background:var(--dashboard-amber)}

.dashboard-kpi-icon{
  width:43px;
  height:43px;
  flex:0 0 43px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#edf3ff;
  color:var(--dashboard-blue);
  font-size:20px;
  font-weight:900;
}

.dashboard-kpi-success .dashboard-kpi-icon{
  background:#e9f7ef;
  color:var(--dashboard-green);
}

.dashboard-kpi-danger .dashboard-kpi-icon{
  background:#fff0f2;
  color:var(--dashboard-red);
}

.dashboard-kpi-warning .dashboard-kpi-icon{
  background:#fff7e5;
  color:var(--dashboard-amber);
}

.dashboard-kpi-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
}

.dashboard-kpi-copy span{
  color:#748093;
  font-size:8.5px;
  font-weight:900;
  letter-spacing:.55px;
}

.dashboard-kpi-copy strong{
  margin:3px 0;
  color:var(--dashboard-ink);
  font-size:28px;
  line-height:1;
}

.dashboard-kpi-copy small{
  color:#7e8998;
  font-size:9px;
}

.dashboard-kpi-arrow{
  margin-left:auto;
  color:#b6c0cc;
  font-size:25px;
}

.dashboard-insight-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin-bottom:14px;
  border:1px solid #e0e6ee;
  border-radius:13px;
  background:#fff;
  box-shadow:0 6px 20px rgba(34,56,84,.05);
}

.dashboard-insight{
  padding:14px 17px;
  border-right:1px solid #e8edf3;
}

.dashboard-insight:last-child{
  border-right:0;
}

.dashboard-insight span{
  display:block;
  color:#7a8595;
  font-size:8px;
  font-weight:900;
  letter-spacing:.55px;
}

.dashboard-insight strong{
  display:block;
  margin:3px 0;
  color:var(--dashboard-ink);
  font-size:19px;
}

.dashboard-insight small{
  color:#8a94a3;
  font-size:8.5px;
}

.dashboard-main-grid{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);
  gap:14px;
  margin-bottom:14px;
}

.dashboard-lists-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.dashboard-panel{
  margin:0;
  border:1px solid #e0e6ee;
  box-shadow:0 8px 26px rgba(34,56,84,.06);
  overflow:hidden;
}

.dashboard-panel-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:17px 18px 13px;
  border-bottom:1px solid #e8edf3;
}

.dashboard-panel-header h2{
  margin:0;
  color:var(--dashboard-ink);
  font-size:14px;
  font-weight:800;
}

.dashboard-panel-header p{
  margin:3px 0 0;
  color:#7c8796;
  font-size:9.5px;
}

.dashboard-list-header a{
  color:#315fcf;
  font-size:8.5px;
  font-weight:900;
  text-decoration:none;
  white-space:nowrap;
}

.dashboard-chart-tabs{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:5px;
}

.dashboard-chart-tabs button{
  padding:6px 8px;
  border:1px solid #d7dfe9;
  border-radius:7px;
  background:#fff;
  color:#6f7b8b;
  font-size:7.5px;
  font-weight:900;
  letter-spacing:.25px;
  cursor:pointer;
}

.dashboard-chart-tabs button:hover{
  border-color:#315fcf;
  color:#315fcf;
}

.dashboard-chart-tabs button.active{
  border-color:#315fcf;
  background:#315fcf;
  color:#fff;
}

.dashboard-chart-wrap{
  position:relative;
  min-height:335px;
  padding:18px;
}

.dashboard-chart-wrap canvas{
  width:100% !important;
  height:300px !important;
}

.dashboard-chart-empty{
  min-height:295px;
  display:grid;
  place-items:center;
  color:#8a94a3;
  font-size:9px;
  font-weight:900;
}

.dashboard-quick-actions{
  display:grid;
  gap:8px;
  padding:14px;
}

.dashboard-quick-actions a{
  display:flex;
  align-items:center;
  gap:11px;
  padding:11px;
  border:1px solid #e2e8f0;
  border-radius:10px;
  color:inherit;
  text-decoration:none;
  transition:background .16s ease,border-color .16s ease,transform .16s ease;
}

.dashboard-quick-actions a:hover{
  transform:translateX(3px);
  border-color:#bfccea;
  background:#f7f9fd;
}

.quick-action-icon{
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:#edf3ff;
  color:#315fcf;
  font-size:15px;
  font-weight:900;
}

.dashboard-quick-actions strong{
  display:block;
  color:var(--dashboard-ink);
  font-size:10px;
}

.dashboard-quick-actions small{
  display:block;
  margin-top:2px;
  color:#808b9a;
  font-size:8.5px;
}

.dashboard-list{
  min-height:250px;
}

.dashboard-list-row{
  display:flex;
  align-items:center;
  gap:11px;
  min-height:68px;
  padding:11px 15px;
  border-bottom:1px solid #edf0f4;
  color:inherit;
  text-decoration:none;
  transition:background .14s ease;
}

.dashboard-list-row:last-child{
  border-bottom:0;
}

.dashboard-list-row:hover{
  background:#f8fafc;
}

.dashboard-list-status{
  width:5px;
  height:39px;
  flex:0 0 5px;
  border-radius:5px;
  background:#7890aa;
}

.priority-critical,
.priority-high,
.ppm-overdue{
  background:#cc3e4b;
}

.priority-medium,
.ppm-due-soon{
  background:#db9611;
}

.priority-low,
.ppm-upcoming{
  background:#278b57;
}

.dashboard-list-main{
  min-width:0;
  flex:1;
}

.dashboard-list-main strong,
.dashboard-list-main span,
.dashboard-list-main small{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.dashboard-list-main strong{
  color:var(--dashboard-ink);
  font-size:9.5px;
}

.dashboard-list-main span{
  margin-top:3px;
  color:#586677;
  font-size:9px;
}

.dashboard-list-main small{
  margin-top:3px;
  color:#8993a1;
  font-size:8px;
}

.dashboard-list-meta{
  flex:0 0 auto;
  display:flex;
  align-items:flex-end;
  flex-direction:column;
  gap:5px;
}

.dashboard-list-meta .badge{
  font-size:7.5px;
}

.dashboard-list-meta small{
  color:#7e8998;
  font-size:7.5px;
  font-weight:800;
}

.dashboard-empty-state{
  min-height:250px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  color:#8792a0;
  text-align:center;
}

.dashboard-empty-state span{
  width:45px;
  height:45px;
  display:grid;
  place-items:center;
  margin-bottom:8px;
  border-radius:50%;
  background:#eaf6ef;
  color:#278b57;
  font-size:20px;
}

.dashboard-empty-state strong{
  color:#526174;
  font-size:10px;
}

.dashboard-empty-state small{
  margin-top:3px;
  font-size:8.5px;
}

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

  .dashboard-main-grid{
    grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);
  }
}

@media(max-width:1000px){
  .dashboard-header{
    align-items:flex-start;
    flex-direction:column;
  }

  .dashboard-main-grid,
  .dashboard-lists-grid{
    grid-template-columns:1fr;
  }

  .dashboard-insight-strip{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .dashboard-insight:nth-child(2){
    border-right:0;
  }

  .dashboard-insight:nth-child(-n+2){
    border-bottom:1px solid #e8edf3;
  }
}

@media(max-width:650px){
  .dashboard-header-actions{
    width:100%;
    align-items:stretch;
    flex-direction:column;
  }

  .dashboard-period-form{
    width:100%;
  }

  .dashboard-kpis,
  .dashboard-insight-strip{
    grid-template-columns:1fr;
  }

  .dashboard-insight{
    border-right:0;
    border-bottom:1px solid #e8edf3;
  }

  .dashboard-insight:last-child{
    border-bottom:0;
  }

  .dashboard-panel-header{
    flex-direction:column;
  }

  .dashboard-chart-tabs{
    justify-content:flex-start;
  }

  .dashboard-list-meta{
    display:none;
  }

  .dashboard-header h1{
    font-size:21px;
  }
}


/* VertiCore CMMS v13.2.2 - Global Back Action */
.global-page-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  margin-bottom:10px;
}

.global-back-button{
  min-width:88px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:0 15px;
  border:1px solid #6f7b88;
  border-radius:10px;
  background:#fff;
  color:#586575;
  font-size:9px !important;
  font-weight:800;
  letter-spacing:.3px;
  box-shadow:0 3px 10px rgba(32,48,68,.06);
  transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease;
}

.global-back-button:hover{
  transform:translateY(-1px);
  border-color:#315fcf;
  background:#f4f7ff;
  color:#315fcf;
}

.global-back-icon{
  font-size:15px;
  line-height:1;
}

@media(max-width:575.98px){
  .global-page-actions{
    justify-content:flex-start;
    margin-bottom:8px;
  }

  .global-back-button{
    min-width:82px;
    height:36px;
  }
}


/* VertiCore CMMS v13.2.3 - Single Back Action Policy */
.global-back-button{
  display:inline-flex;
}


/* VertiCore CMMS v13.2.5 - Compact Global Page Alignment */
:root{
  --sidebar-w:260px;
  --sidebar-collapsed-w:72px;
  --content-gutter:14px;
}

/* Expanded sidebar: content begins immediately after a compact gutter */
.main-content{
  margin-left:var(--sidebar-w) !important;
  width:calc(100% - var(--sidebar-w)) !important;
  padding:0 var(--content-gutter) 24px !important;
  box-sizing:border-box;
}

.page-shell{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:16px 0 24px !important;
  box-sizing:border-box;
}

/* Prevent page-level wrappers from adding a second large left margin */
.page-shell > *,
.dashboard-page,
.asset-register-page,
.breakdown-page,
.ppm-page,
.master-data-page,
.user-management-page,
.settings-page,
.audit-log-page,
.export-page{
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* Global back action follows the same compact alignment */
.global-page-actions{
  width:100%;
  margin:12px 0 0 !important;
  padding:0 !important;
}

/* Collapsed sidebar */
body.sidebar-collapsed .main-content{
  margin-left:var(--sidebar-collapsed-w) !important;
  width:calc(100% - var(--sidebar-collapsed-w)) !important;
}

/* Ensure wide dashboard sections use all available room */
.dashboard-header,
.dashboard-kpis,
.dashboard-insight-strip,
.dashboard-main-grid,
.dashboard-lists-grid{
  width:100% !important;
}

/* Remove legacy desktop offsets that created the visible blank strip */
@media(min-width:901px){
  .main-content{
    left:auto !important;
    transform:none !important;
  }

  .page-shell{
    padding-left:0 !important;
    padding-right:0 !important;
  }
}

/* Tablet/mobile keeps the sidebar overlay and full-width content */
@media(max-width:900px){
  .main-content,
  body.sidebar-collapsed .main-content{
    margin-left:0 !important;
    width:100% !important;
    padding:0 12px 22px !important;
  }

  .page-shell{
    padding:14px 0 22px !important;
  }
}

@media(max-width:575.98px){
  :root{
    --content-gutter:10px;
  }

  .main-content{
    padding-left:10px !important;
    padding-right:10px !important;
  }
}


/* VertiCore CMMS v13.2.6 - Global GProp-Style Page Alignment */
:root{
  --sidebar-w:260px;
  --sidebar-collapsed-w:72px;
  --page-edge-gap:8px;
  --page-right-gap:10px;
}

/* Expanded sidebar: content begins almost immediately beside sidebar */
.main-content{
  margin-left:var(--sidebar-w) !important;
  width:calc(100% - var(--sidebar-w)) !important;
  min-width:0 !important;
  padding-left:var(--page-edge-gap) !important;
  padding-right:var(--page-right-gap) !important;
  box-sizing:border-box !important;
}

/* Shared page wrapper for every module */
.page-shell{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
  padding:12px 0 22px !important;
  box-sizing:border-box !important;
}

/* Remove inherited duplicate horizontal offsets from all page types */
.page-shell > *,
.dashboard-page,
.asset-register-page,
.asset-page,
.asset-view-page,
.breakdown-page,
.breakdowns-page,
.breakdown-view-page,
.ppm-page,
.master-data-page,
.contractor-page,
.user-management-page,
.user-page,
.settings-page,
.audit-log-page,
.export-page,
.standards-page,
.content-wrapper,
.content-area,
.page-content,
.module-page{
  max-width:none !important;
  min-width:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
}

/* Dashboard and content sections use full available width */
.dashboard-header,
.dashboard-updated,
.dashboard-kpis,
.dashboard-insight-strip,
.dashboard-main-grid,
.dashboard-lists-grid,
.asset-filter-card,
.asset-card-list,
.table-responsive,
.card,
.panel{
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
}

/* Keep action bar aligned with content edge */
.global-page-actions{
  width:100% !important;
  margin:10px 0 0 !important;
  padding:0 !important;
  box-sizing:border-box !important;
}

/* Collapsed sidebar */
body.sidebar-collapsed .main-content{
  margin-left:var(--sidebar-collapsed-w) !important;
  width:calc(100% - var(--sidebar-collapsed-w)) !important;
}

/* Prevent hidden legacy offsets */
@media(min-width:901px){
  .main-content{
    left:auto !important;
    right:auto !important;
    transform:none !important;
  }

  .page-shell{
    padding-left:0 !important;
    padding-right:0 !important;
  }
}

/* Tablet/mobile: sidebar overlays, content becomes full width */
@media(max-width:900px){
  .main-content,
  body.sidebar-collapsed .main-content{
    margin-left:0 !important;
    width:100% !important;
    padding-left:10px !important;
    padding-right:10px !important;
  }

  .page-shell{
    padding:12px 0 20px !important;
  }
}

/* Small screens */
@media(max-width:575.98px){
  .main-content,
  body.sidebar-collapsed .main-content{
    padding-left:8px !important;
    padding-right:8px !important;
  }

  .page-shell{
    padding-top:10px !important;
  }
}


/* VertiCore CMMS v13.2.7 - Double Sidebar Offset Fix */
:root{
  --sidebar-width:260px;
  --sidebar-collapsed-width:72px;
  --page-content-gap:10px;
}

/*
 * The fixed sidebar offset belongs only to .main-wrapper.
 * Previous versions also shifted .main-content, which doubled the
 * sidebar width and created the large blank strip.
 */
.main-wrapper{
  margin-left:var(--sidebar-width) !important;
  width:calc(100% - var(--sidebar-width)) !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}

.main-content{
  margin-left:0 !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  padding-left:var(--page-content-gap) !important;
  padding-right:var(--page-content-gap) !important;
  box-sizing:border-box !important;
}

/* Shared page container */
.page-shell{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
  padding:12px 0 22px !important;
  box-sizing:border-box !important;
}

/* Remove internal centering/width restrictions from module wrappers */
.page-shell > *,
.dashboard-page,
.asset-register-page,
.asset-registration-page,
.asset-page,
.asset-view-page,
.breakdown-page,
.breakdowns-page,
.breakdown-view-page,
.ticket-detail-shell,
.ppm-page,
.master-data-page,
.contractor-page,
.user-management-page,
.user-page,
.settings-page,
.audit-log-page,
.export-page,
.standards-page,
.content-wrapper,
.content-area,
.page-content,
.module-page{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
}

/* Collapsed sidebar */
body.sidebar-collapsed .main-wrapper,
.sidebar-collapsed .main-wrapper{
  margin-left:var(--sidebar-collapsed-width) !important;
  width:calc(100% - var(--sidebar-collapsed-width)) !important;
}

body.sidebar-collapsed .main-content,
.sidebar-collapsed .main-content{
  margin-left:0 !important;
  width:100% !important;
}

/* Global back action aligns with the same edge */
.global-page-actions{
  width:100% !important;
  margin:10px 0 0 !important;
  padding:0 !important;
}

/* Mobile/tablet: sidebar overlays content */
@media(max-width:991.98px){
  .main-wrapper,
  body.sidebar-collapsed .main-wrapper,
  .sidebar-collapsed .main-wrapper{
    margin-left:0 !important;
    width:100% !important;
  }

  .main-content,
  body.sidebar-collapsed .main-content,
  .sidebar-collapsed .main-content{
    margin-left:0 !important;
    width:100% !important;
    padding-left:10px !important;
    padding-right:10px !important;
  }
}

@media(max-width:575.98px){
  .main-content{
    padding-left:8px !important;
    padding-right:8px !important;
  }
}


/* VertiCore CMMS v13.2.8 - Breakdown PDF Download */
.breakdown-download-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  white-space:nowrap;
}

.breakdown-download-button span{
  font-size:13px;
  line-height:1;
}

.work-order-actions .breakdown-download-button{
  min-width:112px;
}


/* VertiCore CMMS v13.2.9 - Global Button Centering & Compact Sidebar */

/* Global action-button alignment */
.btn,
button,
input[type="button"],
input[type="submit"],
input[type="reset"],
a.btn,
.action-button,
.work-order-actions .btn,
.ticket-detail-actions .btn,
.global-back-button,
.modal-footer .btn,
.card-actions .btn,
.page-actions .btn,
.header-actions .btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  text-align:center !important;
  vertical-align:middle !important;
  line-height:1 !important;
  white-space:nowrap !important;
  box-sizing:border-box !important;
}

/* Standard button height and padding */
.btn:not(.btn-sm):not(.btn-lg),
button:not(.sidebar-collapse-btn):not(.sidebar-toggle):not(.btn-close),
input[type="button"],
input[type="submit"],
input[type="reset"]{
  min-height:38px !important;
  padding:8px 14px !important;
}

.btn-sm{
  min-height:34px !important;
  padding:7px 12px !important;
}

.btn-lg{
  min-height:44px !important;
  padding:10px 18px !important;
}

/* Keep icons visually centred with text */
.btn > span,
button > span,
.action-button > span{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
}

/* Avoid inherited offsets inside buttons */
.btn svg,
.btn i,
.btn img,
button svg,
button i,
button img{
  flex:0 0 auto;
  margin:0 !important;
  vertical-align:middle !important;
}

/* Compact sidebar typography */
.sidebar-section-title,
.nav-section-label{
  font-size:7.5px !important;
  line-height:1.1 !important;
  letter-spacing:1.1px !important;
  font-weight:800 !important;
}

.sidebar-item,
.sidebar-link{
  min-height:38px !important;
  padding-top:7px !important;
  padding-bottom:7px !important;
  font-size:8.5px !important;
  line-height:1.1 !important;
  font-weight:700 !important;
}

.sidebar-label,
.nav-label{
  font-size:8.5px !important;
  line-height:1.1 !important;
  letter-spacing:.1px !important;
}

.sidebar-child-item{
  min-height:34px !important;
  font-size:7.5px !important;
  padding-top:6px !important;
  padding-bottom:6px !important;
}

.sidebar-child-item .sidebar-label{
  font-size:7.5px !important;
}

.sidebar-icon,
.nav-icon{
  width:18px !important;
  flex-basis:18px !important;
  font-size:13px !important;
  line-height:1 !important;
}

.sidebar-profile-details strong,
.sidebar-user-details strong,
.user-meta strong{
  font-size:8.5px !important;
}

.sidebar-profile-details span,
.sidebar-user-details span,
.user-meta small{
  font-size:7px !important;
}

.sidebar-brand-copy strong,
.brand-text strong{
  font-size:10px !important;
}

.sidebar-brand-copy span,
.brand-text span{
  font-size:7.5px !important;
}

.sidebar-brand-copy small,
.brand-site{
  font-size:6.5px !important;
}

.sidebar-search,
.sidebar-search input{
  font-size:8px !important;
}

/* Reduce sidebar vertical spacing so more modules remain visible */
.sidebar-section-title,
.nav-section-label{
  padding-top:11px !important;
  padding-bottom:7px !important;
}

.sidebar-navigation,
.sidebar-nav{
  padding-top:4px !important;
  padding-bottom:8px !important;
}

.sidebar-user,
.sidebar-profile{
  padding-top:10px !important;
  padding-bottom:10px !important;
}

.logout-link,
.sidebar-logout{
  min-height:36px !important;
  font-size:8.5px !important;
}

/* Maintain centered alignment for full-width mobile buttons */
@media(max-width:575.98px){
  .btn,
  button,
  input[type="button"],
  input[type="submit"],
  input[type="reset"]{
    justify-content:center !important;
    text-align:center !important;
  }
}
\n\n/* VertiCore CMMS v13.3.0 - User Management Completion */\n.sidebar-user-link{color:inherit;text-decoration:none;}\n.sidebar-user-link:hover{color:inherit;background:rgba(255,255,255,.04);}\n.user-stat-card{height:100%;}\n.user-last-login{font-size:11px!important;white-space:nowrap;}\n.table-nowrap td,.table-nowrap th{vertical-align:middle;}\n

/* VertiCore CMMS v13.3.2 - Compact User Management Actions */
.user-actions{
  width:285px;
  min-width:285px;
  vertical-align:middle !important;
}

.user-action-bar{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:7px;
  flex-wrap:nowrap;
  position:relative;
}

.user-action-primary,
.user-more-button{
  height:34px !important;
  min-height:34px !important;
  min-width:78px;
  padding:0 13px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
  font-size:9px !important;
  font-weight:700 !important;
  border-radius:9px !important;
}

.user-more-button{
  min-width:88px;
}

.user-more-caret{
  margin-left:3px;
  font-size:9px !important;
}

.user-action-menu{
  position:relative;
}

.user-more-dropdown{
  position:absolute;
  top:calc(100% + 6px);
  right:0;
  z-index:500;
  width:205px;
  padding:6px;
  border:1px solid #dce3eb;
  border-radius:10px;
  background:#fff;
  box-shadow:0 14px 34px rgba(24,42,68,.16);
}

.user-more-dropdown[hidden]{
  display:none !important;
}

.user-more-item{
  min-height:38px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:8px 10px;
  border-radius:7px;
  color:#34445a !important;
  text-decoration:none !important;
  font-size:8.5px !important;
  font-weight:700;
  line-height:1.15;
}

.user-more-item:hover{
  background:#f3f6fa;
}

.user-more-icon{
  width:20px;
  height:20px;
  flex:0 0 20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:6px;
  background:#eef3fa;
  color:#315fcf;
  font-size:11px !important;
  font-weight:900;
}

.user-more-divider{
  height:1px;
  margin:5px 4px;
  background:#e5eaf0;
}

.user-more-danger{
  color:#c93643 !important;
}

.user-more-danger .user-more-icon{
  background:#fff0f2;
  color:#c93643;
}

.user-list-table tbody tr{
  position:relative;
}

.user-list-table tbody tr:hover{
  background:#fafbfd;
}

@media(max-width:1100px){
  .user-actions{
    width:245px;
    min-width:245px;
  }

  .user-action-primary,
  .user-more-button{
    min-width:70px;
    padding-left:10px !important;
    padding-right:10px !important;
  }
}

@media(max-width:760px){
  .user-actions{
    width:auto;
    min-width:210px;
  }

  .user-action-bar{
    flex-wrap:wrap;
  }

  .user-more-dropdown{
    left:0;
    right:auto;
  }
}


/* VertiCore CMMS v13.3.3 - User Action Menu Rendering Fix */

/* Desktop: allow the More dropdown to escape the table wrapper vertically. */
@media(min-width:761px){
  .user-management-table-wrap{
    overflow:visible !important;
  }
}

/* Keep the action menu above neighbouring rows/cards. */
.user-action-menu{
  position:relative !important;
  z-index:20;
}

.user-action-menu.open{
  z-index:1000;
}

.user-more-dropdown{
  display:block;
  position:absolute !important;
  top:calc(100% + 6px) !important;
  right:0 !important;
  z-index:1001 !important;
  width:215px !important;
  min-width:215px !important;
  padding:6px !important;
  border:1px solid #d7dee8 !important;
  border-radius:10px !important;
  background:#fff !important;
  box-shadow:0 14px 36px rgba(24,42,68,.18) !important;
}

.user-more-dropdown[hidden]{
  display:none !important;
}

.user-more-item{
  width:100%;
  min-height:38px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:9px !important;
  padding:8px 10px !important;
  box-sizing:border-box;
  border-radius:7px;
  white-space:nowrap;
}

.user-more-item span:last-child{
  flex:1;
  text-align:left;
}

.user-more-button[aria-expanded="true"]{
  background:#eef3ff !important;
  border-color:#315fcf !important;
  color:#315fcf !important;
}

/* Mobile/tablet: expand the menu inside the row instead of clipping it. */
@media(max-width:760px){
  .user-management-table-wrap{
    overflow-x:auto !important;
    overflow-y:visible !important;
  }

  .user-action-bar{
    flex-wrap:wrap !important;
  }

  .user-action-menu{
    position:static !important;
  }

  .user-more-dropdown{
    position:static !important;
    width:100% !important;
    min-width:180px !important;
    margin-top:6px;
  }
}


/* VertiCore CMMS v13.3.4 - User Actions Below Description */
.user-summary-row td{
  vertical-align:middle !important;
  padding-top:13px !important;
  padding-bottom:7px !important;
  border-bottom:0 !important;
}

.user-actions-row td{
  padding:0 10px 12px !important;
  border-top:0 !important;
  border-bottom:1px solid #dfe5ec !important;
}

.user-actions-below{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:40px;
  padding:6px 0 3px;
}

.user-actions-label{
  color:#6f7b8b;
  font-size:7.5px;
  font-weight:900;
  letter-spacing:.7px;
}

.user-action-bar{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:7px;
  flex-wrap:nowrap;
}

.user-primary-info{
  display:flex;
  flex-direction:column;
  gap:2px;
}

.user-primary-info strong{
  font-size:10px;
  font-weight:800;
}

.user-primary-info span{
  color:#7a8595;
  font-size:8.5px;
}

.user-status-stack{
  display:flex;
  align-items:center;
  gap:5px;
  flex-wrap:wrap;
}

.user-actions-row .user-more-dropdown{
  left:0 !important;
  right:auto !important;
}

@media(max-width:900px){
  .user-actions-below{
    align-items:flex-start;
    flex-direction:column;
    gap:6px;
  }

  .user-action-bar{
    flex-wrap:wrap;
  }
}

/* BLYNQX Raspberry + Pale Sky Global Theme — 2026-08-10 */
:root{
  --blynqx-primary:#C2185B;
  --blynqx-primary-dark:#971247;
  --blynqx-primary-soft:#F9E6EE;
  --blynqx-sky:#E0F2FE;
  --blynqx-sky-soft:#F3FAFF;
  --blynqx-ink:#172033;
  --blynqx-muted:#64748B;
  --blynqx-border:#CFE3F2;
  --content-bg:#E0F2FE;
  --sidebar-bg:#C2185B;
  --sidebar-bg-deep:#971247;
  --sidebar-accent:#FFFFFF;
  --sidebar-text:#FFFFFF;
  --sidebar-muted:#F7DCE7;
}
html,body{background:var(--blynqx-sky)!important;color:var(--blynqx-ink)}
body{background:linear-gradient(135deg,#E0F2FE 0%,#F8FCFF 58%,#FBEAF1 100%) fixed!important}
.main-wrapper,.main-content{background:transparent!important}
.card,.page-card,.content-card,.table-card,.ticket-detail-card,.asset-card{background:#fff!important;border-color:var(--blynqx-border)!important;box-shadow:0 8px 26px rgba(69,91,112,.09)!important}
.section-title,h1,h2,h3,h4,h5,.page-title{color:var(--blynqx-primary-dark)!important}
a{color:var(--blynqx-primary)}
a:hover{color:var(--blynqx-primary-dark)}
.btn-primary,.btn.btn-primary{background:var(--blynqx-primary)!important;border-color:var(--blynqx-primary)!important;color:#fff!important}
.btn-primary:hover,.btn-primary:focus,.btn-primary:active{background:var(--blynqx-primary-dark)!important;border-color:var(--blynqx-primary-dark)!important}
.btn-outline-primary{color:var(--blynqx-primary)!important;border-color:var(--blynqx-primary)!important}
.btn-outline-primary:hover{background:var(--blynqx-primary)!important;color:#fff!important}
.form-control:focus,.form-select:focus{border-color:var(--blynqx-primary)!important;box-shadow:0 0 0 .2rem rgba(194,24,91,.12)!important}
.table thead th{background:var(--blynqx-primary)!important;color:#fff!important;border-color:rgba(255,255,255,.16)!important}
.table tbody tr:hover{background:#FDF4F8!important}
.badge.bg-primary,.bg-primary{background-color:var(--blynqx-primary)!important}
.text-primary{color:var(--blynqx-primary)!important}
.pagination .page-link{color:var(--blynqx-primary)}
.pagination .page-item.active .page-link{background:var(--blynqx-primary)!important;border-color:var(--blynqx-primary)!important;color:#fff!important}

.sidebar{background:linear-gradient(180deg,#C2185B 0%,#A5144E 55%,#86103F 100%)!important;border-right-color:rgba(113,8,50,.28)!important;box-shadow:10px 0 30px rgba(97,13,47,.16)!important}
.sidebar-top,.sidebar-footer,.sidebar-section + .sidebar-section{border-color:rgba(255,255,255,.16)!important}
.sidebar-brand-copy strong,.sidebar-brand-copy span,.sidebar-brand-copy small,.sidebar-section-title,.sidebar-item,.sidebar-icon,.sidebar-user-copy strong,.sidebar-user-copy span,.sidebar-credit small,.sidebar-credit strong{color:#fff!important}
.sidebar-brand-copy span,.sidebar-brand-copy small,.sidebar-section-title,.sidebar-user-copy span,.sidebar-credit small{opacity:.78}
.sidebar-item:hover{background:rgba(255,255,255,.13)!important}
.sidebar-item.active{background:#fff!important;color:var(--blynqx-primary)!important;box-shadow:none!important}
.sidebar-item.active .sidebar-icon{color:var(--blynqx-primary)!important}
.sidebar-avatar{background:#fff!important;color:var(--blynqx-primary)!important}
.sidebar-user{background:rgba(255,255,255,.10)!important}
.sidebar-footer{background:rgba(91,8,40,.14)!important}
.sidebar-collapse-btn{background:rgba(255,255,255,.14)!important}
.mobile-topbar{background:var(--blynqx-primary)!important;color:#fff!important}
.global-back-button{color:var(--blynqx-primary)!important;border-color:var(--blynqx-primary)!important;background:#fff!important}
.global-back-button:hover{background:var(--blynqx-primary)!important;color:#fff!important}

/* Login: clean Pale Sky canvas with Raspberry action hierarchy */
body:has(.login-logo-wrap){min-height:100vh;background:linear-gradient(145deg,#E0F2FE 0%,#F5FBFF 58%,#FCEBF2 100%)!important}
.login-logo-wrap{margin:34px auto 8px!important}
.login-logo{max-width:170px!important;filter:drop-shadow(0 8px 18px rgba(194,24,91,.12))}
body:has(.login-logo-wrap) .container{padding-top:16px!important}
body:has(.login-logo-wrap) .card{border:1px solid rgba(194,24,91,.10)!important;border-radius:20px!important;box-shadow:0 18px 45px rgba(77,91,112,.13)!important}
body:has(.login-logo-wrap) .section-title{color:var(--blynqx-primary)!important;letter-spacing:.2px}
body:has(.login-logo-wrap) .form-control{min-height:50px;border:1px solid #C9DDEA;background:#fff}
body:has(.login-logo-wrap) .btn-primary{min-height:50px;font-weight:800;letter-spacing:.4px}
.login-credit{color:#718096!important}
.login-credit strong{color:var(--blynqx-primary)!important}

/* Common commercial UI accents */
.nav-tabs .nav-link.active,.nav-pills .nav-link.active{background:var(--blynqx-primary)!important;color:#fff!important;border-color:var(--blynqx-primary)!important}
.nav-tabs .nav-link{color:var(--blynqx-primary-dark)}
.dropdown-item:active{background:var(--blynqx-primary)!important}
.progress-bar{background:var(--blynqx-primary)!important}
.metric{color:var(--blynqx-primary-dark)}
.small-muted,.detail-label{color:var(--blynqx-muted)!important}
.user-more-button[aria-expanded="true"]{background:#FCEBF2!important;border-color:var(--blynqx-primary)!important;color:var(--blynqx-primary)!important}
@media(max-width:991.98px){.mobile-topbar small{color:#FBE4ED!important}}


/* =========================================================
   BLYNQX LOGIN V2 — Raspberry #C2185B + Pale Sky #E0F2FE
   ========================================================= */
.blynqx-login-page{
  min-height:100vh!important;margin:0!important;overflow-x:hidden;position:relative;
  background:linear-gradient(135deg,#E0F2FE 0%,#F7FCFF 52%,#FCECF3 100%)!important;
  color:#172033;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}
.blynqx-login-page:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(rgba(194,24,91,.08) 1px,transparent 1px);background-size:26px 26px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 70%)}
.login-orb{position:fixed;border-radius:999px;pointer-events:none;filter:blur(.2px)}
.login-orb-one{width:520px;height:520px;left:-180px;top:-210px;background:rgba(255,255,255,.48);border:1px solid rgba(194,24,91,.08)}
.login-orb-two{width:430px;height:430px;right:-170px;top:10%;background:rgba(194,24,91,.07)}
.login-ribbon{position:fixed;left:-8%;right:-8%;bottom:-210px;height:360px;background:#C2185B;transform:rotate(-4deg);transform-origin:center;box-shadow:0 -18px 60px rgba(194,24,91,.14)}
.login-stage{position:relative;z-index:2;min-height:100vh;width:min(1180px,calc(100% - 48px));margin:0 auto;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:72px;padding:64px 0 110px}
.login-brand-panel{padding:18px 12px 18px 4px;align-self:center}
.blynqx-login-logo{display:block;width:min(540px,100%);height:auto;margin:0 0 38px}
.login-brand-message{font-size:clamp(22px,2.1vw,31px);line-height:1.42;color:#526074;margin:0 0 24px;letter-spacing:-.3px}.login-brand-message strong{color:#971247;font-weight:800}
.login-brand-rule{width:74px;height:5px;border-radius:99px;background:#C2185B;margin-bottom:22px}
.login-brand-caption{margin:0;color:#64748B;font-size:12px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase}
.login-card-shell{width:100%;max-width:470px;justify-self:end}
.login-card-v2{position:relative;background:rgba(255,255,255,.96);border:1px solid rgba(194,24,91,.11);border-radius:28px;padding:44px 42px 34px;box-shadow:0 30px 80px rgba(40,65,86,.18),0 6px 18px rgba(194,24,91,.07);overflow:hidden;backdrop-filter:blur(10px)}
.login-card-accent{position:absolute;left:0;top:0;width:100%;height:6px;background:linear-gradient(90deg,#C2185B,#E35C91 58%,#E0F2FE)}
.login-card-head{margin-bottom:30px}.login-eyebrow{display:inline-flex;background:#F9E6EE;color:#971247;border-radius:999px;padding:7px 11px;font-size:10px;font-weight:900;letter-spacing:1.4px;margin-bottom:16px}.login-card-head h1{margin:0 0 7px!important;color:#172033!important;font-size:29px!important;line-height:1.15;font-weight:850!important;letter-spacing:-.7px}.login-card-head p{margin:0;color:#7B8798;font-size:11px;font-weight:800;letter-spacing:1.6px}
.login-form-v2 .form-label{display:block;color:#334155;font-size:11px;font-weight:850;letter-spacing:.9px;margin:0 0 8px}.login-input-wrap{position:relative;margin-bottom:21px}.login-input-wrap .form-control{height:54px!important;border:1px solid #CFE3F2!important;border-radius:13px!important;background:#FBFDFF!important;padding:0 16px 0 45px!important;font-size:14px!important;color:#172033!important;box-shadow:none!important;text-transform:none!important}.login-input-wrap .form-control::placeholder{color:#9AA8B8}.login-input-wrap .form-control:focus{background:#fff!important;border-color:#C2185B!important;box-shadow:0 0 0 4px rgba(194,24,91,.09)!important}.login-input-icon{position:absolute;left:17px;top:50%;transform:translateY(-50%);z-index:2;color:#C2185B;font-size:10px}.login-lock{font-size:9px;transform:translateY(-50%) rotate(45deg)}
.login-submit{height:54px!important;margin-top:4px;border:0!important;border-radius:13px!important;background:#C2185B!important;box-shadow:0 12px 24px rgba(194,24,91,.24)!important;font-size:13px!important;font-weight:900!important;letter-spacing:1.1px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:10px}.login-submit:hover,.login-submit:focus{background:#A5144E!important;transform:translateY(-1px)}.login-submit span{font-size:18px;line-height:1}
.login-alert{border-radius:12px;font-size:12px;font-weight:700}.login-security-note{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:24px;color:#7B8798;font-size:11px}.login-security-note span{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#F9E6EE;color:#C2185B;font-weight:900}.login-credit-v2{text-align:center;margin-top:18px;color:#758295;font-size:9px;font-weight:700;letter-spacing:1.5px}.login-credit-v2 strong{color:#971247}
.blynqx-sidebar-logo{object-fit:contain!important}
@media(max-width:900px){.login-stage{grid-template-columns:1fr;gap:30px;width:min(560px,calc(100% - 34px));padding:42px 0 100px}.login-brand-panel{text-align:center;padding:0}.blynqx-login-logo{width:min(430px,92%);margin:0 auto 18px}.login-brand-message{font-size:18px;margin-bottom:14px}.login-brand-rule{margin:0 auto 14px}.login-brand-caption{font-size:9px}.login-card-shell{justify-self:center;max-width:470px}.login-ribbon{bottom:-265px}}
@media(max-width:520px){.login-stage{width:calc(100% - 24px);padding-top:30px}.login-brand-message,.login-brand-caption,.login-brand-rule{display:none}.blynqx-login-logo{width:min(360px,94%);margin-bottom:8px}.login-card-v2{padding:34px 24px 28px;border-radius:22px}.login-card-head{margin-bottom:25px}.login-card-head h1{font-size:25px!important}.login-ribbon{height:300px;bottom:-245px}}
