@charset "UTF-8";
/* BIMSEEK admin console UI v1.0 - overlay only, scoped to html.bs-admin.
   ASCII only on purpose: the server serves .css without a charset. */

html.bs-admin{
  --a-bg:#f3f5f8;
  --a-card:#ffffff;
  --a-line:#e6eaf0;
  --a-line-2:#eef1f6;
  --a-head:#f7f9fc;
  --a-text:#18212e;
  --a-text-2:#5b6676;
  --a-text-3:#98a2b3;
  --a-primary:#003565;
  --a-primary-h:#00284d;
  --a-accent:#1266c9;
  --a-soft:#eef4fb;
  --a-danger:#c0392b;
  --a-r:6px;
  --a-r-lg:10px;
  --a-shadow:0 1px 2px rgba(16,32,56,.04),0 6px 18px rgba(16,32,56,.06);
}

/* ------------------------------------------------------------------ header */
html.bs-admin .adminMenu>.el-header{
  height:60px!important;line-height:normal!important;padding:0 20px 0 16px!important;
  background:var(--a-card)!important;border-bottom:1px solid var(--a-line)!important;
  box-shadow:none!important;position:relative;z-index:20;overflow:hidden;
}
html.bs-admin .adminMenu>.el-header>.el-row{
  display:flex!important;align-items:center!important;flex-wrap:nowrap!important;
  width:100%!important;height:60px!important;margin:0!important;
}
html.bs-admin .adminMenu>.el-header>.el-row::before,
html.bs-admin .adminMenu>.el-header>.el-row::after{display:none!important}
html.bs-admin .adminMenu>.el-header .el-col{
  float:none!important;padding:0!important;
}
html.bs-admin .adminMenu>.el-header .el-col-18{
  flex:1 1 auto!important;width:auto!important;max-width:none!important;min-width:0;
}
html.bs-admin .adminMenu>.el-header .el-col-18>div,
html.bs-admin .adminMenu>.el-header .el-col-18 p{
  display:flex!important;align-items:center!important;height:60px!important;
  margin:0!important;padding:0!important;line-height:normal!important;
  font-size:16px!important;font-weight:650!important;color:var(--a-text)!important;
  letter-spacing:-.01em;white-space:nowrap;
}
html.bs-admin .adminMenu>.el-header .el-col-18 img{
  width:26px!important;height:26px!important;object-fit:contain;margin-right:10px;flex:0 0 auto;
}
html.bs-admin .adminMenu>.el-header .el-col-18 span{
  color:var(--a-line)!important;margin:0 10px 0 0;font-weight:400;
}
html.bs-admin .adminMenu>.el-header .jb,
html.bs-admin .adminMenu>.el-header .el-col-offset-2{
  flex:0 0 auto!important;width:auto!important;max-width:none!important;
  margin-left:auto!important;
}
html.bs-admin .adminMenu>.el-header .right-menu{
  display:flex!important;align-items:center!important;height:60px!important;width:auto!important;
}
html.bs-admin .adminMenu>.el-header .avatar-container{height:auto!important;line-height:normal!important}
html.bs-admin .adminMenu>.el-header .avatar-wrapper{
  display:flex!important;align-items:center!important;gap:9px;
  height:38px!important;padding:0 10px!important;margin:0!important;
  border-radius:19px;cursor:pointer;transition:background .15s;position:static!important;
}
html.bs-admin .adminMenu>.el-header .avatar-wrapper:hover{background:var(--a-soft)}
html.bs-admin .adminMenu>.el-header .user-avatar{
  width:28px!important;height:28px!important;border-radius:50%!important;
  object-fit:cover;flex:0 0 auto;margin:0!important;position:static!important;border:1px solid var(--a-line);
}
html.bs-admin .adminMenu>.el-header .avatar-wrapper span,
html.bs-admin .adminMenu>.el-header .mar-left10{
  position:static!important;margin:0!important;padding:0!important;
  font-size:13px!important;font-weight:600!important;color:var(--a-text)!important;
  white-space:nowrap;line-height:1!important;width:auto!important;
}
html.bs-admin .adminMenu>.el-header .el-icon-caret-bottom,
html.bs-admin .adminMenu>.el-header .el-icon-arrow-down{
  position:static!important;margin:0!important;font-size:12px!important;color:var(--a-text-3)!important;
}

/* ----------------------------------------------------------------- sidebar */
html.bs-admin .adminMenu .el-menu-vertical-demo:not(.el-menu--collapse){width:204px!important}
html.bs-admin .adminMenu .el-menu-vertical-demo{padding:0 0 8px!important}
html.bs-admin .adminMenu .el-menu-vertical-demo>li:first-child{
  height:52px!important;line-height:52px!important;margin:0 0 8px!important;
  border-radius:0!important;border-bottom:1px solid rgba(255,255,255,.08);
  letter-spacing:0!important;font-size:12.5px!important;font-weight:700!important;
  color:rgba(255,255,255,.9)!important;padding-left:16px!important;
  background:rgba(255,255,255,.04)!important;cursor:pointer;
}
html.bs-admin .adminMenu .el-menu-vertical-demo>li:first-child *{letter-spacing:0!important}
html.bs-admin .adminMenu .el-menu-vertical-demo>li:first-child:hover{background:rgba(255,255,255,.08)!important}
html.bs-admin .adminMenu .el-menu-vertical-demo>li:first-child i{
  font-size:15px!important;color:rgba(255,255,255,.55)!important;
}
html.bs-admin .adminMenu .el-menu-vertical-demo .el-menu-item{
  height:44px!important;line-height:44px!important;font-size:13.5px!important;
  margin:2px 10px!important;padding-left:12px!important;border-radius:var(--a-r)!important;
  letter-spacing:0!important;
}
html.bs-admin .adminMenu .el-menu-vertical-demo .el-menu-item.is-active{
  background:var(--a-accent)!important;color:#fff!important;font-weight:600!important;
  box-shadow:0 2px 10px rgba(18,102,201,.35);
}
html.bs-admin .adminMenu .el-menu-vertical-demo .el-menu-item.is-active i{color:#fff!important}

/* -------------------------------------------------------------------- card */
html.bs-admin .adminMenu .el-main{padding:18px!important;background:var(--a-bg)!important}
html.bs-admin .adminMenu .el-main>.el-card.box-card{
  border:1px solid var(--a-line)!important;border-radius:var(--a-r-lg)!important;
  box-shadow:var(--a-shadow)!important;background:var(--a-card)!important;overflow:hidden;
  min-height:calc(100vh - 96px);display:flex;flex-direction:column;
}
html.bs-admin .adminMenu .el-main>.el-card>.el-card__header{
  padding:14px 18px!important;border-bottom:1px solid var(--a-line)!important;background:var(--a-card)!important;
}
html.bs-admin .adminMenu .el-main>.el-card>.el-card__body{
  padding:0 18px 14px!important;flex:1 1 auto;display:flex;flex-direction:column;min-height:0;
}
html.bs-admin .adminMenu .el-card__header .clearfix{
  display:flex!important;align-items:center!important;gap:12px;flex-wrap:wrap;
}
html.bs-admin .adminMenu .el-card__header .clearfix::before,
html.bs-admin .adminMenu .el-card__header .clearfix::after{display:none!important}
html.bs-admin .adminMenu .el-card__header .font-sz24,
html.bs-admin .adminMenu .el-card__header .font-sz18{
  font-size:18px!important;font-weight:650!important;color:var(--a-text)!important;
  letter-spacing:-.01em;line-height:32px!important;margin:0!important;flex:0 0 auto;
}
html.bs-admin .adminMenu .el-card__header .head-text{
  display:flex!important;align-items:center!important;gap:8px;flex:1 1 auto;
  justify-content:flex-end;float:none!important;margin:0!important;
}
html.bs-admin .adminMenu .el-card__header .head-text .search-input{width:220px!important}
html.bs-admin .adminMenu .el-card__header .head-text .el-input__inner{height:32px!important;line-height:32px!important}
html.bs-admin .adminMenu .el-card__header .mar-r80{margin-right:6px!important}

/* ----------------------------------------------------------------- buttons */
html.bs-admin .adminMenu .el-card__header .el-button--small,
html.bs-admin .adminMenu .el-card__header .el-button{
  height:32px!important;padding:0 14px!important;font-size:13px!important;
  border-radius:var(--a-r)!important;font-weight:500!important;
}
html.bs-admin .el-button--primary{
  background:var(--a-primary)!important;border-color:var(--a-primary)!important;color:#fff!important;
}
html.bs-admin .el-button--primary:hover,
html.bs-admin .el-button--primary:focus{background:var(--a-primary-h)!important;border-color:var(--a-primary-h)!important}
html.bs-admin .adminMenu .el-card__header .el-button--danger{
  background:#fff!important;border-color:#e6b9b3!important;color:var(--a-danger)!important;
}
html.bs-admin .adminMenu .el-card__header .el-button--danger:hover{
  background:var(--a-danger)!important;border-color:var(--a-danger)!important;color:#fff!important;
}

/* ------------------------------------------------------------------- table */
html.bs-admin .adminMenu .el-table{
  border:1px solid var(--a-line)!important;border-radius:var(--a-r-lg)!important;overflow:hidden;
  font-size:13px!important;color:var(--a-text)!important;
}
html.bs-admin .adminMenu .el-table::before{display:none!important}
html.bs-admin .adminMenu .el-table th,
html.bs-admin .adminMenu .el-table th.el-table__cell{
  background:var(--a-head)!important;border-bottom:1px solid var(--a-line)!important;
  padding:0!important;height:38px!important;
}
html.bs-admin .adminMenu .el-table th .cell{
  font-size:12.5px!important;font-weight:600!important;color:var(--a-text-2)!important;
  white-space:nowrap!important;line-height:38px!important;padding:0 12px!important;
  letter-spacing:.02em;text-align:left!important;
}
html.bs-admin .adminMenu .el-table td,
html.bs-admin .adminMenu .el-table td.el-table__cell{
  border-bottom:1px solid var(--a-line-2)!important;padding:6px 0!important;vertical-align:middle!important;
}
html.bs-admin .adminMenu .el-table .cell{padding:0 12px!important;line-height:1.25!important;
  word-break:normal!important;overflow-wrap:break-word;text-align:left!important;}
/* the selection checkbox stays centred - it is not text */
html.bs-admin .adminMenu .el-table .el-table-column--selection .cell{text-align:center!important}
html.bs-admin .adminMenu .el-table__body tr:hover>td,
html.bs-admin .adminMenu .el-table__body tr:hover>td.el-table__cell{background:var(--a-soft)!important}
html.bs-admin .adminMenu .el-table__row{transition:background .12s}
@supports selector(:has(*)){
  html.bs-admin .adminMenu .el-table__body .cell:not(:has(button)):not(:has(.el-switch)):not(:has(img)):not(:has(input)):not(:has(a)){
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  }
}
/* action column: one tidy row of small buttons */
html.bs-admin .adminMenu .el-table__body .cell .el-button{
  height:26px!important;padding:0 10px!important;font-size:12px!important;
  border-radius:var(--a-r)!important;margin:2px 0 2px 6px!important;font-weight:500!important;
  background:#fff!important;border:1px solid var(--a-line)!important;color:var(--a-text-2)!important;
}
html.bs-admin .adminMenu .el-table__body .cell .el-button:first-child{margin-left:0!important}
html.bs-admin .adminMenu .el-table__body .cell .el-button:hover{
  border-color:var(--a-accent)!important;color:var(--a-accent)!important;background:var(--a-soft)!important;
}
html.bs-admin .adminMenu .el-table__body .cell .el-button--danger,
html.bs-admin .adminMenu .el-table__body .cell .el-button--danger:hover{
  color:var(--a-danger)!important;border-color:#e6b9b3!important;background:#fff!important;
}
/* empty / undefined cells */
html.bs-admin .adminMenu .el-table .bs-nil{color:var(--a-text-3)!important}
/* validity */
html.bs-admin .adminMenu .el-table .bs-expired{color:var(--a-danger)!important;font-weight:600}
html.bs-admin .adminMenu .el-table .bs-expired::after{
  content:"\5df2\8fc7\671f";margin-left:6px;font-size:11px;font-weight:600;
  background:#fdecea;color:var(--a-danger);border-radius:4px;padding:1px 5px;white-space:nowrap;
}
html.bs-admin .adminMenu .el-table__empty-block{min-height:220px!important}
html.bs-admin .adminMenu .el-table__empty-text{color:var(--a-text-3)!important;font-size:13px!important}

/* -------------------------------------------------------------- pagination */
html.bs-admin .adminMenu .el-pagination{
  padding:14px 4px 4px!important;display:flex;align-items:center;justify-content:flex-end;gap:8px;
  margin-top:auto;
}
html.bs-admin .adminMenu .el-pagination .el-pagination__total{color:var(--a-text-2)!important;font-size:13px!important;margin-right:4px}
html.bs-admin .adminMenu .el-pagination button,
html.bs-admin .adminMenu .el-pagination .el-pager li{
  border-radius:var(--a-r)!important;min-width:30px!important;height:30px!important;line-height:30px!important;
  font-size:13px!important;background:#fff!important;border:1px solid var(--a-line)!important;
  margin:0 3px!important;color:var(--a-text-2)!important;
}
html.bs-admin .adminMenu .el-pagination .el-pager li.active{
  background:var(--a-primary)!important;border-color:var(--a-primary)!important;color:#fff!important;font-weight:600;
}
html.bs-admin .adminMenu .el-pagination .el-pagination__jump{color:var(--a-text-2)!important;font-size:13px!important}

/* ------------------------------------------------------------------ dialog */
html.bs-admin .el-dialog{
  border-radius:var(--a-r-lg)!important;overflow:hidden;
  box-shadow:0 20px 60px rgba(16,32,56,.18)!important;
}
html.bs-admin .el-dialog__header{
  padding:16px 20px!important;border-bottom:1px solid var(--a-line)!important;
  background:var(--a-head)!important;text-align:left!important;
}
html.bs-admin .el-dialog__title{
  font-size:15px!important;font-weight:650!important;color:var(--a-text)!important;line-height:1.4!important;
}
html.bs-admin .el-dialog__headerbtn{top:18px!important;right:18px!important}
html.bs-admin .el-dialog__body{padding:20px 24px!important;color:var(--a-text)!important}
html.bs-admin .el-dialog .el-form-item__label{
  font-size:13px!important;color:var(--a-text-2)!important;font-weight:500!important;
  white-space:nowrap!important;overflow:visible!important;text-align:right!important;
  line-height:32px!important;padding-right:12px!important;
}
html.bs-admin .el-dialog .el-form-item{margin-bottom:16px!important}
html.bs-admin .el-dialog .el-input__inner,
html.bs-admin .el-dialog .el-textarea__inner{
  border-radius:var(--a-r)!important;border-color:var(--a-line)!important;font-size:13px!important;
}
html.bs-admin .el-dialog .el-input__inner{height:34px!important;line-height:34px!important}
html.bs-admin .el-dialog .el-date-editor--datetimerange{width:100%!important}
html.bs-admin .el-dialog__footer{
  padding:14px 20px!important;border-top:1px solid var(--a-line)!important;background:var(--a-head)!important;
  text-align:right!important;
}
html.bs-admin .el-dialog .dialog-footer,
html.bs-admin .el-dialog__body>div:last-child.el-row{text-align:right}
html.bs-admin .el-dialog .el-button{border-radius:var(--a-r)!important;height:34px!important;padding:0 18px!important;font-size:13px!important}
html.bs-admin .el-message-box{border-radius:var(--a-r-lg)!important}

/* dialog: keep the destructive colour for the outline only, so a Cancel button
   sitting next to Save does not read as a warning */
html.bs-admin .el-dialog .el-button--danger{
  background:#fff!important;border-color:#e6b9b3!important;color:var(--a-danger)!important;
}
html.bs-admin .el-dialog .el-button--danger:hover{
  background:var(--a-danger)!important;border-color:var(--a-danger)!important;color:#fff!important;
}
/* collapsed sidebar */
html.bs-admin .adminMenu .el-menu--collapse.el-menu-vertical-demo .el-menu-item{
  margin:2px 6px!important;border-radius:var(--a-r)!important;height:44px!important;line-height:44px!important;
}
html.bs-admin .adminMenu .el-menu--collapse.el-menu-vertical-demo>li:first-child{
  margin:0 0 8px!important;border-radius:0!important;
}
/* search / filter row of the card header */
html.bs-admin .adminMenu .el-card__header .el-date-editor{height:32px!important}
html.bs-admin .adminMenu .el-card__header .el-date-editor .el-range-input{font-size:13px!important}
html.bs-admin .adminMenu .el-card__header .el-input__inner::placeholder{color:var(--a-text-3)!important}

/* collapsed sidebar: icons only - the app leaves a clipped label behind */
html.bs-admin .adminMenu .el-menu--collapse.el-menu-vertical-demo .el-menu-item span{
  display:none!important;
}
html.bs-admin .adminMenu .el-menu--collapse.el-menu-vertical-demo .el-menu-item .el-tooltip{
  padding:0!important;text-align:center!important;
}
html.bs-admin .adminMenu .el-menu--collapse.el-menu-vertical-demo .el-menu-item{
  text-align:center!important;padding:0!important;
}
html.bs-admin .adminMenu .el-menu--collapse.el-menu-vertical-demo .el-menu-item i{
  margin-right:0!important;float:none!important;
}

/* empty cell placeholder - drawn by CSS so no text node fights with Vue */
html.bs-admin .adminMenu .el-table .cell.bs-nil::after{content:"\2014";color:var(--a-text-3)}
/* one company per line (column formatter puts a newline between them) */
html.bs-admin .adminMenu .el-table td.bs-multi .cell,
html.bs-admin .adminMenu .el-table th.bs-multi .cell{
  display:block!important;-webkit-line-clamp:unset!important;white-space:pre-line!important;
  text-align:left!important;line-height:1.3!important;
}
html.bs-admin .adminMenu .el-table th.bs-multi .cell{white-space:nowrap!important}

/* column filter panel */
html.bs-admin .el-table-filter{
  border:1px solid var(--a-line)!important;border-radius:var(--a-r)!important;
  box-shadow:0 10px 30px rgba(16,32,56,.14)!important;
}
html.bs-admin .el-table-filter__list{max-height:300px;overflow:auto}
html.bs-admin .el-table-filter__list-item{font-size:13px!important;line-height:28px!important}
html.bs-admin .el-table-filter__content .el-checkbox{margin:0!important}
html.bs-admin .el-table-filter__checkbox-group label.el-checkbox{
  display:block!important;padding:4px 12px!important;font-size:13px!important;
}
html.bs-admin .el-table-filter__bottom button{font-size:13px!important;color:var(--a-accent)!important}
html.bs-admin .adminMenu .el-table th .el-table__column-filter-trigger i{
  color:var(--a-text-3)!important;font-size:13px;margin-left:4px;
}
html.bs-admin .adminMenu .el-table th.is-filtered .el-table__column-filter-trigger i,
html.bs-admin .adminMenu .el-table th .el-table__column-filter-trigger i.el-icon-arrow-down.is-active{
  color:var(--a-accent)!important;
}
html.bs-admin .el-table-filter__bottom{border-top:1px solid var(--a-line)!important;padding:8px 12px!important}
html.bs-admin .el-table-filter__bottom button{
  font-size:13px!important;color:var(--a-accent)!important;background:none!important;border:none!important;
  padding:0 6px!important;cursor:pointer;
}
html.bs-admin .el-table-filter__bottom button.is-disabled{color:var(--a-text-3)!important}

/* ------------------------------------------------- GCC map + back button --
   the data screen has its own dark design, so these are id-scoped and do not
   depend on the html.bs-admin class */
#bs-gcc{position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none}
#bs-gcc svg{width:100%;height:100%;display:block}
#bs-gcc .c{fill:url(#bs-gcf);stroke:#4fb6ef;stroke-width:1.6;stroke-linejoin:round;vector-effect:non-scaling-stroke}
#bs-gcc .lb{fill:#0d2f52;font-size:19px;font-weight:700;text-anchor:middle;letter-spacing:1px;
  paint-order:stroke;stroke:rgba(255,255,255,.9);stroke-width:3.5}
#bs-gcc .ld{fill:none;stroke:#0d2f52;stroke-width:1.4;opacity:.55}
#bs-back{
  position:fixed;top:18px;right:26px;z-index:9999;display:flex;align-items:center;gap:8px;
  height:34px;padding:0 16px;border-radius:17px;cursor:pointer;
  border:1px solid rgba(110,205,255,.55);background:rgba(8,32,64,.72);color:#cfeaff;
  font-size:14px;font-weight:600;letter-spacing:1px;
  box-shadow:0 0 14px rgba(50,150,255,.25);transition:background .15s,color .15s;
}
#bs-back span{font-size:15px;line-height:1}
#bs-back:hover{background:rgba(20,70,130,.9);color:#fff}
