*{
  box-sizing:border-box;
}
body{
  margin:0;
  font-family:Inter,Segoe UI,Arial,sans-serif;
  background:#eef4f1;
  color:#142337;
}
#login-screen{
  position:fixed;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:
    radial-gradient(circle at 20% 24%, rgba(255,255,255,0.32), transparent 34%),
    linear-gradient(90deg, rgba(8,35,20,0.66), rgba(16,57,36,0.28) 46%, rgba(5,34,42,0.18)),
    url("../assets/bims-banner.png?v=20260528_final") center top / cover no-repeat;
  z-index:9999;
  overflow:hidden;
}
#login-screen::before{
  content:none;
  position:absolute;
  left:-4%;
  right:-4%;
  bottom:-12px;
  height:130px;
  background:
    repeating-linear-gradient(84deg, transparent 0 9px, rgba(28,96,38,0.55) 10px 12px, transparent 13px 20px),
    linear-gradient(180deg, #77c44c, #2f7c31);
  clip-path:polygon(0 34%, 8% 26%, 18% 37%, 29% 22%, 42% 33%, 55% 19%, 70% 31%, 84% 21%, 100% 35%, 100% 100%, 0 100%);
  z-index:0;
}
#login-screen::after{
  content:none;
  position:absolute;
  left:0;
  right:0;
  bottom:82px;
  height:70px;
  background:
    radial-gradient(ellipse at 18% 100%, rgba(255,255,255,0.56) 0 58px, transparent 59px),
    radial-gradient(ellipse at 36% 100%, rgba(255,255,255,0.42) 0 72px, transparent 73px),
    radial-gradient(ellipse at 78% 100%, rgba(255,255,255,0.52) 0 64px, transparent 65px);
  opacity:0.95;
  z-index:0;
}
#login-box{
  width:min(360px, calc(100vw - 34px));
  background:rgba(255,255,255,0.94);
  padding:22px 26px 24px;
  border-radius:18px;
  box-shadow:0 24px 70px rgba(5,31,21,0.28);
  text-align:center;
  position:relative;
  z-index:1;
  border:1px solid rgba(255,255,255,0.76);
  backdrop-filter:blur(8px);
}
.login-brand{
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:16px;
}
.login-logo{
  display:block;
  width:min(220px, 68vw);
  height:auto;
  border-radius:10px;
}
#login-box input{
  width:100%;
  padding:13px 14px;
  margin-bottom:14px;
  border:1px solid #c7d7cf;
  border-radius:10px;
  font-size:14px;
  background:#f8fbf9;
}
#login-box button{
  width:100%;
  padding:13px;
  border:none;
  border-radius:10px;
  background:#246b3b;
  color:#fff;
  font-size:15px;
  font-weight:700;
  cursor:pointer;
}
#login-box button:hover{
  background:#1b5730;
}
.login-info-btn{
  position:absolute;
  top:22px;
  right:22px;
  z-index:2;
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,0.72);
  border-radius:50%;
  background:rgba(255,255,255,0.88);
  color:#1f3b5b;
  box-shadow:0 14px 30px rgba(15,23,42,0.18);
  cursor:pointer;
  backdrop-filter:blur(6px);
  transition:transform .16s ease, background .16s ease, box-shadow .16s ease;
}
.login-info-btn:hover{
  transform:translateY(-1px);
  background:#fff;
  box-shadow:0 18px 34px rgba(15,23,42,0.24);
}
.login-info-btn svg{
  width:27px;
  height:27px;
}
.login-info-modal{
  position:absolute;
  inset:0;
  z-index:4;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(8,24,38,0.52);
  backdrop-filter:blur(5px);
}
.login-info-modal.show{
  display:flex;
}
.login-info-panel{
  width:min(620px,100%);
  max-height:min(90vh,760px);
  overflow:auto;
  position:relative;
  padding:30px;
  border:1px solid rgba(255,255,255,0.82);
  border-radius:14px;
  background:rgba(255,255,255,0.96);
  color:#29435b;
  box-shadow:0 26px 70px rgba(0,0,0,0.28);
}
.login-info-close{
  position:absolute;
  top:14px;
  right:14px;
  width:36px;
  height:36px;
  border:1px solid #dbe5ee;
  border-radius:50%;
  background:#f4f8fb;
  color:#1f3b5b;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}
.login-info-close:hover{
  background:#e8f1f8;
}
.login-info-panel .module-kicker{
  margin-bottom:10px;
}
.login-info-panel h2{
  margin:0 42px 12px 0;
  color:#173550;
  font-size:30px;
  letter-spacing:0;
}
.login-info-panel p{
  margin:0 0 13px;
  font-size:15px;
  line-height:1.65;
}
.login-info-highlights{
  display:grid;
  grid-template-columns:repeat(3,minmax(120px,1fr));
  gap:10px;
  margin:18px 0;
}
.login-info-highlights div{
  padding:12px;
  border:1px solid #dfe8f2;
  border-radius:8px;
  background:#f6fafc;
}
.login-info-highlights strong{
  display:block;
  margin-bottom:5px;
  color:#1f3b5b;
}
.login-contact-box{
  margin-top:18px;
  padding:15px;
  border:1px solid #cfe0d5;
  border-left:4px solid #2f855a;
  border-radius:8px;
  background:#f4fbf7;
}
.login-contact-box a{
  color:#1457b8;
  font-weight:800;
}
#login-error{
  margin-top:14px;
  color:#c62828;
  min-height:20px;
}
#app{
  display:none;
  height:100vh;
  width:100%;
}
#sidebar{
  width:260px;
  background:
    linear-gradient(180deg, rgba(13,57,35,0.98) 0%, rgba(18,67,43,0.98) 56%, rgba(9,38,29,0.99) 100%);
  color:#fff;
  display:flex;
  flex-direction:column;
  height:100vh;
  position:fixed;
  left:0;
  top:0;
}
#logo{
  padding:18px 18px 14px;
  border-bottom:0;
  position:relative;
  min-height:150px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:
    radial-gradient(circle at 50% 46%, rgba(255,255,255,0.13), transparent 62%),
    linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0));
}
#logo::after{
  content:"";
  position:absolute;
  left:22px;
  right:22px;
  bottom:-1px;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(201,231,189,0.20), transparent);
}
#logo span{
  display:none;
}
.sidebar-brand-icon{
  width:86px;
  height:86px;
  object-fit:cover;
  border-radius:18px;
  box-shadow:0 14px 28px rgba(0,0,0,0.28);
}
#menu{
  padding:26px 12px 16px;
  flex:1;
  overflow:auto;
}
.menu-button{
  width:100%;
  text-align:left;
  border:none;
  background:transparent;
  color:#fff;
  padding:14px 14px;
  border-radius:7px;
  margin-bottom:8px;
  cursor:pointer;
  font-size:15px;
  transition:background .16s ease, transform .16s ease;
}
.menu-button:hover,
.menu-button.active{
  background:rgba(255,255,255,0.16);
}
.menu-button:hover{
  transform:translateX(2px);
}
#logout-btn{
  margin:12px;
  padding:12px;
  border:none;
  border-radius:8px;
  background:#c94b46;
  color:#fff;
  cursor:pointer;
  font-size:14px;
}
#logout-btn:hover{
  background:#c9302c;
}
.app-copyright{
  padding:0 14px 14px;
  color:rgba(255,255,255,0.68);
  font-size:11px;
  line-height:1.35;
}
.login-copyright{
  position:absolute;
  left:16px;
  right:16px;
  bottom:12px;
  z-index:1;
  text-align:center;
  color:rgba(255,255,255,0.92);
  font-size:12px;
  text-shadow:0 1px 4px rgba(0,0,0,0.38);
}
.login-legal-links{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  margin-top:6px;
  font-size:12px;
}
.login-legal-links button{
  appearance:none;
  border:0;
  padding:0;
  background:transparent;
  color:rgba(255,255,255,0.94);
  font:inherit;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
}
.login-legal-links button:hover{
  color:#ffffff;
}
.legal-modal-panel{
  width:min(760px,100%);
}
.legal-section-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:16px 0;
}
.legal-section-grid > div{
  padding:14px;
  border:1px solid #cfe0d5;
  border-radius:12px;
  background:#f4fbf7;
  color:#143926;
  line-height:1.55;
}
.legal-section-grid strong{
  display:block;
  margin-bottom:6px;
  color:#0b4f31;
}
.legal-note{
  padding:12px 14px;
  border-radius:12px;
  background:#edf7f1;
  color:#145331;
  font-weight:700;
}
@media (max-width:700px){
  .login-info-btn{
    top:16px;
    right:16px;
    width:44px;
    height:44px;
  }
  .login-info-panel{
    padding:24px 20px;
  }
  .login-info-panel h2{
    font-size:25px;
  }
  .login-info-highlights{
    grid-template-columns:1fr;
  }
  .legal-section-grid{
    grid-template-columns:1fr;
  }
}
#main{
  margin-left:260px;
  height:100vh;
  display:flex;
  flex-direction:column;
}
#topbar{
  height:64px;
  background:rgba(255,255,255,0.94);
  border-bottom:1px solid #dfe6ee;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 20px;
}
#page-title{
  font-size:20px;
  font-weight:bold;
  color:#1f3b5b;
}
#user-info{
  font-size:14px;
  color:#4b5d70;
  background:#f3f7fb;
  border:1px solid #dfe8f2;
  border-radius:999px;
  padding:8px 12px;
  font-weight:600;
}
#content{
  flex:1;
  display:flex;
  min-height:0;
  background:#eef4f1;
}
#panel{
  width:100%;
  background:transparent;
  padding:22px;
  overflow:auto;
}
#panel.with-map{
  width:360px;
  border-right:1px solid #dfe6ee;
}
#panel h3{
  margin-top:0;
  color:#1f3b5b;
}
#panel-title{
  display:none;
}
#panel-content{
  font-size:14px;
  line-height:1.5;
}
#map{
  display:none;
  flex:1;
  height:100%;
}
.info-box{
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:8px;
  padding:12px;
  margin-bottom:12px;
  box-shadow:0 1px 2px rgba(15,23,42,0.04);
}
.info-box strong{
  display:block;
  margin-bottom:6px;
  color:#1f3b5b;
}
.section-actions{
  display:flex;
  gap:10px;
  margin-bottom:14px;
  flex-wrap:wrap;
}
.primary-btn,
.secondary-btn{
  border:none;
  border-radius:8px;
  padding:10px 14px;
  cursor:pointer;
  font-size:14px;
}
.primary-btn{
  background:#2f76dd;
  color:#fff;
}
.primary-btn:hover{
  background:#1e63c8;
}
.secondary-btn{
  background:#eef3f9;
  color:#1f3b5b;
  border:1px solid #d7e1ec;
}
.secondary-btn:hover{
  background:#e3ebf5;
}
.table-wrapper{
  width:100%;
  overflow:auto;
  border:1px solid #dfe6ee;
  border-radius:8px;
  background:#fff;
  box-shadow:0 8px 24px rgba(15,23,42,0.06);
}
.table-wrapper table{
  border-collapse:separate !important;
  border-spacing:0 !important;
  width:100%;
  font-size:13px;
}
.table-wrapper thead th,
.table-wrapper table th{
  position:sticky;
  top:0;
  z-index:3;
  background:#1f3b5b !important;
  color:#fff !important;
  text-align:left !important;
  font-weight:800;
  padding:11px 12px !important;
  white-space:nowrap;
  border-right:1px solid rgba(255,255,255,0.16) !important;
}
.table-wrapper tbody td,
.table-wrapper table td{
  padding:10px 12px !important;
  border-bottom:1px solid #e6edf4 !important;
  vertical-align:middle;
}
.table-wrapper tbody tr:nth-child(even) td{
  background:#f8fafc !important;
}
.table-wrapper tbody tr:hover td{
  background:#eef6ff !important;
}
.table-wrapper .primary-btn,
.table-wrapper .secondary-btn,
.table-wrapper button{
  border-radius:6px;
  padding:7px 10px;
  font-weight:700;
  white-space:nowrap;
}
.table-caption-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px 12px;
  background:#f6f9fc;
  border:1px solid #dfe6ee;
  border-bottom:none;
  border-radius:8px 8px 0 0;
  color:#1f3b5b;
  font-weight:800;
}
.table-caption-bar + .table-wrapper{
  border-top-left-radius:0;
  border-top-right-radius:0;
}
.table-caption-muted{
  color:#61758a;
  font-size:12px;
  font-weight:600;
}
.table-pagination{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px;
  background:#f8fafc;
  border:1px solid #dfe6ee;
  border-top:none;
  border-radius:0 0 8px 8px;
  flex-wrap:wrap;
}
.table-pagination-info{
  color:#38506a;
  font-weight:700;
}
.table-pagination-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.admin-workspace .table-wrapper table{
  min-width:980px !important;
}
#bims-table,
#bims-existing-table,
#coord-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  min-width:1200px;
}
#bims-table{
  min-width:1420px;
}
#bims-existing-table{
  min-width:1280px;
}
#coord-table{
  min-width:860px;
}
#bims-table th,
#bims-existing-table th,
#coord-table th{
  background:#1f3b5b;
  color:#fff;
  padding:10px 8px;
  border:1px solid #35506f;
  font-size:13px;
  text-align:left;
  position:sticky;
  top:0;
  z-index:1;
}
#bims-table td,
#bims-existing-table td,
#coord-table td{
  border:0;
  padding:0 !important;
  background:#fff;
}
#bims-table input,
#bims-table select,
#bims-existing-table input,
#bims-existing-table select,
#coord-table input,
#coord-table select{
  width:100%;
  border:1px solid transparent;
  border-radius:6px;
  padding:10px 8px;
  font-size:13px;
  background:transparent;
  min-width:82px;
  box-sizing:border-box;
}
#bims-table input:focus,
#bims-table select:focus,
#bims-existing-table input:focus,
#bims-existing-table select:focus,
#coord-table input:focus,
#coord-table select:focus{
  outline:2px solid #bfdbfe;
  border-color:#3b82f6;
  background:#f5f9ff;
}
.coord-import-note{
  display:flex;
  align-items:flex-start;
  gap:10px;
  flex-wrap:wrap;
  padding:12px 14px;
  margin:12px 0;
  border:1px solid #d1e3da;
  border-left:4px solid #2f855a;
  border-radius:8px;
  color:#27465b;
  background:#f4fbf7;
}
.coord-import-note strong{
  color:#173e35;
  flex:0 0 auto;
}
.coord-import-note span{
  flex:1 1 320px;
}
.coord-conversion-board{
  padding:16px;
  margin-bottom:14px;
  border:1px solid #d7e3ef;
  border-radius:8px;
  background:#f6fafc;
}
.coord-board-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  margin-bottom:14px;
  color:#244760;
}
.coord-board-head strong{
  display:block;
  font-size:16px;
  line-height:1.35;
  color:#173550;
}
.coord-board-head span{
  max-width:280px;
  padding:8px 10px;
  border:1px solid #d0e1d8;
  border-radius:8px;
  background:#fff;
  color:#356253;
  font-size:12px;
  font-weight:700;
  line-height:1.4;
}
.coord-type-grid{
  margin-bottom:12px;
}
.coord-manual-editor{
  display:grid;
  gap:12px;
  padding:14px;
  margin:0 0 12px;
  border:1px solid #dbe7f0;
  border-radius:8px;
  background:#fff;
}
.coord-manual-header,
.coord-batch-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.coord-manual-header h3,
.coord-batch-head h3{
  margin:0 0 4px;
  color:#173550;
  font-size:17px;
  letter-spacing:0;
}
.coord-manual-header p,
.coord-batch-head p{
  margin:0;
  color:#51697d;
  line-height:1.45;
}
.coord-manual-groups{
  display:grid;
  grid-template-columns:repeat(2,minmax(260px,1fr));
  gap:12px;
}
.coord-manual-group{
  display:grid;
  grid-template-columns:repeat(2,minmax(150px,1fr));
  gap:10px;
  padding:12px;
  border:1px solid #e0e9f2;
  border-radius:8px;
  background:#f8fbfd;
}
.coord-manual-group strong{
  grid-column:1/-1;
  color:#1f3b5b;
}
.coord-manual-field label{
  display:block;
  margin-bottom:6px;
  color:#38506a;
  font-size:13px;
  font-weight:800;
}
.coord-manual-field input{
  width:100%;
  padding:11px 12px;
  border:1px solid #ccd8e5;
  border-radius:8px;
  background:#fff;
  font-size:14px;
}
.coord-manual-field input[readonly]{
  color:#244760;
  background:#eef5fb;
}
.coord-manual-error{
  display:none;
  padding:10px 12px;
  border:1px solid #fecaca;
  border-radius:8px;
  color:#991b1b;
  background:#fff5f5;
  font-weight:700;
}
.coord-manual-error.show{
  display:block;
}
.coord-action-bar{
  padding-top:12px;
  border-top:1px solid #dbe7f0;
}
.coord-batch-panel{
  padding:14px;
  margin-top:14px;
  border:1px solid #dfe8f2;
  border-radius:8px;
  background:#f8fbfd;
}
.coord-batch-empty{
  margin-top:12px;
  padding:11px 12px;
  border:1px dashed #cbdbe8;
  border-radius:8px;
  color:#51697d;
  background:#fff;
}
.coord-batch-table-wrap{
  margin-top:12px;
}
.coord-batch-table-wrap.is-hidden{
  display:none;
}
#coord-table tr.coord-error-row td{
  background:#fff5f5;
}
#coord-table tr.coord-error-row input{
  color:#8a1f1f;
  background:#fff8f8;
}
@media (max-width:700px){
  .coord-board-head{
    flex-direction:column;
  }
  .coord-board-head span{
    max-width:none;
  }
  .coord-manual-groups,
  .coord-manual-group{
    grid-template-columns:1fr;
  }
}
#bims-table tr.bims-error-row td{
  background:#fff5f5;
}
#bims-table input.bims-cell-error{
  border-color:#dc2626;
  background:#fff7f7;
  box-shadow:0 0 0 1px rgba(220,38,38,.18);
}
.bims-row-error-note{
  color:#b91c1c;
  font-size:11px;
  font-weight:700;
  line-height:1.35;
  padding:0 8px 8px;
  min-width:180px;
}
.bims-import-errors{
  border:1px solid #fecaca;
  background:#fff7f7;
  color:#7f1d1d;
  border-radius:8px;
  padding:12px 14px;
  margin:10px 0 12px;
}
.bims-import-errors-header{
  display:flex;
  gap:8px;
  align-items:baseline;
  flex-wrap:wrap;
  margin-bottom:8px;
}
.bims-import-errors-header span{
  color:#991b1b;
  font-size:13px;
}
.bims-import-errors-list{
  max-height:220px;
  overflow:auto;
  margin:0;
  padding-left:22px;
  list-style:decimal;
}
.bims-import-errors-list li{
  display:list-item;
  list-style:decimal;
  margin:4px 0;
  line-height:1.35;
}
.bims-import-errors-more{
  margin-top:8px;
  font-weight:700;
}
.row-actions{
  min-width:120px;
  text-align:center;
}
.delete-row-btn{
  background:#d9534f;
  color:#fff;
  border:none;
  border-radius:6px;
  padding:8px 10px;
  cursor:pointer;
  margin:4px;
}
.delete-row-btn:hover{
  background:#c9302c;
}
.muted{
  color:#61758a;
  font-size:13px;
}
.home-shell{
  max-width:1180px;
  margin:0 auto;
}
.home-hero{
  position:relative;
  overflow:hidden;
  min-height:260px;
  border-radius:8px;
  background:
    linear-gradient(90deg, rgba(9,34,22,0.72), rgba(16,64,42,0.36) 48%, rgba(255,255,255,0.02)),
    url("../assets/bims-banner.png?v=20260528_final") center top / cover no-repeat;
  color:#fff;
  padding:34px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  margin-bottom:18px;
}
.home-hero-text{
  max-width:720px;
  position:relative;
  z-index:1;
}
.home-kicker{
  color:#c9f1d0;
  font-size:13px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0;
  margin-bottom:10px;
}
.home-hero h2{
  margin:0;
  font-size:34px;
  line-height:1.12;
  letter-spacing:0;
}
.home-hero p{
  margin:14px 0 0;
  font-size:16px;
  line-height:1.65;
  color:rgba(255,255,255,0.9);
}
.home-hero-mark{
  display:none;
}
.home-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:22px;
}
.home-actions button{
  border-radius:8px;
  border:1px solid rgba(255,255,255,0.34);
  padding:11px 14px;
  cursor:pointer;
  font-weight:700;
}
.home-action-primary{
  background:#fff;
  color:#1f3b5b;
}
.home-action-secondary{
  background:rgba(255,255,255,0.12);
  color:#fff;
}
.home-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:12px;
  margin-bottom:18px;
}
.home-card{
  background:#fff;
  border:1px solid #dfe8f2;
  border-radius:8px;
  padding:16px;
  min-height:148px;
  box-shadow:0 8px 24px rgba(15,23,42,0.06);
}
.home-card strong{
  display:block;
  color:#1f3b5b;
  margin-bottom:8px;
  font-size:15px;
}
.home-card p{
  margin:0;
  color:#4b5d70;
  line-height:1.55;
}
.home-band{
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:8px;
  padding:18px;
  margin-bottom:18px;
}
.home-band h3{
  margin:0 0 12px;
  color:#1f3b5b;
}
.home-steps{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:12px;
}
.home-step{
  display:flex;
  gap:10px;
  align-items:flex-start;
}
.home-step-number{
  width:28px;
  height:28px;
  border-radius:50%;
  background:#2f76dd;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  flex:0 0 auto;
}
.home-step p{
  margin:2px 0 0;
  color:#4b5d70;
}
.home-note{
  border-left:4px solid #2f76dd;
  padding:12px 14px;
  background:#f3f8ff;
  color:#38506a;
  border-radius:0 8px 8px 0;
}
.module-shell{
  max-width:1220px;
  margin:0 auto;
}
.module-hero{
  position:relative;
  overflow:hidden;
  border-radius:8px;
  background:
    linear-gradient(105deg, rgba(12,43,30,0.88), rgba(28,73,52,0.58) 58%, rgba(47,118,221,0.18)),
    url("../assets/bims-banner.png?v=20260528_final") center top / cover no-repeat;
  color:#fff;
  padding:26px 28px;
  margin-bottom:16px;
  box-shadow:0 12px 30px rgba(15,23,42,0.12);
}
.module-kicker{
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  color:#b8f3cf;
  margin-bottom:8px;
}
.module-hero h2{
  margin:0;
  font-size:28px;
  line-height:1.18;
  letter-spacing:0;
}
.module-hero p{
  max-width:820px;
  margin:10px 0 0;
  color:rgba(255,255,255,0.9);
  line-height:1.55;
  font-size:15px;
}
.module-quick-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:12px;
  margin-bottom:16px;
}
.module-mini-card{
  background:#fff;
  border:1px solid #dfe8f2;
  border-radius:8px;
  padding:14px;
  box-shadow:0 8px 22px rgba(15,23,42,0.05);
}
.module-mini-card strong{
  display:block;
  color:#1f3b5b;
  margin-bottom:6px;
}
.module-mini-card p{
  margin:0;
  color:#4b5d70;
  line-height:1.45;
}
.module-workspace{
  background:#fff;
  border:1px solid #dfe8f2;
  border-radius:8px;
  padding:14px;
  box-shadow:0 8px 24px rgba(15,23,42,0.06);
}
.download-resource-panel{
  background:#fff;
  border:1px solid #dfe8f2;
  border-radius:8px;
  padding:18px;
  margin-bottom:16px;
  box-shadow:0 8px 24px rgba(15,23,42,0.06);
}
.download-resource-panel h3,
.download-export-panel h3{
  margin:0 0 6px;
  color:#1f3b5b;
  font-size:20px;
  letter-spacing:0;
}
.download-resource-panel > p,
.download-export-panel > p{
  margin:0 0 14px;
  color:#4b5d70;
  line-height:1.55;
}
.download-resource-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:12px;
}
.download-resource-card{
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:210px;
  padding:16px;
  border:1px solid #d7e3ee;
  border-radius:8px;
  background:linear-gradient(145deg,#f8fbff,#eef4f1);
}
.download-resource-card strong{
  color:#163654;
  font-size:18px;
}
.download-resource-card p{
  flex:1;
  margin:0;
  color:#4b5d70;
  line-height:1.5;
}
.download-resource-label{
  align-self:flex-start;
  border-radius:999px;
  padding:5px 9px;
  background:#dcecff;
  color:#1f4f86;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
}
.download-resource-card.is-field-app .download-resource-label{
  background:#daf1df;
  color:#24623f;
}
.download-export-panel{
  display:grid;
  gap:14px;
}
.download-scope-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:12px;
}
.download-scope-card{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:11px;
  align-items:start;
  cursor:pointer;
  margin:0;
  border:1px solid #d7e3ee;
  border-radius:8px;
  padding:14px;
  background:#f8fbff;
  transition:border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.download-scope-card:hover{
  border-color:#93c5fd;
  background:#eef6ff;
}
.download-scope-card input{
  margin-top:3px;
}
.download-scope-card strong{
  display:block;
  color:#1f3b5b;
  margin-bottom:4px;
}
.download-field-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:12px;
  margin-top:12px;
}
.download-field-grid input,
.download-field-grid select{
  width:100%;
  padding:10px;
  border:1px solid #ccd8e5;
  border-radius:8px;
  background:#fff;
}
.download-format-panel{
  border:1px solid #d7e3ee;
  border-radius:8px;
  background:#f8fafc;
  padding:14px;
}
.download-format-panel strong{
  display:block;
  color:#1f3b5b;
  margin-bottom:5px;
}
.download-format-panel p{
  margin:0;
  color:#4b5d70;
  line-height:1.5;
}
.module-tabs{
  background:#f8fafc;
  border:1px solid #dfe8f2;
  border-radius:8px;
  padding:10px;
}
@media (max-width:760px){
  .home-hero{
    padding:24px;
    align-items:flex-start;
  }
  .home-hero h2{
    font-size:26px;
  }
  .home-hero-mark{
    display:none;
  }
}
@media (max-width:900px){
  body{
    background:#eef4f1;
  }
  #app{
    height:auto;
    min-height:100vh;
  }
  #sidebar{
    position:sticky;
    top:0;
    width:100%;
    height:auto;
    z-index:40;
    box-shadow:0 8px 20px rgba(15,23,42,0.16);
  }
  #logo{
    min-height:58px;
    padding:12px 16px;
    align-items:center;
    border-bottom:1px solid rgba(255,255,255,0.1);
  }
  #logo span{
    font-size:22px;
  }
  .sidebar-ladybug{
    width:46px;
    left:68px;
    top:6px;
  }
  #menu{
    display:flex;
    gap:8px;
    overflow-x:auto;
    padding:10px 12px;
    flex:none;
  }
  .menu-button{
    width:auto;
    flex:0 0 auto;
    white-space:nowrap;
    margin:0;
    padding:10px 12px;
    font-size:13px;
  }
  .menu-button:hover{
    transform:none;
  }
  #logout-btn{
    margin:8px 12px 10px;
    width:calc(100% - 24px);
  }
  .app-copyright{
    display:none;
  }
  #main{
    margin-left:0;
    height:auto;
    min-height:calc(100vh - 136px);
  }
  #topbar{
    height:auto;
    min-height:56px;
    padding:12px 14px;
    gap:10px;
    align-items:flex-start;
  }
  #page-title{
    font-size:18px;
    line-height:1.25;
  }
  #user-info{
    font-size:12px;
    padding:7px 9px;
    max-width:45%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  #content{
    display:block;
  }
  #panel,
  #panel.with-map{
    width:100%;
    padding:14px;
    border-right:none;
    overflow:visible;
  }
  .grid-2,
  .filters-grid{
    grid-template-columns:1fr;
  }
  .section-actions{
    gap:8px;
  }
  .module-hero{
    padding:22px;
  }
  .module-hero h2{
    font-size:23px;
  }
  .module-workspace{
    padding:12px;
  }
  .download-resource-panel{
    padding:14px;
  }
  .download-resource-card{
    min-height:0;
  }
  .module-tabs{
    overflow-x:auto;
    flex-wrap:nowrap;
  }
  .module-tabs button{
    white-space:nowrap;
    flex:0 0 auto;
  }
  .primary-btn,
  .secondary-btn{
    min-height:40px;
  }
  .table-wrapper{
    border-radius:8px;
    max-width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
  #bims-table,
  #bims-existing-table,
  #coord-table{
    min-width:820px;
  }
  #bims-table th,
  #bims-existing-table th,
  #coord-table th{
    font-size:12px;
    padding:8px 7px;
  }
  #bims-table input,
  #bims-table select,
  #bims-existing-table input,
  #bims-existing-table select,
  #coord-table input,
  #coord-table select{
    min-width:72px;
    padding:8px 7px;
    font-size:12px;
  }
  #bims-manual-map,
  #bims-entry-map,
  #bims-existing-map{
    height:320px;
  }
  .modal-box{
    max-width:calc(100vw - 24px);
    border-radius:10px;
  }
  .home-shell{
    max-width:none;
  }
}
@media (max-width:560px){
  #login-box{
    width:min(360px, calc(100vw - 28px));
    padding:26px 22px;
  }
  #topbar{
    flex-direction:column;
  }
  #user-info{
    max-width:100%;
  }
  .home-hero{
    border-radius:8px;
    min-height:0;
    padding:22px;
  }
  .home-hero h2{
    font-size:23px;
  }
  .home-actions{
    flex-direction:column;
  }
  .home-actions button{
    width:100%;
  }
  .home-card,
  .home-band,
  .info-box{
    border-radius:8px;
  }
  .field-card{
    padding:10px;
  }
  .field-card input,
  .field-card select{
    min-height:42px;
  }
  #bims-table,
  #bims-existing-table,
  #coord-table{
    min-width:760px;
  }
}
.status-bar{
  margin-top:12px;
  padding:10px 12px;
  background:#f8fafc;
  border:1px solid #dfe6ee;
  border-radius:8px;
  font-size:13px;
  color:#32485f;
}
.progress-track{
  height:14px;
  background:#e8eef5;
  border-radius:999px;
  overflow:hidden;
  margin:12px 0 10px;
}
.progress-fill{
  height:100%;
  width:0%;
  background:linear-gradient(90deg, #2f76dd, #4fb06d);
  border-radius:999px;
  transition:width 0.18s ease;
}
.progress-percent{
  font-weight:700;
  color:#1f3b5b;
}
.progress-message{
  color:#38506a;
  margin-top:8px;
}
.progress-detail{
  color:#61758a;
  font-size:13px;
  margin-top:6px;
}
.hidden-file-input{
  display:none;
}
.grid-2{
  display:grid;
  grid-template-columns:repeat(2,minmax(220px,1fr));
  gap:12px;
  margin-bottom:14px;
}
.field-card{
  background:#f8fafc;
  border:1px solid #dfe6ee;
  border-radius:10px;
  padding:12px;
}
.field-card label{
  display:block;
  font-size:13px;
  margin-bottom:6px;
  color:#38506a;
  font-weight:bold;
}
.field-card select,
.field-card input{
  width:100%;
  padding:10px 12px;
  border:1px solid #ccd8e5;
  border-radius:8px;
  font-size:14px;
}

.modal-overlay{
  position:fixed;
  inset:0;
  background:rgba(15, 23, 42, 0.45);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:10000;
  padding:20px;
}
.modal-overlay.show{
  display:flex;
}
.modal-box{
  width:100%;
  max-width:460px;
  background:#ffffff;
  border-radius:16px;
  box-shadow:0 20px 60px rgba(0,0,0,0.25);
  overflow:hidden;
  border:1px solid #dfe6ee;
}
.modal-header{
  background:#1f3b5b;
  color:#fff;
  padding:18px 22px;
  font-size:18px;
  font-weight:bold;
}
.modal-body{
  padding:22px;
  color:#1f2d3d;
  font-size:15px;
  line-height:1.6;
}
.modal-body .success-line{
  margin-bottom:8px;
}
.modal-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  padding:0 22px 22px 22px;
}
.modal-ok-btn{
  border:none;
  border-radius:10px;
  padding:11px 18px;
  cursor:pointer;
  font-size:14px;
  background:#2f76dd;
  color:#fff;
}
.modal-ok-btn:hover{
  background:#1e63c8;
}

.filters-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(160px,1fr));
  gap:10px;
  margin-bottom:14px;
}
.filter-card{
  background:#f8fafc;
  border:1px solid #dfe6ee;
  border-radius:10px;
  padding:10px;
}
.filter-card label{
  display:block;
  font-size:12px;
  font-weight:bold;
  color:#38506a;
  margin-bottom:6px;
}
.filter-card input{
  width:100%;
  padding:9px 10px;
  border:1px solid #ccd8e5;
  border-radius:8px;
  font-size:13px;
}


#bims-entry-map-container{
  display:none;
  margin-top:14px;
  border:1px solid #dfe6ee;
  border-radius:10px;
  overflow:hidden;
  background:#fff;
}
#bims-entry-map-toolbar{
  padding:10px 12px;
  background:#f8fafc;
  border-bottom:1px solid #dfe6ee;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
#bims-entry-map{
  width:100%;
  height:420px;
}
.bims-active-row-info{
  font-size:13px;
  color:#38506a;
}

#bims-existing-map-container{
  display:none;
  margin-top:14px;
  border:1px solid #dfe6ee;
  border-radius:10px;
  overflow:hidden;
  background:#fff;
}
#bims-existing-map-toolbar{
  padding:10px 12px;
  background:#f8fafc;
  border-bottom:1px solid #dfe6ee;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
#bims-existing-map{
  width:100%;
  height:420px;
}
.bims-existing-active-row-info{
  font-size:13px;
  color:#38506a;
}

.leaflet-control-layers{
  border:1px solid #d7e1ec !important;
  border-radius:12px !important;
  box-shadow:0 12px 30px rgba(0,0,0,0.18) !important;
  overflow:hidden;
}
.leaflet-control-layers-toggle{
  width:40px !important;
  height:40px !important;
  background-size:22px 22px !important;
}
.leaflet-control-layers-expanded{
  padding:14px 16px !important;
  background:#fff !important;
  color:#1f2d3d !important;
  min-width:220px;
}
.leaflet-control-layers label{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:8px;
  font-size:14px;
}
.leaflet-popup-content-wrapper{
  border-radius:12px !important;
}
.leaflet-popup-content{
  font-size:13px;
  line-height:1.5;
}


/* Coordinate validation flags */
tr.has-coord-issue td {
  background: #fff4f1 !important;
}
tr.has-coord-issue:hover td {
  background: #ffe8e1 !important;
}
.coord-issue-cell {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 150px;
}
.coord-issue-badge,
.coord-ok-badge {
  display: inline-flex;
  width: max-content;
  align-items: center;
  border-radius: 999px;
  padding: 4px 9px;
  font-weight: 800;
  font-size: 12px;
  line-height: 1.1;
  white-space: nowrap;
}
.coord-issue-badge {
  color: #8f1d12;
  background: #ffe0d8;
  border: 1px solid #f2a293;
}
.coord-ok-badge {
  color: #17613b;
  background: #def7e8;
  border: 1px solid #9bd8b4;
}
.coord-issue-cell small {
  color: #6f2a22;
  font-size: 12px;
  line-height: 1.35;
  max-width: 240px;
}


@media (max-width: 700px){
  .login-logo{
    width:min(240px, 74vw);
  }
  #login-box{
    padding:24px 22px 26px;
  }
}


.sidebar-brand-logo{
  display:block;
  width:190px;
  max-width:100%;
  height:auto;
  filter:drop-shadow(0 10px 20px rgba(0,0,0,0.24));
}
.module-hero{
  background:linear-gradient(105deg, rgba(24,58,47,0.98), rgba(31,59,91,0.93) 62%, rgba(47,118,221,0.72)) !important;
}


#sidebar .menu-button{
  color:#f6fff9;
}
.sidebar-brand-logo{
  background:rgba(255,255,255,0.06);
  border-radius:18px;
  padding:6px;
}

/* BIMS sidebar brand refinement - integrated plate and softer transition. */
#sidebar{
  background:
    linear-gradient(180deg, #0c3324 0%, #0f3b30 42%, #0b302d 100%) !important;
}
#logo{
  min-height:232px !important;
  padding:20px 18px 10px !important;
  border-bottom:0 !important;
  background:transparent !important;
}
#logo::after{
  display:none !important;
}
.sidebar-brand-logo{
  width:194px !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  padding:0 !important;
  box-shadow:
    none !important;
  filter:none !important;
  opacity:1;
}
#menu{
  padding-top:16px !important;
  background:transparent !important;
}
#sidebar .menu-button{
  color:rgba(246,255,249,0.86) !important;
}
#sidebar .menu-button:hover{
  background:rgba(255,255,255,0.095) !important;
  color:#fff !important;
}
#sidebar .menu-button.active{
  background:rgba(255,255,255,0.115) !important;
  color:#fff !important;
  box-shadow:none !important;
}

/* Main UI palette: green for the platform controls, blue reserved for GIS/map data. */
#page-title,
#panel h3,
.info-box strong,
.home-card strong,
.home-band h3,
.progress-percent{
  color:#143f2a !important;
}

.primary-btn,
.modal-ok-btn,
.module-tabs button.primary-btn,
.section-actions .primary-btn,
.table-pagination-actions .primary-btn,
#login-box button{
  background:#1f7a43 !important;
  color:#fff !important;
  border-color:#1f7a43 !important;
}
.primary-btn:hover,
.modal-ok-btn:hover,
.section-actions .primary-btn:hover,
.table-pagination-actions .primary-btn:hover,
#login-box button:hover{
  background:#176236 !important;
}
.secondary-btn,
.module-tabs button.secondary-btn,
.table-pagination-actions .secondary-btn{
  background:#eef6ef !important;
  color:#143f2a !important;
  border-color:#c8dccb !important;
}
.secondary-btn:hover,
.module-tabs button.secondary-btn:hover,
.table-pagination-actions .secondary-btn:hover{
  background:#e2f0e5 !important;
}

.table-wrapper thead th,
.table-wrapper table th,
.modal-header,
.table-wrapper tbody tr:hover td{
  background:#eff8f0 !important;
}
.table-pagination{
  background:#f4faf5 !important;
  border-color:#d7e7da !important;
}
.table-pagination-info,
.progress-message,
.home-note{
  color:#274f38 !important;
}
.home-step-number{
  background:#1f7a43 !important;
}
.home-note{
  border-left-color:#1f7a43 !important;
  background:#f1f8f2 !important;
}
.progress-fill{
  background:linear-gradient(90deg, #1f7a43, #72b85f) !important;
}
.taxonomy-code-guide{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(170px, 1fr));
  gap:8px;
  margin-top:12px;
}
.taxonomy-code-guide span{
  display:block;
  padding:10px 12px;
  border:1px solid #c8dccb;
  border-radius:8px;
  background:#f4faf5;
  color:#143f2a;
}
.taxonomy-result-summary{
  display:flex;
  flex-direction:column;
  gap:12px;
  max-width:620px;
}
.taxonomy-result-main{
  padding:12px 14px;
  border-radius:8px;
  background:#f4faf5;
  border:1px solid #c8dccb;
  color:#143f2a;
}
.taxonomy-result-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:8px;
}
.taxonomy-result-grid div{
  padding:10px;
  border-radius:8px;
  background:#f8fbf8;
  border:1px solid #d7e7da;
}
.taxonomy-result-grid strong{
  display:block;
  color:#1f7a43;
  font-size:1.2rem;
}
.taxonomy-result-grid span{
  display:block;
  color:#274f38;
  font-size:.88rem;
}
.taxonomy-result-details{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(210px, 1fr));
  gap:6px 14px;
}
.taxonomy-result-examples{
  border-top:1px solid #d7e7da;
  padding-top:8px;
}
.taxonomy-result-examples summary{
  cursor:pointer;
  font-weight:700;
  color:#143f2a;
}
.taxonomy-result-scroll{
  max-height:180px;
  overflow:auto;
  margin-top:8px;
  padding:10px;
  border-radius:8px;
  background:#f8fbf8;
  border:1px solid #d7e7da;
  line-height:1.45;
}
@keyframes bims-progress-slide{
  0%{ transform:translateX(-110%); }
  55%{ transform:translateX(80%); }
  100%{ transform:translateX(250%); }
}
.module-hero{
  background:linear-gradient(105deg, rgba(18,66,43,0.98), rgba(28,82,54,0.94) 62%, rgba(68,126,73,0.78)) !important;
}
#user-info{
  color:#17452f !important;
  background:#f4faf5 !important;
  border-color:#d7e7da !important;
}


/* Mobile login artwork - portrait asset tuned for phone screens. */
@media (max-width: 700px), (pointer: coarse) and (max-width: 900px) {
  #login-screen {
    background:
      linear-gradient(180deg, rgba(12, 42, 29, 0.18), rgba(6, 36, 24, 0.22)),
      url("../assets/bims-login-mobile.jpg?v=20260529_mobile") center center / cover no-repeat !important;
  }
  #login-box {
    width:min(330px, calc(100vw - 36px));
    padding:18px 20px 20px;
    border-radius:18px;
    margin-top:14px;
  }
  .login-logo {
    width:min(210px, 68vw);
  }
}

/* BIMS interface polish v1.
   This layer keeps the current functionality intact and gives the web app a
   cleaner dashboard foundation before the mobile-specific pass. */
:root {
  --bims-bg: #eef5f1;
  --bims-surface: #ffffff;
  --bims-surface-soft: #f6faf7;
  --bims-border: #d7e6dd;
  --bims-border-strong: #bfd7c8;
  --bims-text: #102033;
  --bims-muted: #5a6f64;
  --bims-forest: #083b2d;
  --bims-forest-2: #0f4a35;
  --bims-green: #1f7a43;
  --bims-green-hover: #176236;
  --bims-green-soft: #eaf5ee;
  --bims-blue: #2563eb;
  --bims-danger: #c94343;
  --bims-warning-bg: #fff7e6;
  --bims-warning: #9a5b00;
  --bims-shadow-sm: 0 4px 14px rgba(18, 56, 40, 0.07);
  --bims-shadow-md: 0 14px 34px rgba(18, 56, 40, 0.10);
}

body,
#app {
  background:
    radial-gradient(circle at 16% 8%, rgba(117, 169, 118, 0.16), transparent 34%),
    linear-gradient(180deg, #f7fbf8 0%, var(--bims-bg) 100%) !important;
  color: var(--bims-text);
}

#content {
  background: transparent !important;
}

#header {
  min-height: 64px;
  background: rgba(255, 255, 255, 0.92) !important;
  border-bottom: 1px solid var(--bims-border) !important;
  box-shadow: 0 1px 0 rgba(16, 32, 51, 0.03);
  backdrop-filter: blur(10px);
}

#page-title {
  font-size: 20px !important;
  letter-spacing: 0;
  color: var(--bims-forest) !important;
}

#user-info {
  border-radius: 999px !important;
  box-shadow: 0 3px 10px rgba(16, 65, 45, 0.06);
}

#panel-content {
  padding: 24px 26px 36px !important;
}

#sidebar {
  background:
    linear-gradient(180deg, #0b432f 0%, #073a2d 35%, #092f29 100%) !important;
  border-right: 0 !important;
  box-shadow: 8px 0 28px rgba(6, 31, 23, 0.12);
}

#logo {
  min-height: 178px !important;
  padding: 18px 24px 4px !important;
}

.sidebar-brand-logo {
  width: 156px !important;
  margin: 0 auto !important;
  background: transparent !important;
  border-radius: 0 !important;
  filter: drop-shadow(0 18px 28px rgba(0, 0, 0, 0.18)) !important;
}

#menu {
  padding: 10px 12px 8px !important;
  gap: 5px;
  overflow: visible !important;
}

#sidebar .menu-button {
  position: relative;
  min-height: 40px;
  padding: 10px 14px !important;
  border-radius: 8px !important;
  color: rgba(255, 255, 255, 0.82) !important;
  transition: background 0.18s ease, color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

#sidebar .menu-button::before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
  bottom: 9px;
  width: 3px;
  border-radius: 999px;
  background: transparent;
}

#sidebar .menu-button:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #fff !important;
  transform: translateX(2px);
}

#sidebar .menu-button.active {
  background: rgba(255, 255, 255, 0.12) !important;
  color: #fff !important;
  box-shadow: inset 0 0 0 1px rgba(202, 238, 198, 0.12) !important;
}

#sidebar .menu-button.active::before {
  background: #9bd77b;
}

#logout-btn {
  border-radius: 8px !important;
  background: #b94043 !important;
  box-shadow: 0 10px 22px rgba(185, 64, 67, 0.24);
}

#logout-btn:hover {
  background: #a93438 !important;
}

.module-hero,
.home-hero {
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  border-radius: 8px !important;
  box-shadow: var(--bims-shadow-md) !important;
}

.module-hero {
  padding: 26px 28px !important;
  margin-bottom: 18px !important;
}

.module-hero h2,
.home-hero h1 {
  max-width: 980px;
  line-height: 1.15 !important;
  letter-spacing: 0;
}

.module-hero p,
.home-hero p {
  max-width: 1020px;
}

.home-grid,
.module-cards,
.admin-card-grid {
  gap: 14px !important;
}

.home-card,
.info-box,
.status-bar,
.module-tabs,
.section-actions,
.table-toolbar,
.filter-panel,
.admin-summary-card,
.taxonomy-card,
.download-card,
.bims-existing-map-panel,
.bims-existing-table-panel {
  background: var(--bims-surface) !important;
  border: 1px solid var(--bims-border) !important;
  border-radius: 8px !important;
  box-shadow: var(--bims-shadow-sm) !important;
}

.home-card,
.info-box {
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.home-card:hover,
.info-box:hover {
  transform: translateY(-1px);
  border-color: var(--bims-border-strong) !important;
  box-shadow: var(--bims-shadow-md) !important;
}

.module-tabs,
.section-actions {
  padding: 10px !important;
}

button,
.primary-btn,
.secondary-btn,
.danger-btn,
.small-btn,
.table-wrapper button,
.module-tabs button,
.section-actions button {
  border-radius: 8px !important;
  font-weight: 700;
  letter-spacing: 0;
  transition: background 0.16s ease, border-color 0.16s ease, color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

button:hover,
.primary-btn:hover,
.secondary-btn:hover,
.danger-btn:hover,
.small-btn:hover {
  transform: translateY(-1px);
}

.primary-btn,
.modal-ok-btn,
.module-tabs button.primary-btn,
.section-actions .primary-btn,
.table-pagination-actions .primary-btn {
  background: var(--bims-green) !important;
  border-color: var(--bims-green) !important;
  box-shadow: 0 8px 18px rgba(31, 122, 67, 0.18);
}

.primary-btn:hover,
.modal-ok-btn:hover,
.module-tabs button.primary-btn:hover,
.section-actions .primary-btn:hover,
.table-pagination-actions .primary-btn:hover {
  background: var(--bims-green-hover) !important;
  border-color: var(--bims-green-hover) !important;
}

.secondary-btn,
.module-tabs button.secondary-btn,
.section-actions .secondary-btn,
.table-pagination-actions .secondary-btn,
.table-wrapper button:not(.primary-btn):not(.danger-btn):not(.modal-ok-btn) {
  background: var(--bims-green-soft) !important;
  color: var(--bims-forest) !important;
  border-color: var(--bims-border-strong) !important;
}

.secondary-btn:hover,
.module-tabs button.secondary-btn:hover,
.section-actions .secondary-btn:hover,
.table-pagination-actions .secondary-btn:hover,
.table-wrapper button:not(.primary-btn):not(.danger-btn):not(.modal-ok-btn):hover {
  background: #dff0e5 !important;
  border-color: #aacdb7 !important;
}

.danger-btn,
.table-wrapper .danger-btn,
.bims-icon-action.is-danger {
  background: #fff0f0 !important;
  color: #9f2626 !important;
  border-color: #f0c4c4 !important;
}

.danger-btn:hover,
.table-wrapper .danger-btn:hover,
.bims-icon-action.is-danger:hover {
  background: #ffdede !important;
  border-color: #e9a9a9 !important;
}

input,
select,
textarea {
  border-radius: 8px !important;
  border-color: #cbdcd2 !important;
  background: #fff !important;
  color: var(--bims-text);
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--bims-green) !important;
  box-shadow: 0 0 0 3px rgba(31, 122, 67, 0.14) !important;
  outline: none !important;
}

.table-wrapper,
.bims-readable-table-wrap,
.admin-table-wrap,
.taxonomy-table-wrap {
  background: var(--bims-surface) !important;
  border: 1px solid var(--bims-border) !important;
  border-radius: 8px !important;
  box-shadow: var(--bims-shadow-sm) !important;
  overflow: auto !important;
}

.table-wrapper table,
.bims-readable-table,
.admin-table-wrap table,
.taxonomy-table-wrap table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
  width: 100%;
  font-size: 13px !important;
}

.table-wrapper thead th,
.table-wrapper table th,
.bims-readable-table th,
.admin-table-wrap th,
.taxonomy-table-wrap th {
  position: sticky;
  top: 0;
  z-index: 3;
  background: linear-gradient(180deg, #124b37 0%, #0c392c 100%) !important;
  color: #fff !important;
  border-right: 1px solid rgba(255, 255, 255, 0.10) !important;
  border-bottom: 0 !important;
  padding: 11px 12px !important;
  font-size: 12px !important;
  line-height: 1.25;
  text-align: left;
  white-space: nowrap;
}

.table-wrapper tbody td,
.table-wrapper table td,
.bims-readable-table td,
.admin-table-wrap td,
.taxonomy-table-wrap td {
  border-bottom: 1px solid #e5eee9 !important;
  border-right: 0 !important;
  padding: 10px 12px !important;
  color: var(--bims-text);
  background: #fff;
  vertical-align: middle !important;
}

.table-wrapper tbody tr:nth-child(even) td,
.bims-readable-table tbody tr:nth-child(even) td,
.admin-table-wrap tbody tr:nth-child(even) td,
.taxonomy-table-wrap tbody tr:nth-child(even) td {
  background: #f8fbf9 !important;
}

.table-wrapper tbody tr:hover td,
.bims-readable-table tbody tr:hover td,
.admin-table-wrap tbody tr:hover td,
.taxonomy-table-wrap tbody tr:hover td {
  background: #edf8f1 !important;
}

.table-wrapper tbody tr:last-child td,
.bims-readable-table tbody tr:last-child td,
.admin-table-wrap tbody tr:last-child td,
.taxonomy-table-wrap tbody tr:last-child td {
  border-bottom: 0 !important;
}

.table-caption-bar,
.table-pagination,
.bims-existing-table-title,
.bims-existing-map-header {
  background: #f4faf5 !important;
  border-color: var(--bims-border) !important;
  color: var(--bims-forest) !important;
}

.table-pagination,
.table-caption-bar {
  padding: 12px 14px !important;
}

.table-pagination-actions,
.pagination-actions,
.section-actions {
  gap: 8px !important;
}

.status-badge,
.coord-issue-badge,
.bims-status-badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
}

.status-badge.ok,
.bims-status-badge.ok,
.coord-issue-badge.ok {
  color: #126b34 !important;
  background: #e3f6e9 !important;
  border: 1px solid #a7dfb8 !important;
}

.status-badge.warning,
.coord-issue-badge.warning,
.coord-issue-badge.needs-check,
.coord-issue-badge.de-verificat {
  color: #9a3b12 !important;
  background: #fff1e8 !important;
  border: 1px solid #ffc8a8 !important;
}

.status-badge.error,
.coord-issue-badge.error {
  color: #9f2626 !important;
  background: #fff0f0 !important;
  border: 1px solid #f0b6b6 !important;
}

.bims-icon-action {
  width: 34px !important;
  height: 34px !important;
  display: inline-grid !important;
  place-items: center !important;
  border-radius: 8px !important;
  padding: 0 !important;
  margin-right: 4px;
  color: var(--bims-forest) !important;
  background: var(--bims-green-soft) !important;
  border: 1px solid var(--bims-border-strong) !important;
}

.bims-icon-action.is-primary {
  background: var(--bims-green) !important;
  color: #fff !important;
  border-color: var(--bims-green) !important;
}

.bims-icon-action svg {
  width: 17px;
  height: 17px;
}

tr.has-coord-issue td,
tr.coord-flagged td,
tr.bims-row-warning td,
.table-wrapper tbody tr.has-coord-issue td,
.bims-readable-table tbody tr.has-coord-issue td {
  background: #fff7ed !important;
}

tr.has-coord-issue:hover td,
tr.coord-flagged:hover td,
tr.bims-row-warning:hover td {
  background: #ffedd5 !important;
}

.modal-content,
.dialog,
.modal-box {
  border-radius: 10px !important;
  box-shadow: 0 28px 70px rgba(12, 33, 24, 0.28) !important;
}

.modal-header,
.leaflet-container {
  font-family: inherit !important;
}

/* Sidebar hierarchy and module intro pages. */
.menu-group {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.menu-parent {
  justify-content: flex-start;
}

.menu-parent::after {
  content: none !important;
}

.menu-group.is-open .menu-parent::after,
.menu-parent.active::after {
  transform: rotate(225deg);
}

.submenu {
  display: none;
  flex-direction: column;
  gap: 2px;
  margin: 0 0 4px 8px;
  padding: 0 0 0 10px;
  border-left: 1px solid rgba(201, 232, 203, 0.14);
}

.menu-group.is-open .submenu,
.menu-group:hover .submenu,
.menu-group:focus-within .submenu {
  display: flex;
}

.submenu-button {
  width: 100%;
  min-height: 30px;
  border: 0;
  border-radius: 7px !important;
  background: transparent;
  color: rgba(255, 255, 255, 0.68);
  text-align: left;
  padding: 6px 10px;
  font-size: 13px;
  font-weight: 650;
  box-shadow: none !important;
}

.submenu-button:hover {
  transform: none;
  color: #fff;
  background: rgba(255, 255, 255, 0.075);
}

.submenu-button.active {
  color: #fff;
  background: rgba(155, 215, 123, 0.14);
  box-shadow: inset 3px 0 0 #9bd77b !important;
}

.module-intro-shell {
  max-width: 1220px;
  margin: 0 auto;
}

.module-intro-hero {
  padding: 32px 34px !important;
}

.module-intro-hero p {
  font-size: 15px;
  line-height: 1.72;
  color: rgba(255, 255, 255, 0.92);
}

.module-intro-actions {
  margin-top: 22px;
}

.module-intro-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(245px, 1fr));
  gap: 14px;
  margin-top: 18px;
}

.module-intro-card {
  min-height: 138px;
  padding: 18px 18px 16px;
  background: #fff;
  border: 1px solid var(--bims-border);
  border-radius: 8px;
  box-shadow: var(--bims-shadow-sm);
}

.module-intro-card strong {
  display: block;
  margin-bottom: 9px;
  color: var(--bims-forest);
  font-size: 15px;
}

.module-intro-card p {
  margin: 0;
  color: #405a4d;
  line-height: 1.58;
}

.module-intro-note {
  margin-top: 18px;
  padding: 18px 20px;
  background: #f4faf5;
  border: 1px solid var(--bims-border);
  border-left: 4px solid var(--bims-green);
  border-radius: 8px;
  color: #244b36;
  box-shadow: var(--bims-shadow-sm);
}

.module-intro-note strong {
  display: block;
  margin-bottom: 7px;
  color: var(--bims-forest);
}

.module-intro-note p {
  margin: 0;
  line-height: 1.65;
}

/* Sidebar is now the primary navigation for submodules. Hide duplicated
   top tab bars inside modules while keeping their JS controls available. */
.module-workspace > .module-tabs,
.admin-workspace > .module-tabs,
.section-actions.module-tabs {
  display: none !important;
}

/* BIMS table polish v2 - normalizes inline tables across modules. */
.table-wrapper {
  scrollbar-color: #9db9a9 #eef5f1;
  scrollbar-width: thin;
}

.table-wrapper > table[style],
.table-wrapper table[style] {
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

.table-wrapper th[style*="background:#1f3b5b"],
.table-wrapper th[style*="background: #1f3b5b"],
.table-wrapper th[style*="background:#174b2b"],
.table-wrapper th[style*="background: #174b2b"],
.table-wrapper th[style*="background:#17452f"],
.table-wrapper th[style*="background: #17452f"] {
  background: linear-gradient(180deg, #124b37 0%, #0b382c 100%) !important;
  color: #fff !important;
  padding: 12px 13px !important;
  border-bottom: 0 !important;
}

.table-wrapper td[style*="border-bottom"] {
  border-bottom: 1px solid #e5eee9 !important;
}

.table-wrapper td[style*="padding"] {
  padding: 11px 13px !important;
}

.table-wrapper tbody tr:nth-child(even) > td[style] {
  background: #f8fbf9 !important;
}

.table-wrapper tbody tr:hover > td[style] {
  background: #edf8f1 !important;
}

.table-wrapper td,
.bims-readable-table td {
  min-height: 42px;
}

.table-wrapper td:first-child,
.bims-readable-table td:first-child {
  border-left: 0 !important;
}

.table-wrapper tbody tr {
  transition: background 0.16s ease;
}

.table-wrapper .muted,
.bims-readable-table .muted {
  color: var(--bims-muted) !important;
}

/* BIMS table polish v3 - visible row-card treatment for desktop tables. */
@media (min-width: 901px) {
  .table-wrapper,
  .bims-readable-table-wrap,
  .admin-table-wrap,
  .taxonomy-table-wrap {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
  }

  .table-wrapper table,
  .table-wrapper > table[style],
  .bims-readable-table,
  .admin-table-wrap table,
  .taxonomy-table-wrap table {
    border-collapse: separate !important;
    border-spacing: 0 8px !important;
    background: transparent !important;
  }

  .table-wrapper thead th,
  .table-wrapper table th,
  .bims-readable-table th,
  .admin-table-wrap th,
  .taxonomy-table-wrap th,
  .table-wrapper th[style*="background:#1f3b5b"],
  .table-wrapper th[style*="background: #1f3b5b"],
  .table-wrapper th[style*="background:#174b2b"],
  .table-wrapper th[style*="background: #174b2b"] {
    position: sticky;
    top: 0;
    z-index: 5;
    background: #0c3b2d !important;
    color: rgba(255,255,255,0.94) !important;
    padding: 12px 13px !important;
    border-right: 1px solid rgba(255,255,255,0.08) !important;
    border-bottom: 0 !important;
    box-shadow: 0 6px 14px rgba(8,59,45,0.12);
  }

  .table-wrapper thead th:first-child,
  .table-wrapper table th:first-child,
  .bims-readable-table th:first-child,
  .admin-table-wrap th:first-child,
  .taxonomy-table-wrap th:first-child {
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
  }

  .table-wrapper thead th:last-child,
  .table-wrapper table th:last-child,
  .bims-readable-table th:last-child,
  .admin-table-wrap th:last-child,
  .taxonomy-table-wrap th:last-child {
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
    border-right: 0 !important;
  }

  .table-wrapper tbody tr,
  .bims-readable-table tbody tr,
  .admin-table-wrap tbody tr,
  .taxonomy-table-wrap tbody tr {
    filter: drop-shadow(0 4px 10px rgba(18,56,40,0.06));
  }

  .table-wrapper tbody td,
  .table-wrapper table td,
  .bims-readable-table td,
  .admin-table-wrap td,
  .taxonomy-table-wrap td,
  .table-wrapper td[style*="padding"] {
    padding: 13px 13px !important;
    background: #ffffff !important;
    border-top: 1px solid #dceae1 !important;
    border-bottom: 1px solid #dceae1 !important;
    border-right: 0 !important;
    color: #102033;
  }

  .table-wrapper tbody td:first-child,
  .table-wrapper table td:first-child,
  .bims-readable-table td:first-child,
  .admin-table-wrap td:first-child,
  .taxonomy-table-wrap td:first-child {
    border-left: 1px solid #dceae1 !important;
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
  }

  .table-wrapper tbody td:last-child,
  .table-wrapper table td:last-child,
  .bims-readable-table td:last-child,
  .admin-table-wrap td:last-child,
  .taxonomy-table-wrap td:last-child {
    border-right: 1px solid #dceae1 !important;
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
  }

  .table-wrapper tbody tr:nth-child(even) td,
  .bims-readable-table tbody tr:nth-child(even) td,
  .admin-table-wrap tbody tr:nth-child(even) td,
  .taxonomy-table-wrap tbody tr:nth-child(even) td,
  .table-wrapper tbody tr:nth-child(even) > td[style] {
    background: #f8fbf9 !important;
  }

  .table-wrapper tbody tr:hover td,
  .bims-readable-table tbody tr:hover td,
  .admin-table-wrap tbody tr:hover td,
  .taxonomy-table-wrap tbody tr:hover td,
  .table-wrapper tbody tr:hover > td[style] {
    background: #edf8f1 !important;
    border-color: #b9dbc4 !important;
  }

  .table-wrapper td .primary-btn,
  .table-wrapper td .secondary-btn,
  .table-wrapper td button,
  .admin-table-wrap td button,
  .taxonomy-table-wrap td button {
    min-height: 34px;
    padding: 7px 11px !important;
    box-shadow: none !important;
  }

.table-wrapper td:last-child > div,
.admin-table-wrap td:last-child > div,
.taxonomy-table-wrap td:last-child > div {
    display: flex;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;
  }
}

/* BIMS table polish v4 - Flowbite-inspired compact data grid.
   This intentionally overrides v3 row-cards because dense scientific/admin
   data reads better as a clean grid than as oversized rows. */
@media (min-width: 901px) {
  .table-wrapper,
  .bims-readable-table-wrap,
  .admin-table-wrap,
  .taxonomy-table-wrap {
    background: #fff !important;
    border: 1px solid #d9e6de !important;
    border-radius: 8px !important;
    box-shadow: 0 6px 18px rgba(18, 56, 40, 0.055) !important;
    overflow: auto !important;
    padding: 0 !important;
  }

  .table-wrapper table,
  .table-wrapper > table[style],
  .bims-readable-table,
  .admin-table-wrap table,
  .taxonomy-table-wrap table {
    width: 100% !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    background: #fff !important;
    table-layout: auto !important;
    font-size: 13px !important;
  }

  .table-wrapper thead th,
  .table-wrapper table th,
  .bims-readable-table th,
  .admin-table-wrap th,
  .taxonomy-table-wrap th,
  .table-wrapper th[style*="background:#1f3b5b"],
  .table-wrapper th[style*="background: #1f3b5b"],
  .table-wrapper th[style*="background:#174b2b"],
  .table-wrapper th[style*="background: #174b2b"] {
    position: sticky;
    top: 0;
    z-index: 5;
    background: #f3f8f5 !important;
    color: #0b3b2d !important;
    padding: 10px 12px !important;
    border-right: 0 !important;
    border-bottom: 1px solid #cfe0d4 !important;
    box-shadow: none !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    text-transform: none;
    white-space: nowrap;
  }

  .table-wrapper thead th:first-child,
  .table-wrapper table th:first-child,
  .bims-readable-table th:first-child,
  .admin-table-wrap th:first-child,
  .taxonomy-table-wrap th:first-child,
  .table-wrapper thead th:last-child,
  .table-wrapper table th:last-child,
  .bims-readable-table th:last-child,
  .admin-table-wrap th:last-child,
  .taxonomy-table-wrap th:last-child {
    border-radius: 0 !important;
  }

  .table-wrapper tbody tr,
  .bims-readable-table tbody tr,
  .admin-table-wrap tbody tr,
  .taxonomy-table-wrap tbody tr {
    filter: none !important;
    box-shadow: none !important;
  }

  .table-wrapper tbody td,
  .table-wrapper table td,
  .bims-readable-table td,
  .admin-table-wrap td,
  .taxonomy-table-wrap td,
  .table-wrapper td[style*="padding"] {
    padding: 10px 12px !important;
    background: #fff !important;
    border: 0 !important;
    border-bottom: 1px solid #e5eee9 !important;
    border-radius: 0 !important;
    color: #132336 !important;
    line-height: 1.35 !important;
    vertical-align: middle !important;
  }

  .table-wrapper tbody td:first-child,
  .table-wrapper table td:first-child,
  .bims-readable-table td:first-child,
  .admin-table-wrap td:first-child,
  .taxonomy-table-wrap td:first-child,
  .table-wrapper tbody td:last-child,
  .table-wrapper table td:last-child,
  .bims-readable-table td:last-child,
  .admin-table-wrap td:last-child,
  .taxonomy-table-wrap td:last-child {
    border-left: 0 !important;
    border-right: 0 !important;
    border-radius: 0 !important;
  }

  .table-wrapper tbody tr:nth-child(even) td,
  .bims-readable-table tbody tr:nth-child(even) td,
  .admin-table-wrap tbody tr:nth-child(even) td,
  .taxonomy-table-wrap tbody tr:nth-child(even) td,
  .table-wrapper tbody tr:nth-child(even) > td[style] {
    background: #fbfdfb !important;
  }

  .table-wrapper tbody tr:hover td,
  .bims-readable-table tbody tr:hover td,
  .admin-table-wrap tbody tr:hover td,
  .taxonomy-table-wrap tbody tr:hover td,
  .table-wrapper tbody tr:hover > td[style] {
    background: #f0f8f3 !important;
    border-color: #d5e8dc !important;
  }

  .table-wrapper td .primary-btn,
  .table-wrapper td .secondary-btn,
  .table-wrapper td button,
  .admin-table-wrap td button,
  .taxonomy-table-wrap td button {
    min-height: 30px !important;
    padding: 6px 10px !important;
    border-radius: 7px !important;
    box-shadow: none !important;
    font-size: 12px !important;
  }

  .table-wrapper td:last-child > div,
  .admin-table-wrap td:last-child > div,
  .taxonomy-table-wrap td:last-child > div {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: nowrap;
  }

  .status-badge,
  .coord-issue-badge,
  .bims-status-badge,
  .coord-ok-badge {
    min-height: 22px !important;
    padding: 3px 8px !important;
    font-size: 12px !important;
  }
}
/* Server health dashboard */
.server-health-dashboard{
  display:grid;
  gap:18px;
}
.server-health-hero{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding:22px;
  border:1px solid rgba(34,94,63,0.18);
  border-radius:14px;
  background:
    linear-gradient(135deg, rgba(10,74,52,0.96), rgba(26,103,70,0.86)),
    radial-gradient(circle at 88% 10%, rgba(170,215,142,0.34), transparent 36%);
  color:#fff;
  box-shadow:0 18px 42px rgba(12,54,38,0.13);
}
.server-health-hero h3{
  margin:6px 0 8px;
  font-size:28px;
  line-height:1.12;
  letter-spacing:0;
}
.server-health-hero p{
  max-width:780px;
  margin:0;
  color:rgba(255,255,255,0.88);
  line-height:1.6;
}
.server-health-status{
  display:inline-flex;
  align-items:center;
  gap:9px;
  flex:0 0 auto;
  padding:9px 13px;
  border-radius:999px;
  background:rgba(255,255,255,0.14);
  border:1px solid rgba(255,255,255,0.26);
  font-weight:800;
  text-transform:capitalize;
}
.server-health-status span,
.server-service-tile > span{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#f59e0b;
  box-shadow:0 0 0 4px rgba(245,158,11,0.18);
}
.server-health-status.is-ok span,
.server-service-tile.is-ok > span{
  background:#34d399;
  box-shadow:0 0 0 4px rgba(52,211,153,0.18);
}
.server-health-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.server-health-kpi{
  padding:16px;
  border:1px solid #d8e8dc;
  border-radius:12px;
  background:#fff;
  box-shadow:0 12px 28px rgba(13,50,36,0.06);
}
.server-health-kpi span{
  display:block;
  margin-bottom:8px;
  color:#597265;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
}
.server-health-kpi strong{
  display:block;
  color:#073f2d;
  font-size:23px;
  line-height:1.12;
  word-break:break-word;
}
.server-health-kpi small{
  display:block;
  margin-top:7px;
  color:#6b7f73;
}
.server-health-grid{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(280px,0.8fr);
  gap:16px;
}
.server-health-panel{
  padding:18px;
  border:1px solid #d8e8dc;
  border-radius:14px;
  background:rgba(255,255,255,0.94);
  box-shadow:0 14px 32px rgba(12,54,38,0.06);
}
.server-health-panel-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-bottom:15px;
}
.server-health-panel-head strong{
  display:block;
  color:#073f2d;
  font-size:16px;
}
.server-health-panel-head span{
  display:block;
  margin-top:4px;
  color:#617569;
  font-size:13px;
}
.server-health-gauge{
  padding:12px 0;
  border-top:1px solid #edf4ef;
}
.server-health-gauge:first-of-type{
  border-top:0;
}
.server-health-gauge-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
}
.server-health-gauge-top span{
  color:#243a30;
  font-weight:800;
}
.server-health-gauge-top strong{
  color:#073f2d;
  font-size:18px;
}
.server-health-track,
.server-mini-progress{
  width:100%;
  height:10px;
  overflow:hidden;
  border-radius:999px;
  background:#e8f0eb;
}
.server-health-track span,
.server-mini-progress span{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#1f8b4c,#7ab648);
}
.server-health-gauge.is-warning .server-health-track span{
  background:linear-gradient(90deg,#d97706,#fbbf24);
}
.server-health-gauge.is-danger .server-health-track span{
  background:linear-gradient(90deg,#b91c1c,#f97316);
}
.server-health-gauge small{
  display:block;
  margin-top:7px;
  color:#6c7f74;
}
.server-backup-card{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:15px;
  border:1px solid #dcebe0;
  border-radius:12px;
  background:linear-gradient(180deg,#f8fcf8,#eef8f1);
}
.server-backup-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:13px;
  background:#0b4a34;
  color:#fff;
  font-weight:900;
  letter-spacing:.4px;
}
.server-backup-card strong{
  display:block;
  color:#073f2d;
  line-height:1.35;
}
.server-backup-card p{
  margin:6px 0;
  color:#506a5c;
}
.server-backup-card small{
  color:#789083;
}
.server-service-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:10px;
}
.server-service-tile{
  display:flex;
  align-items:center;
  gap:12px;
  padding:13px;
  border:1px solid #dcebe0;
  border-radius:12px;
  background:#fbfdfb;
}
.server-service-tile strong{
  display:block;
  color:#073f2d;
  text-transform:capitalize;
}
.server-service-tile small{
  display:block;
  margin-top:3px;
  color:#63776c;
}
.server-service-tile.is-warning{
  border-color:#f5d7a4;
  background:#fffaf0;
}
.server-disk-table{
  box-shadow:none;
}
.server-disk-table table{
  min-width:720px;
}
.server-disk-table td small{
  display:block;
  margin-top:3px;
  color:#73877b;
}
.server-disk-table td:last-child{
  min-width:150px;
}
.server-mini-progress{
  height:8px;
  margin-bottom:6px;
}

@media (max-width: 900px){
  .server-health-hero{
    flex-direction:column;
  }
  .server-health-kpis,
  .server-health-grid{
    grid-template-columns:1fr;
  }
  .server-health-hero h3{
    font-size:23px;
  }
}

/* Global header cleanup: keep only the floating user greeting. */
#topbar,
#header{
  position:relative !important;
  height:0 !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
  z-index:30;
}
#page-title{
  display:none !important;
}
#user-info{
  position:absolute !important;
  top:18px !important;
  right:20px !important;
  z-index:40 !important;
  color:#17452f !important;
  background:rgba(255,255,255,0.92) !important;
  border:1px solid #d7e7da !important;
  border-radius:999px !important;
  padding:8px 13px !important;
  box-shadow:0 10px 26px rgba(16,65,45,0.10) !important;
  backdrop-filter:blur(10px);
}
#panel{
  padding-top:28px !important;
}
@media (max-width: 700px){
  #user-info{
    top:12px !important;
    right:12px !important;
    max-width:calc(100vw - 96px);
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  #panel{
    padding-top:54px !important;
  }
}

/* Final header override: the module navigation now lives only in the sidebar. */
body #topbar,
body #header{
  position:relative !important;
  display:block !important;
  height:0 !important;
  min-height:0 !important;
  max-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
}
body #topbar > *:not(#user-info),
body #header > *:not(#user-info),
body #page-title,
body #panel-title{
  display:none !important;
}
body #user-info{
  position:absolute !important;
  top:18px !important;
  right:20px !important;
  z-index:120 !important;
}
body #panel{
  padding-top:30px !important;
}

/* Administration module refinement */
.admin-home-shell{
  max-width:1240px;
}
.admin-hero-deep{
  background:
    radial-gradient(circle at 88% 18%, rgba(125,188,108,.22), transparent 28%),
    linear-gradient(135deg,#0b3a2b 0%,#14533b 46%,#2c7a4f 100%);
}
.admin-hero-deep p{
  max-width:980px;
}
.admin-module-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:16px;
}
.admin-module-card{
  appearance:none;
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:178px;
  padding:20px;
  text-align:left;
  border:1px solid rgba(23,78,49,.18);
  border-radius:18px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.94),rgba(246,252,248,.94));
  color:#0b2e23;
  box-shadow:0 18px 45px rgba(10,49,34,.10);
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.admin-module-card:hover{
  transform:translateY(-2px);
  border-color:rgba(30,117,70,.42);
  box-shadow:0 24px 58px rgba(10,49,34,.16);
}
.admin-module-card-kicker{
  width:max-content;
  padding:5px 9px;
  border-radius:999px;
  background:#eaf6ee;
  color:#16713f;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
}
.admin-module-card strong{
  font-size:19px;
  color:#073f2d;
}
.admin-module-card span:last-child{
  line-height:1.55;
  color:#40584d;
}
.admin-submodule-shell{
  max-width:1280px;
}
.admin-submodule-tabs{
  border:1px solid #d7e7dc;
  border-radius:14px;
  padding:10px;
  background:#f8fbf8;
}
.admin-readable-table-wrapper{
  border:1px solid #d8e7dc;
  border-radius:14px;
  background:#fff;
  box-shadow:0 16px 38px rgba(20,71,47,.08);
  overflow:auto;
}
.admin-readable-table{
  width:100%;
  min-width:980px;
  border-collapse:separate;
  border-spacing:0;
  font-size:13px;
}
.admin-readable-table th{
  padding:12px 14px;
  text-align:left;
  background:#0d4b34;
  color:#fff;
  white-space:nowrap;
}
.admin-readable-table th:first-child{
  border-top-left-radius:12px;
}
.admin-readable-table th:last-child{
  border-top-right-radius:12px;
}
.admin-readable-table td{
  padding:12px 14px;
  border-bottom:1px solid #e4eee8;
  vertical-align:middle;
  color:#10271f;
}
.admin-readable-table tr:nth-child(even) td{
  background:#f8fbf9;
}
.admin-readable-table tr.has-coord-issue td{
  background:#fff7ed;
}
.admin-action-cell{
  display:flex;
  gap:8px;
  white-space:nowrap;
}
.mono-cell{
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
  font-size:12px;
}
.admin-table-pagination{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin:12px 0;
}
.admin-stats-dashboard{
  display:grid;
  grid-template-columns:minmax(300px,420px) 1fr;
  gap:18px;
  margin-bottom:18px;
}
.admin-stats-pie-card,
.admin-user-bars{
  border:1px solid #d8e7dc;
  border-radius:18px;
  padding:20px;
  background:#fff;
  box-shadow:0 18px 44px rgba(20,71,47,.10);
}
.admin-stats-pie-card h3,
.admin-user-bars h3{
  margin:0 0 8px;
  color:#073f2d;
}
.admin-stats-pie-card p,
.admin-user-bars p{
  color:#5a7165;
  line-height:1.55;
}
.admin-pie-3d{
  width:220px;
  aspect-ratio:1;
  margin:20px auto 14px;
  border-radius:50%;
  background:
    conic-gradient(
      #227a44 0 calc(var(--bims) * 1%),
      #43a7c4 calc(var(--bims) * 1%) calc((var(--bims) + var(--field)) * 1%),
      #e5533f calc((var(--bims) + var(--field)) * 1%) calc((var(--bims) + var(--field) + var(--issues)) * 1%),
      #e9f3ec 0
    );
  box-shadow:inset -18px -24px 36px rgba(0,0,0,.15), 0 18px 0 #b6c9ba, 0 26px 42px rgba(19,69,45,.22);
}
.admin-pie-legend{
  display:grid;
  gap:8px;
}
.admin-pie-legend span{
  display:flex;
  align-items:center;
  gap:8px;
  color:#28483a;
}
.admin-pie-legend i{
  width:12px;
  height:12px;
  border-radius:50%;
}
.legend-bims{background:#227a44;}
.legend-field{background:#43a7c4;}
.legend-issues{background:#e5533f;}
.admin-user-bar-row{
  display:grid;
  grid-template-columns:minmax(140px,1fr) 2fr auto;
  gap:10px;
  align-items:center;
  margin:10px 0;
}
.admin-user-bar-row span{
  color:#143b2b;
  font-weight:700;
}
.admin-user-bar-row div{
  height:12px;
  border-radius:999px;
  background:#e9f3ec;
  overflow:hidden;
}
.admin-user-bar-row i{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#1c7c43,#65b86a);
}
.admin-audit-filters{
  display:grid;
  grid-template-columns:repeat(2,minmax(180px,1fr)) auto auto;
  gap:10px;
  align-items:end;
  margin:14px 0;
  padding:14px;
  border:1px solid #d8e7dc;
  border-radius:14px;
  background:#f8fbf8;
}
.admin-audit-filters label{
  display:flex;
  flex-direction:column;
  gap:6px;
  color:#073f2d;
  font-weight:800;
}
.admin-audit-filters select{
  min-height:40px;
  border:1px solid #cfe2d5;
  border-radius:10px;
  padding:8px 10px;
  background:#fff;
}
.admin-audit-list{
  display:grid;
  gap:10px;
}
@media (max-width: 900px){
  .admin-stats-dashboard,
  .admin-audit-filters{
    grid-template-columns:1fr;
  }
  .admin-table-pagination{
    align-items:flex-start;
    flex-direction:column;
  }
}

/* Administration final dashboard polish */
.admin-home-pro{
  display:grid;
  gap:22px;
}
.admin-pro-hero{
  position:relative;
  overflow:hidden;
  padding:34px;
  border-radius:24px;
  color:#fff;
  background:
    radial-gradient(circle at 86% 18%, rgba(151,203,124,.28), transparent 30%),
    radial-gradient(circle at 12% 84%, rgba(70,164,117,.25), transparent 34%),
    linear-gradient(135deg,#082d23 0%,#0f4b35 48%,#2f8154 100%);
  box-shadow:0 28px 70px rgba(7,45,34,.22);
}
.admin-pro-hero h2{
  max-width:980px;
  margin:8px 0 16px;
  font-size:clamp(30px, 3.2vw, 48px);
  line-height:1.08;
  letter-spacing:0;
}
.admin-pro-hero p{
  max-width:1040px;
  margin:12px 0 0;
  color:rgba(255,255,255,.9);
  font-size:16px;
  line-height:1.75;
}
.admin-guidance-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.admin-guidance-grid article,
.admin-section-intro{
  border:1px solid rgba(30,93,59,.15);
  border-radius:18px;
  padding:20px;
  background:linear-gradient(180deg,#fff,#f8fcf9);
  box-shadow:0 16px 42px rgba(16,70,45,.08);
}
.admin-guidance-grid h3,
.admin-section-intro strong{
  display:block;
  margin:0 0 8px;
  color:#073f2d;
  font-size:17px;
}
.admin-guidance-grid p,
.admin-section-intro p{
  margin:0;
  color:#38594b;
  line-height:1.65;
}
.admin-module-grid-pro .admin-module-card{
  min-height:210px;
  border-radius:20px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.98),rgba(245,251,247,.98));
}
.admin-kpi-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin:18px 0;
}
.admin-kpi-grid article{
  padding:18px;
  border:1px solid #d8e9dd;
  border-radius:18px;
  background:#fff;
  box-shadow:0 14px 36px rgba(15,65,42,.08);
}
.admin-kpi-grid span{
  display:block;
  color:#486657;
  font-weight:800;
}
.admin-kpi-grid strong{
  display:block;
  margin:8px 0 4px;
  color:#073f2d;
  font-size:28px;
}
.admin-kpi-grid small{
  color:#6b8175;
}
.admin-kpi-grid .is-warning{
  background:linear-gradient(180deg,#fffaf4,#fff);
  border-color:#f1d4b3;
}
.admin-dashboard-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:18px;
  margin:18px 0;
}
.admin-chart-card{
  border:1px solid #d8e9dd;
  border-radius:20px;
  padding:22px;
  background:#fff;
  box-shadow:0 18px 48px rgba(15,65,42,.09);
}
.admin-stats-section{
  display:grid;
  gap:18px;
  margin:22px 0;
}
.admin-submodule-hero{
  position:relative;
  overflow:hidden;
  border-radius:20px;
  padding:24px;
  color:#fff;
  background:
    radial-gradient(circle at 92% 18%,rgba(151,203,124,.25),transparent 30%),
    linear-gradient(135deg,#0a3428 0%,#15573e 55%,#317b52 100%);
  box-shadow:0 18px 46px rgba(15,65,42,.16);
}
.admin-submodule-hero span{
  display:block;
  margin:0 0 8px;
  color:#d9f8df;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.admin-submodule-hero h3{
  margin:0 0 10px;
  font-size:clamp(24px,2.4vw,34px);
  line-height:1.12;
  color:#fff;
}
.admin-submodule-hero p{
  max-width:980px;
  margin:0;
  color:rgba(255,255,255,.9);
  line-height:1.65;
}
.admin-submodule-hero h1,
.admin-submodule-hero h2,
.admin-submodule-hero h3,
.admin-submodule-hero strong,
.server-health-hero h1,
.server-health-hero h2,
.server-health-hero h3,
.server-health-hero strong,
.admin-pro-hero h1,
.admin-pro-hero h2,
.admin-pro-hero strong{
  color:#fff !important;
  text-shadow:0 1px 2px rgba(0,0,0,.22);
}
.admin-submodule-hero .module-kicker,
.admin-submodule-hero span,
.server-health-hero .module-kicker,
.admin-pro-hero .module-kicker{
  color:#dff6df !important;
}
.admin-submodule-hero p,
.server-health-hero p,
.admin-pro-hero p{
  color:rgba(255,255,255,.92) !important;
}
.admin-auto-hero{
  margin-bottom:18px;
}
.admin-chart-card h3{
  margin:0 0 8px;
  color:#073f2d;
  font-size:20px;
}
.admin-chart-card p{
  margin:0 0 16px;
  color:#526d60;
  line-height:1.6;
}
.admin-donut-3d{
  --web:50;
  --field:50;
  width:230px;
  height:230px;
  position:relative;
  margin:24px auto 28px;
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 50%, #fff 0 38%, transparent 39%),
    conic-gradient(#1f7a43 0 calc(var(--web) * 1%), #3aa6b9 calc(var(--web) * 1%) 100%);
  box-shadow:
    inset -18px -22px 34px rgba(0,0,0,.16),
    inset 10px 12px 28px rgba(255,255,255,.42),
    0 18px 0 #a8c5af,
    0 30px 48px rgba(17,67,44,.25);
}
.admin-donut-3d::before{
  content:"";
  position:absolute;
  inset:38%;
  border-radius:50%;
  background:#fff;
  box-shadow:inset 0 0 18px rgba(17,67,44,.10);
}
.admin-donut-3d::after{
  content:"";
  position:absolute;
  left:22px;
  right:22px;
  bottom:-18px;
  height:26px;
  border-radius:50%;
  background:rgba(22,81,51,.22);
  filter:blur(6px);
  z-index:-1;
}
.admin-meter-row{
  display:grid;
  grid-template-columns:minmax(180px,1.15fr) minmax(160px,1.6fr) 64px;
  align-items:center;
  gap:12px;
  margin:12px 0;
}
.admin-meter-label{
  display:flex;
  justify-content:space-between;
  gap:10px;
  color:#183f30;
  font-weight:800;
}
.admin-meter-label strong{
  color:#073f2d;
}
.admin-meter-track{
  height:12px;
  border-radius:999px;
  background:#edf4ef;
  overflow:hidden;
}
.admin-meter-track i{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#1f7a43,#65b86a);
}
.admin-meter-row.warn .admin-meter-track i{background:linear-gradient(90deg,#e4573f,#f0a84a);}
.admin-meter-row.field .admin-meter-track i{background:linear-gradient(90deg,#258da2,#4fb8c9);}
.admin-meter-row.tax .admin-meter-track i{background:linear-gradient(90deg,#4c6f2f,#8bb45a);}
.admin-meter-row em{
  color:#60766c;
  font-style:normal;
  font-weight:800;
  text-align:right;
}
.admin-metric-table{
  display:grid;
  gap:10px;
}
.admin-metric-row{
  display:grid;
  grid-template-columns:minmax(160px,1.1fr) minmax(220px,2fr) 72px;
  gap:12px;
  align-items:center;
}
.admin-metric-user strong{
  display:block;
  color:#0b382c;
}
.admin-metric-user span{
  color:#6b8175;
  font-size:12px;
}
.admin-metric-stack{
  position:relative;
  display:grid;
  gap:4px;
}
.admin-metric-stack i{
  display:block;
  height:8px;
  border-radius:999px;
  min-width:2px;
}
.seg-web{background:#1f7a43;}
.seg-field{background:#3aa6b9;}
.seg-issue{background:#e4573f;}
.seg-tax{background:#7ba34a;}
.admin-metric-total{
  color:#073f2d;
  font-weight:900;
  text-align:right;
}
.admin-segment-legend{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:16px;
  color:#526d60;
  font-weight:800;
}
.admin-segment-legend span{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.admin-segment-legend i{
  width:10px;
  height:10px;
  border-radius:50%;
}
.admin-timeline-chart{
  display:grid;
  grid-template-columns:repeat(12,minmax(24px,1fr));
  gap:10px;
  align-items:end;
  min-height:220px;
  padding:14px 4px 0;
}
.admin-timeline-col{
  display:grid;
  grid-template-rows:1fr auto;
  gap:8px;
  min-height:205px;
  text-align:center;
}
.admin-timeline-bars{
  height:170px;
  display:flex;
  align-items:end;
  justify-content:center;
  gap:3px;
  padding:8px 4px;
  border-radius:12px;
  background:linear-gradient(180deg,#f8fcf9,#fff);
  border:1px solid #e1eee5;
}
.admin-timeline-bars i{
  width:7px;
  min-height:2px;
  border-radius:999px 999px 0 0;
}
.admin-timeline-col span{
  color:#60766c;
  font-size:11px;
  font-weight:800;
}
.admin-svg-donut-layout{
  display:grid;
  grid-template-columns:minmax(190px,220px) minmax(0,1fr);
  gap:22px;
  align-items:center;
  margin:18px 0 20px;
}
.admin-svg-donut-wrap{
  position:relative;
  width:220px;
  height:220px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:
    radial-gradient(circle at 35% 24%,rgba(255,255,255,.9),rgba(255,255,255,.18) 32%,transparent 48%),
    linear-gradient(145deg,#eff8f2,#d7eadc);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.7),
    0 18px 40px rgba(14,65,42,.18);
}
.admin-svg-donut-wrap::after{
  content:"";
  position:absolute;
  left:22px;
  right:22px;
  bottom:-13px;
  height:22px;
  border-radius:50%;
  background:rgba(13,57,37,.18);
  filter:blur(8px);
  z-index:-1;
}
.admin-svg-donut{
  width:184px;
  height:184px;
  transform:rotate(-90deg);
  overflow:visible;
}
.admin-donut-base{
  fill:none;
  stroke:#e6f0ea;
  stroke-width:13;
}
.admin-donut-ring{
  fill:none;
  stroke-width:13;
  stroke-linecap:round;
  filter:drop-shadow(0 4px 4px rgba(12,50,34,.18));
  transition:stroke-dasharray .2s ease;
}
.admin-donut-center{
  position:absolute;
  inset:48px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  border-radius:50%;
  background:linear-gradient(180deg,#fff,#f7fbf8);
  box-shadow:inset 0 0 0 1px #dcebe1;
  text-align:center;
}
.admin-donut-center strong{
  color:#073f2d;
  font-size:23px;
  line-height:1;
}
.admin-donut-center span{
  margin-top:5px;
  color:#658073;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.admin-donut-legend{
  display:grid;
  gap:10px;
}
.admin-donut-legend span{
  display:grid;
  grid-template-columns:12px minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  padding:10px 12px;
  border:1px solid #dbeae0;
  border-radius:14px;
  background:#fbfdfb;
  color:#254d3d;
  font-weight:800;
  min-width:0;
}
.admin-donut-legend i{
  width:12px;
  height:12px;
  border-radius:50%;
}
.admin-donut-legend strong{
  color:#073f2d;
}
.admin-donut-legend em{
  color:#6a8175;
  font-style:normal;
  font-size:12px;
  grid-column:2 / -1;
}
.admin-empty-chart{
  padding:18px;
  border:1px dashed #c9ddcf;
  border-radius:16px;
  color:#60766c;
  background:#f8fcf9;
}
.admin-user-chart-controls{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  margin:0 0 14px;
  padding:12px 14px;
  border:1px solid #dbeae0;
  border-radius:16px;
  background:linear-gradient(180deg,#fbfdfb,#f4faf6);
}
.admin-user-chart-controls label{
  color:#073f2d;
  font-weight:900;
}
.admin-user-chart-controls select{
  width:min(100%,360px);
  border:1px solid #bdd6c6;
  border-radius:12px;
  padding:10px 12px;
  color:#123c2e;
  background:#fff;
  font-weight:800;
}
.admin-user-chart-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  margin:0 0 10px;
}
.admin-user-chart-head strong{
  display:block;
  color:#073f2d;
  font-size:18px;
}
.admin-user-chart-head span{
  color:#637d70;
}
.admin-user-chart-totals{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}
.admin-user-chart-totals span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 10px;
  border:1px solid #dbeae0;
  border-radius:999px;
  background:#fff;
  color:#345846;
  font-size:12px;
  font-weight:900;
}
.admin-user-chart-totals span::before{
  content:"";
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--dot);
}
.admin-line-chart{
  width:100%;
  max-height:280px;
  min-height:220px;
  border:1px solid #dbeae0;
  border-radius:18px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,252,249,.98));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}
.admin-user-timeline-card{
  max-width:100%;
}
.admin-user-timeline-card .admin-line-chart{
  display:block;
}
.admin-line-grid line{
  stroke:#dcebe1;
  stroke-width:1;
}
.admin-line-grid text,
.admin-line-labels text{
  fill:#6a8175;
  font-size:12px;
  font-weight:800;
}
.admin-line-labels text{
  text-anchor:middle;
}
.admin-line-serie path{
  fill:none;
  stroke:var(--line);
  stroke-width:4;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 3px 4px rgba(12,50,34,.16));
}
.admin-line-serie circle{
  fill:#fff;
  stroke:var(--line);
  stroke-width:3;
}
.admin-activity-row-list{
  display:grid;
  gap:10px;
  max-height:520px;
  overflow-y:auto;
  padding-right:4px;
}
.admin-activity-row-card{
  display:grid;
  grid-template-columns:minmax(190px,.8fr) minmax(0,2fr);
  gap:14px;
  align-items:center;
  padding:13px 14px;
  border:1px solid #dbeae0;
  border-radius:16px;
  background:linear-gradient(180deg,#fff,#f8fcf9);
}
.admin-activity-row-user strong{
  display:block;
  color:#073f2d;
  font-size:14px;
}
.admin-activity-row-user span{
  color:#6a8175;
  font-size:12px;
  font-weight:800;
}
.admin-activity-row-card dl{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(118px,1fr));
  gap:8px;
  margin:0;
}
.admin-activity-row-card dl div{
  padding:8px 9px;
  border-radius:12px;
  background:#eef7f1;
}
.admin-activity-row-card dt{
  color:#5f776b;
  font-size:11px;
  font-weight:900;
}
.admin-activity-row-card dd{
  margin:3px 0 0;
  color:#073f2d;
  font-weight:950;
}
.admin-readable-table .bims-row-actions{
  display:flex;
  gap:8px;
  align-items:center;
}
.admin-readable-table .bims-icon-action{
  margin-right:0;
}
.admin-backup-shell{
  display:grid;
  gap:18px;
}
.admin-backup-hero .section-actions{
  margin-top:16px;
}
.admin-backup-rules{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.admin-backup-rules article{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:6px 12px;
  align-items:start;
  border:1px solid rgba(30,93,59,.16);
  border-radius:18px;
  padding:16px;
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(246,252,247,.94));
  box-shadow:0 14px 30px rgba(15,65,42,.07);
}
.admin-backup-rules span{
  grid-row:1 / span 2;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:12px;
  color:#fff;
  background:#1f7a43;
  font-weight:950;
}
.admin-backup-rules strong{
  color:#073f2d;
  font-size:15px;
}
.admin-backup-rules p{
  margin:0;
  color:#557366;
  line-height:1.45;
}
.admin-backup-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin:0 0 18px;
}
.admin-backup-summary article{
  min-width:0;
  border:1px solid rgba(30,93,59,.16);
  border-radius:18px;
  padding:18px;
  background:linear-gradient(180deg,#fff,#f7fcf8);
  box-shadow:0 16px 36px rgba(15,65,42,.08);
}
.admin-backup-summary span,
.admin-backup-type{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  padding:5px 10px;
  border-radius:999px;
  color:#0f5132;
  background:#e8f5ec;
  border:1px solid #c8e4d0;
  font-size:12px;
  font-weight:900;
}
.admin-backup-summary strong{
  display:block;
  margin:12px 0 6px;
  color:#073f2d;
  font-size:22px;
  line-height:1.15;
}
.admin-backup-summary small,
.admin-backup-item small{
  display:block;
  color:#557366;
  line-height:1.45;
  word-break:break-word;
}
.admin-backup-list{
  display:grid;
  gap:10px;
}
.admin-backup-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  border:1px solid rgba(30,93,59,.16);
  border-radius:16px;
  padding:14px 16px;
  background:rgba(255,255,255,.86);
  box-shadow:0 10px 26px rgba(15,65,42,.06);
}
.admin-backup-item strong{
  display:block;
  margin:8px 0 4px;
  color:#082d23;
  font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size:13px;
  word-break:break-all;
}
.admin-backup-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.danger-soft-btn{
  border:1px solid #f0b6b6;
  border-radius:10px;
  padding:10px 14px;
  color:#9f2626;
  background:#fff0f0;
  font-weight:900;
  cursor:pointer;
}
.danger-soft-btn:hover{
  background:#ffe4e4;
}
@media (max-width: 1100px){
  .admin-guidance-grid,
  .admin-kpi-grid,
  .admin-dashboard-grid,
  .admin-backup-rules,
  .admin-backup-summary{
    grid-template-columns:1fr;
  }
  .admin-backup-item{
    grid-template-columns:1fr;
  }
  .admin-backup-actions{
    justify-content:flex-start;
  }
  .admin-timeline-chart{
    overflow-x:auto;
    grid-template-columns:repeat(12,44px);
  }
  .admin-svg-donut-layout{
    grid-template-columns:1fr;
    justify-items:center;
  }
  .admin-user-chart-head,
  .admin-user-chart-controls{
    flex-direction:column;
    align-items:stretch;
  }
  .admin-user-chart-totals{
    justify-content:flex-start;
  }
  .admin-activity-row-card{
    grid-template-columns:1fr;
  }
}

/* Final admin contrast guard */
.admin-pro-hero,
.admin-submodule-hero,
.server-health-hero{
  color:#fff !important;
}
.admin-pro-hero h1,
.admin-pro-hero h2,
.admin-pro-hero h3,
.admin-pro-hero strong,
.admin-submodule-hero h1,
.admin-submodule-hero h2,
.admin-submodule-hero h3,
.admin-submodule-hero strong,
.server-health-hero h1,
.server-health-hero h2,
.server-health-hero h3,
.server-health-hero strong{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  text-shadow:0 2px 5px rgba(0,0,0,.25);
}
.admin-pro-hero p,
.admin-submodule-hero p,
.server-health-hero p{
  color:rgba(255,255,255,.94) !important;
  -webkit-text-fill-color:rgba(255,255,255,.94) !important;
}
.admin-pro-hero .module-kicker,
.admin-submodule-hero span,
.server-health-hero span:first-child{
  color:#dff7d7 !important;
  -webkit-text-fill-color:#dff7d7 !important;
}

/* Admin > Date BIMS uses the same action visual language as Observatii existente. */
#admin-bims-observations .admin-bims-management-table .bims-row-actions{
  display:flex !important;
  gap:6px !important;
  align-items:center !important;
  white-space:nowrap !important;
}
#admin-bims-observations .admin-bims-management-table .bims-icon-action{
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  min-height:34px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:8px !important;
  border:1px solid #bfd7c8 !important;
  background:#eaf5ee !important;
  color:#083b2d !important;
  box-shadow:0 4px 10px rgba(18,56,40,.07) !important;
}
#admin-bims-observations .admin-bims-management-table .bims-icon-action.is-primary{
  background:#1f7a43 !important;
  border-color:#1f7a43 !important;
  color:#fff !important;
}
#admin-bims-observations .admin-bims-management-table .bims-icon-action.is-danger{
  background:#fff0f0 !important;
  border-color:#f0c4c4 !important;
  color:#9f2626 !important;
}
#admin-bims-observations .admin-bims-management-table .bims-icon-action svg{
  width:17px !important;
  height:17px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:2 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

/* Shared BIMS edit modal, available in Admin even when the Inregistrari module was not opened first. */
.bims-edit-modal-overlay{
  position:fixed;
  inset:0;
  z-index:10000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(15,23,42,.58);
}
.bims-edit-modal{
  width:min(920px,96vw);
  max-height:92vh;
  overflow:auto;
  background:#fff;
  border-radius:12px;
  box-shadow:0 24px 70px rgba(15,23,42,.28);
}
.bims-edit-modal-header{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  padding:18px 22px;
  background:#0f3d2e;
  color:#fff;
}
.bims-edit-modal-header h3{
  margin:0;
  font-size:20px;
  color:#fff;
}
.bims-edit-modal-header p{
  margin:6px 0 0;
  color:rgba(255,255,255,.82);
}
.bims-edit-modal-close{
  border:1px solid rgba(255,255,255,.35);
  background:rgba(255,255,255,.12);
  color:#fff;
  border-radius:8px;
  padding:7px 10px;
  cursor:pointer;
  font-weight:700;
}
.bims-edit-modal-body{
  padding:18px 22px;
}
.bims-edit-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.bims-edit-field{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.bims-edit-field.is-wide{
  grid-column:1 / -1;
}
.bims-edit-field label{
  font-weight:900;
  color:#0f2f24;
}
.bims-edit-field input,
.bims-edit-field textarea{
  width:100%;
  border:1px solid #c9ded2;
  border-radius:9px;
  padding:10px 12px;
  color:#10271f;
  background:#fff;
}
.bims-edit-field textarea{
  min-height:92px;
  resize:vertical;
}
.bims-edit-field input:disabled{
  background:#eef5f0;
  color:#557366;
}
.bims-edit-generated-note{
  margin:0 0 14px;
  padding:12px 14px;
  border:1px solid #d8e7dc;
  border-radius:10px;
  background:#f6fbf7;
  color:#314e42;
}
.bims-edit-modal-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  padding:14px 22px 20px;
  border-top:1px solid #e2e8f0;
}
@media (max-width: 760px){
  .bims-edit-form-grid{
    grid-template-columns:1fr;
  }
}

/* Login info button anchored to the white login card. */
#login-box .login-info-btn{
  top:14px;
  right:14px;
  z-index:3;
  width:38px !important;
  height:38px;
  padding:0;
  border:1px solid rgba(31,122,67,0.24);
  background:#f4faf6 !important;
  color:#0f4b2d !important;
  box-shadow:0 10px 24px rgba(15,67,43,0.14);
}
#login-box .login-info-btn:hover{
  background:#e8f5ec !important;
  box-shadow:0 14px 28px rgba(15,67,43,0.2);
}
#login-box .login-info-btn svg{
  width:23px;
  height:23px;
}

/* Final compact login card surface. */
#login-box{
  width:min(310px, calc(100vw - 32px)) !important;
  padding:18px 20px 20px !important;
  border-radius:16px !important;
  background:rgba(255,255,255,0.94) !important;
  border:1px solid rgba(255,255,255,0.72) !important;
  box-shadow:0 18px 46px rgba(5,31,21,0.26) !important;
}
#login-box::before{
  content:none !important;
}
#login-box .login-brand{
  margin:0 0 12px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
}
#login-box .login-logo{
  width:min(188px, 60vw) !important;
  border-radius:0 !important;
  filter:drop-shadow(0 8px 14px rgba(15,67,43,0.10)) !important;
}
#login-box input{
  height:40px !important;
  margin-bottom:9px !important;
  padding:0 12px !important;
  border:1px solid rgba(31,122,67,0.18) !important;
  border-radius:9px !important;
  background:#f7fbf8 !important;
  color:#103522 !important;
  font-size:14px !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.8) !important;
  transition:border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
#login-box input:focus{
  outline:none;
  border-color:#1f7a43 !important;
  background:#fff !important;
  box-shadow:0 0 0 4px rgba(31,122,67,0.12) !important;
}
#login-box .login-primary-btn,
#login-box .login-register-btn{
  height:42px !important;
  border-radius:9px !important;
  font-size:14px !important;
  letter-spacing:0 !important;
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease;
}
#login-box .login-primary-btn{
  box-shadow:0 12px 24px rgba(31,122,67,0.18) !important;
}
#login-box .login-primary-btn:hover,
#login-box .login-register-btn:hover{
  transform:translateY(-1px);
}
#login-box .login-register-btn{
  background:#eaf6ee !important;
  color:#145331 !important;
  border:1px solid rgba(31,122,67,0.18) !important;
  box-shadow:none !important;
}
#login-box .login-register-btn:hover{
  background:#dff0e5 !important;
}
#login-box .login-secondary-actions{
  margin-top:8px !important;
}
#login-box #login-error{
  min-height:14px !important;
  margin:8px 0 0 !important;
  color:#b42318 !important;
  font-size:12px !important;
}
#login-box .login-info-btn{
  top:10px !important;
  right:10px !important;
  z-index:3 !important;
  width:30px !important;
  height:30px !important;
  padding:0 !important;
  border:1px solid rgba(31,122,67,0.18) !important;
  background:rgba(255,255,255,0.92) !important;
  color:#145331 !important;
  box-shadow:0 10px 24px rgba(15,67,43,0.14) !important;
}
#login-box .login-info-btn:hover{
  background:#e8f5ec !important;
  box-shadow:0 14px 28px rgba(15,67,43,0.2) !important;
}
#login-box .login-info-btn svg{
  width:20px;
  height:20px;
}

/* Organic sidebar logo glow: soft irregular depth behind the transparent mark. */
#logo{
  position:relative !important;
  isolation:isolate;
}
#logo::before{
  content:"";
  position:absolute;
  z-index:0;
  left:50%;
  top:54%;
  width:170px;
  height:118px;
  transform:translate(-50%, -50%) rotate(-8deg);
  pointer-events:none;
  background:
    radial-gradient(closest-side at 34% 44%, rgba(210,244,181,0.34), rgba(210,244,181,0) 72%),
    radial-gradient(closest-side at 67% 38%, rgba(115,190,130,0.26), rgba(115,190,130,0) 70%),
    radial-gradient(closest-side at 50% 70%, rgba(7,28,20,0.42), rgba(7,28,20,0) 76%);
  filter:blur(14px);
  opacity:.95;
  border-radius:43% 57% 51% 49% / 46% 39% 61% 54%;
}
#logo::after{
  content:"";
  display:block !important;
  position:absolute;
  z-index:0;
  left:50%;
  top:55%;
  width:134px;
  height:84px;
  transform:translate(-48%, -48%) rotate(11deg);
  pointer-events:none;
  background:radial-gradient(closest-side, rgba(255,255,255,0.14), rgba(255,255,255,0));
  filter:blur(10px);
  border-radius:58% 42% 54% 46% / 41% 55% 45% 59%;
}
.sidebar-brand-logo{
  position:relative !important;
  z-index:1 !important;
  filter:drop-shadow(0 16px 24px rgba(0,0,0,0.22)) drop-shadow(0 3px 9px rgba(216,247,189,0.18)) !important;
}

/* Global non-blocking monitor for long-running server jobs. */
.background-job-monitor{
  position:fixed;
  right:18px;
  bottom:18px;
  width:min(380px, calc(100vw - 36px));
  z-index:9800;
  color:#123828;
  pointer-events:none;
}
.background-job-monitor.is-empty{
  display:none;
}
.background-job-header,
.background-job-card{
  pointer-events:auto;
  background:rgba(248, 252, 249, 0.96);
  border:1px solid #c8dece;
  box-shadow:0 18px 48px rgba(12, 33, 24, 0.22);
  backdrop-filter:blur(10px);
}
.background-job-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border-radius:10px 10px 0 0;
}
.background-job-header strong,
.background-job-title strong{
  display:block;
  font-size:13px;
  line-height:1.2;
}
.background-job-header span,
.background-job-title span,
.background-job-card small{
  display:block;
  color:#4f705e;
  font-size:11px;
}
.background-job-header button,
.background-job-actions button{
  border:0;
  border-radius:999px;
  background:#dff4e6;
  color:#0d4a32;
  font-weight:800;
  font-size:11px;
  padding:7px 10px;
  cursor:pointer;
}
.background-job-list{
  display:flex;
  flex-direction:column;
  gap:8px;
  max-height:52vh;
  overflow:auto;
  padding:8px 0 0;
}
.background-job-card{
  border-radius:10px;
  padding:12px;
}
.background-job-title{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.background-job-progress{
  height:8px;
  margin:10px 0 8px;
  border-radius:999px;
  overflow:hidden;
  background:#dceee3;
}
.background-job-progress span{
  display:block;
  height:100%;
  min-width:4px;
  border-radius:inherit;
  background:linear-gradient(90deg, #0f6a43, #8fd46d);
  transition:width 0.25s ease;
}
.background-job-card p{
  margin:0 0 4px;
  color:#173f2d;
  font-size:13px;
  line-height:1.35;
}
.background-job-actions{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:10px;
}
.background-job-failed .background-job-progress span,
.background-job-completed_with_errors .background-job-progress span,
.background-job-ready_with_errors .background-job-progress span{
  background:linear-gradient(90deg, #8e1f2b, #d76767);
}
.background-job-completed .background-job-progress span,
.background-job-ready .background-job-progress span{
  background:linear-gradient(90deg, #11613f, #9adf78);
}
.background-job-monitor.is-minimized .background-job-list{
  display:none;
}
.background-job-monitor.is-minimized .background-job-header{
  border-radius:10px;
}
@media (max-width:760px){
  .background-job-monitor{
    right:10px;
    bottom:10px;
    width:calc(100vw - 20px);
  }
}

/* Global notification stack: consistent user feedback without blocking navigation. */
.bims-notification-stack{
  position:fixed;
  right:18px;
  top:18px;
  z-index:9900;
  display:flex;
  flex-direction:column;
  gap:10px;
  width:min(360px, calc(100vw - 36px));
  pointer-events:none;
}
.bims-notification{
  pointer-events:auto;
  display:grid;
  grid-template-columns:34px minmax(0, 1fr) 28px;
  align-items:start;
  gap:10px;
  padding:12px;
  border-radius:12px;
  background:rgba(249, 253, 250, 0.97);
  border:1px solid #c8dece;
  box-shadow:0 18px 42px rgba(12, 33, 24, 0.20);
  color:#143827;
  backdrop-filter:blur(10px);
  animation:bims-notification-enter .18s ease-out;
}
.bims-notification.is-leaving{
  opacity:0;
  transform:translateY(-6px);
  transition:opacity .18s ease, transform .18s ease;
}
.bims-notification-icon{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#e2f4e8;
  color:#0d5b39;
  font-weight:900;
  box-shadow:inset 0 0 0 1px rgba(17,97,63,0.10);
}
.bims-notification-content strong{
  display:block;
  margin:0 0 3px;
  color:#0b3724;
  font-size:13px;
  line-height:1.25;
}
.bims-notification-content p{
  margin:0;
  color:#466b58;
  font-size:12px;
  line-height:1.35;
}
.bims-notification-close{
  width:28px;
  height:28px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:#54715f;
  cursor:pointer;
  font-size:18px;
  line-height:1;
}
.bims-notification-close:hover{
  background:#e8f4ed;
  color:#113d2a;
}
.bims-notification-success{
  border-color:#b8dcc4;
}
.bims-notification-success .bims-notification-icon{
  background:#dff4e6;
  color:#11613f;
}
.bims-notification-error{
  border-color:#efc6c6;
}
.bims-notification-error .bims-notification-icon{
  background:#fae3e3;
  color:#9f2430;
}
.bims-notification-warning{
  border-color:#ead9a8;
}
.bims-notification-warning .bims-notification-icon{
  background:#fff3ca;
  color:#7b5a06;
}
.bims-notification-info .bims-notification-icon{
  background:#e5f1ec;
  color:#155c3c;
}
.bims-notification-progress .bims-notification-icon{
  background:#edf7e8;
  color:#1c6842;
}
.bims-save-summary-modal p{
  margin:0 0 12px;
  color:#355b48;
  line-height:1.45;
}
.bims-save-summary-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
  margin:14px 0;
}
.bims-save-summary-grid article{
  padding:12px;
  border:1px solid #c8dece;
  border-radius:8px;
  background:#f4fbf6;
}
.bims-save-summary-grid span{
  display:block;
  color:#4f705e;
  font-size:12px;
  line-height:1.25;
}
.bims-save-summary-grid strong{
  display:block;
  margin-top:5px;
  color:#0b3d27;
  font-size:22px;
  line-height:1;
}
.bims-import-filter-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:12px 0;
  padding:10px 12px;
  border:1px solid #c8dece;
  border-radius:8px;
  background:#f4fbf6;
}
.bims-import-filter-summary{
  display:flex;
  align-items:baseline;
  gap:6px;
  color:#4f705e;
  font-size:12px;
}
.bims-import-filter-summary strong{
  color:#0b3d27;
  font-size:16px;
}
.bims-import-filter-actions{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.bims-import-filter-actions button{
  border:1px solid #c8dece;
  border-radius:999px;
  background:#ffffff;
  color:#1d5538;
  cursor:pointer;
  font-size:12px;
  font-weight:800;
  padding:7px 11px;
}
.bims-import-filter-actions button.active{
  background:#0f5b3c;
  border-color:#0f5b3c;
  color:#ffffff;
}
.bims-import-filter-actions button:hover{
  border-color:#0f5b3c;
}
.bims-import-filter-actions button:disabled{
  cursor:not-allowed;
  opacity:.45;
}
.bims-import-filter-actions button:disabled:hover{
  border-color:#c8dece;
}
.bims-disabled-explained{
  filter:saturate(.82);
  position:relative;
}
button.bims-disabled-explained:disabled,
.primary-btn.bims-disabled-explained[aria-disabled="true"],
.secondary-btn.bims-disabled-explained[aria-disabled="true"]{
  cursor:not-allowed;
}
button.bims-disabled-explained:disabled:hover,
.primary-btn.bims-disabled-explained[aria-disabled="true"]:hover,
.secondary-btn.bims-disabled-explained[aria-disabled="true"]:hover{
  box-shadow:none;
  transform:none;
}
.bims-confirm-overlay{
  align-items:center;
  background:rgba(3, 28, 20, .44);
  backdrop-filter:blur(5px);
  display:flex;
  inset:0;
  justify-content:center;
  padding:22px;
  position:fixed;
  z-index:10050;
}
.bims-confirm-card{
  background:linear-gradient(180deg, #ffffff 0%, #f5fbf7 100%);
  border:1px solid #c5dfce;
  border-radius:8px;
  box-shadow:0 26px 70px rgba(4, 35, 25, .26);
  color:#073b2d;
  max-width:520px;
  padding:22px;
  position:relative;
  width:min(520px, 100%);
}
.bims-confirm-card h2{
  color:#062d22;
  font-size:24px;
  line-height:1.15;
  margin:8px 0 10px;
}
.bims-confirm-card p{
  color:#244f3b;
  font-size:14px;
  line-height:1.55;
  margin:0;
}
.bims-confirm-kicker{
  background:#0a5638;
  border-radius:999px;
  color:#bff1c9;
  display:inline-flex;
  font-size:11px;
  font-weight:800;
  letter-spacing:0;
  padding:6px 12px;
  text-transform:uppercase;
}
.bims-confirm-details{
  background:#eef8f1;
  border:1px solid #c9e4d2;
  border-radius:8px;
  color:#164631;
  font-size:13px;
  line-height:1.45;
  margin-top:14px;
  padding:11px 12px;
}
.bims-confirm-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
  margin-top:18px;
}
.bims-confirm-x{
  align-items:center;
  background:#eef8f1;
  border:1px solid #c9e4d2;
  border-radius:999px;
  color:#0a5638;
  cursor:pointer;
  display:flex;
  font-size:20px;
  height:34px;
  justify-content:center;
  position:absolute;
  right:14px;
  top:14px;
  width:34px;
}
.bims-confirm-ok.is-danger{
  background:#b91c1c;
  border-color:#b91c1c;
}
.bims-draft-indicator{
  align-items:center;
  background:#edf8f1;
  border:1px solid #c9e4d2;
  border-radius:8px;
  color:#164631;
  display:none;
  gap:9px;
  margin:12px 0 14px;
  padding:9px 11px;
}
.bims-draft-indicator.is-visible{
  display:flex;
}
.bims-draft-dot{
  background:#1d8a4f;
  border-radius:999px;
  box-shadow:0 0 0 4px rgba(29, 138, 79, .12);
  flex:0 0 auto;
  height:8px;
  width:8px;
}
.bims-draft-text{
  flex:1 1 auto;
  font-size:12px;
  font-weight:700;
}
.bims-draft-indicator button{
  background:#ffffff;
  border:1px solid #b9d8c4;
  border-radius:999px;
  color:#0a5638;
  cursor:pointer;
  font-size:12px;
  font-weight:800;
  padding:6px 10px;
}
.bims-scroll-top{
  align-items:center;
  background:#0a5638;
  border:1px solid rgba(191, 241, 201, .38);
  border-radius:999px;
  bottom:22px;
  box-shadow:0 16px 42px rgba(4, 35, 25, .24);
  color:#ffffff;
  cursor:pointer;
  display:flex;
  gap:7px;
  opacity:0;
  padding:10px 13px;
  pointer-events:none;
  position:fixed;
  right:24px;
  transform:translateY(10px);
  transition:opacity .18s ease, transform .18s ease;
  z-index:9500;
}
.bims-scroll-top.is-visible{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
}
.bims-scroll-top svg{
  fill:none;
  height:17px;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-width:2.3;
  width:17px;
}
.bims-scroll-top span{
  font-size:12px;
  font-weight:900;
}
.bims-scroll-top:hover{
  background:#0f6b45;
}
.bims-activity-indicator{
  align-items:center;
  background:#fffdf0;
  border:1px solid #f4d27b;
  border-radius:999px;
  bottom:78px;
  box-shadow:0 16px 42px rgba(80, 55, 8, .18);
  color:#4d3708;
  cursor:pointer;
  display:flex;
  gap:10px;
  max-width:min(360px, calc(100vw - 34px));
  opacity:0;
  padding:9px 12px;
  pointer-events:none;
  position:fixed;
  right:24px;
  transform:translateY(10px);
  transition:opacity .18s ease, transform .18s ease;
  z-index:9501;
}
.bims-activity-indicator.is-visible{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
}
.bims-activity-pulse{
  background:#d97706;
  border-radius:999px;
  box-shadow:0 0 0 0 rgba(217, 119, 6, .35);
  flex:0 0 auto;
  height:11px;
  width:11px;
  animation:bims-activity-pulse 1.6s infinite;
}
.bims-activity-copy{
  display:flex;
  flex-direction:column;
  min-width:0;
  text-align:left;
}
.bims-activity-copy strong{
  font-size:12px;
  line-height:1.1;
}
.bims-activity-copy small{
  font-size:11px;
  line-height:1.25;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.primary-btn.is-busy,
.secondary-btn.is-busy,
button.is-busy{
  align-items:center;
  cursor:wait !important;
  display:inline-flex;
  gap:8px;
  justify-content:center;
  opacity:.82;
  pointer-events:none;
}
.bims-button-spinner{
  border:2px solid rgba(255, 255, 255, .45);
  border-top-color:#ffffff;
  border-radius:999px;
  display:inline-block;
  flex:0 0 auto;
  height:14px;
  width:14px;
  animation:bims-button-spin .78s linear infinite;
}
.secondary-btn .bims-button-spinner,
button.secondary-btn .bims-button-spinner{
  border-color:rgba(10, 86, 56, .24);
  border-top-color:#0a5638;
}
@keyframes bims-button-spin{
  to{transform:rotate(360deg);}
}
.bims-connection-banner{
  align-items:center;
  background:#ecfdf3;
  border:1px solid #bbf7d0;
  border-radius:999px;
  box-shadow:0 14px 34px rgba(4, 35, 25, .16);
  color:#14532d;
  display:flex;
  gap:9px;
  left:50%;
  opacity:0;
  padding:9px 13px;
  pointer-events:none;
  position:fixed;
  top:14px;
  transform:translate(-50%, -10px);
  transition:opacity .18s ease, transform .18s ease;
  z-index:10020;
}
.bims-connection-banner.is-offline,
.bims-connection-banner.is-online{
  opacity:1;
  transform:translate(-50%, 0);
}
.bims-connection-banner.is-offline{
  background:#fff7ed;
  border-color:#fdba74;
  color:#7c2d12;
}
.bims-connection-dot{
  background:#16a34a;
  border-radius:999px;
  flex:0 0 auto;
  height:9px;
  width:9px;
}
.bims-connection-banner.is-offline .bims-connection-dot{
  background:#ea580c;
  box-shadow:0 0 0 4px rgba(234, 88, 12, .14);
}
.bims-connection-text{
  font-size:12px;
  font-weight:800;
  line-height:1.2;
  white-space:nowrap;
}
.bims-copyable-cell{
  cursor:copy;
}
.bims-copied-cell{
  animation:bims-copy-flash .9s ease;
}
@keyframes bims-copy-flash{
  0%{box-shadow:inset 0 0 0 999px rgba(187, 247, 208, .58);}
  100%{box-shadow:inset 0 0 0 999px rgba(187, 247, 208, 0);}
}
@keyframes bims-activity-pulse{
  0%{box-shadow:0 0 0 0 rgba(217, 119, 6, .35);}
  70%{box-shadow:0 0 0 8px rgba(217, 119, 6, 0);}
  100%{box-shadow:0 0 0 0 rgba(217, 119, 6, 0);}
}
@keyframes bims-notification-enter{
  from{
    opacity:0;
    transform:translateY(-8px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}
@media (max-width:760px){
  .bims-notification-stack{
    right:10px;
    top:10px;
    width:calc(100vw - 20px);
  }
  .bims-save-summary-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .bims-import-filter-bar{
    align-items:flex-start;
    flex-direction:column;
  }
  .bims-scroll-top{
    bottom:14px;
    right:14px;
  }
  .bims-activity-indicator{
    bottom:62px;
    right:14px;
  }
}

