:root{--bg:#020817;--panel:#0b1426;--panel2:#101d34;--border:#203451;--text:#f0f4f1;--muted:#9aaac2;--green:#007bff;--red:#ff6b81;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px}button,input,select{font:inherit}button{cursor:pointer}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;padding:24px 16px;background:#0e110f;border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:10px;padding:0 10px 36px;font-size:20px;font-weight:850;letter-spacing:-.8px;color:var(--text);text-decoration:none}.brand-logo{width:34px;height:34px;object-fit:contain;border-radius:8px}.brand-fallback{display:grid;place-items:center;width:33px;height:33px;border-radius:10px;background:var(--green);color:#08150c}.brand span{color:var(--green)}.label,.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.5px;color:var(--green)}.label{padding:0 12px;color:#657168}nav{display:grid;gap:5px}nav button{padding:13px 12px;border:0;border-radius:9px;text-align:left;background:none;color:#aab4ad}nav button:hover,nav button.active{background:#1a2820;color:#eafbf0}nav button.active{box-shadow:inset 3px 0 var(--green)}.side-bottom{margin-top:auto;color:#d4ddd6;font-size:12px;line-height:1.7}.side-bottom small{color:var(--muted)}.pill,.tag{display:inline-flex;align-items:center;gap:6px;border:1px solid #334e3a;border-radius:99px;padding:6px 9px;background:#14231a;color:#a9efc0;font-size:10px;font-weight:800;white-space:nowrap}.side-bottom p{padding:12px 4px 0}main{margin-left:244px;padding:0 32px;min-height:100vh;display:flex;flex-direction:column}header{height:76px;display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--border);margin-bottom:32px}.crumb{flex:1;color:var(--muted);font-size:12px}.crumb strong{color:var(--text)}.menu{display:none}.page{display:none;animation:appear .16s ease}.page.active{display:block}@keyframes appear{from{opacity:.5;transform:translateY(3px)}to{opacity:1;transform:none}}h1{font-size:clamp(28px,3vw,36px);letter-spacing:-1.4px;margin:5px 0 8px}h2{font-size:16px;margin:0 0 6px}.muted,.panel>p,.panel-head p{color:var(--muted);line-height:1.55;margin:0}.eyebrow{margin:0 0 6px}.welcome,.heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.primary{border:1px solid transparent;background:var(--green);color:#07150b;font-weight:800;padding:11px 15px;border-radius:10px}.primary:hover{background:#7af0a4}.notice{display:flex;gap:12px;padding:15px;border:1px solid #294d35;background:#122018;border-radius:12px;margin:0 0 22px;color:#c8d8cd}.notice>b{display:grid;place-items:center;flex-shrink:0;width:22px;height:22px;border:1px solid #3b8053;border-radius:50%;color:var(--green)}.notice strong{font-size:12px}.notice p{font-size:12px;color:#a4b5a9;line-height:1.5;margin:4px 0 0}.notice.warn{background:#2b2112;border-color:#604820}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.stats article,.panel{background:var(--panel);border:1px solid var(--border);border-radius:15px;padding:18px;min-width:0}.stats small,.stats em{display:block;color:var(--muted);font-size:11px;font-style:normal}.stats strong{display:block;font-size:24px;letter-spacing:-.6px;margin:15px 0 7px}.stats em{color:var(--green)}.columns{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:16px}.panel{margin-bottom:20px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.panel-head p,.panel>p{font-size:11px}.link{border:0;background:none;color:var(--green);font-size:12px;font-weight:700}.activity>div{display:flex;align-items:center;gap:10px;border-top:1px solid #222a24;padding:14px 0}.activity p{flex:1;margin:0;min-width:0}.activity strong,.activity small{display:block}.activity strong{font-size:12px}.activity small{font-size:10px;color:var(--muted);margin-top:4px}.round{width:30px;height:30px;display:grid;place-items:center;background:#173623;color:var(--green);border-radius:9px}.round.red{background:#351c1d;color:var(--red)}.tag{background:#202621;border-color:#39423b;color:#bac3bd;font-weight:600}.green-tag{color:var(--green);background:#14271b;border-color:#2d5037}.quick{margin-top:12px}.quick button{width:100%;display:flex;align-items:center;gap:12px;padding:15px 0;border:0;border-top:1px solid #222a24;background:none;color:var(--green);text-align:left}.quick button span{flex:1;color:var(--text)}.quick strong,.quick small{display:block}.quick strong{font-size:12px}.quick small{font-size:10px;color:var(--muted);margin-top:4px}.filters{display:flex;gap:10px;margin-bottom:20px}.filters input,.filters select{min-width:0;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:12px}.filters input{flex:1}.filters select{min-width:145px}.number-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.number-card{background:var(--panel);border:1px solid var(--border);border-radius:15px;padding:18px;display:flex;flex-direction:column;gap:15px}.number-top{display:flex;align-items:center;gap:10px}.flag{width:38px;height:38px;border-radius:11px;background:#202b23;display:grid;place-items:center;font-size:21px}.number-top strong,.number-top small{display:block}.number-top strong{font-size:13px}.number-top small{font-size:10px;color:var(--muted);margin-top:4px}.phone{font-size:19px;font-weight:800}.caps{display:flex;gap:6px;flex-wrap:wrap}.cap{padding:5px 7px;border-radius:6px;border:1px solid #303a33;background:#202722;color:#bac7bd;font-size:10px}.number-bottom{display:flex;align-items:end;justify-content:space-between;border-top:1px solid var(--border);padding-top:14px}.number-price strong,.number-price small{display:block}.number-price strong{font-size:17px}.number-price small{font-size:10px;color:var(--muted)}.outline{background:transparent;color:var(--green);border:1px solid #3a704b;border-radius:9px;padding:9px 11px;font-size:11px;font-weight:750}.fine{font-size:11px;color:var(--muted);margin-top:18px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap;margin-top:12px}th,td{padding:14px 12px;border-bottom:1px solid var(--border)}th{font-size:10px;color:#7f8b82;letter-spacing:.8px;text-transform:uppercase;background:#171b18}td{font-size:12px;color:#c8d0ca}td strong{color:var(--text)}.wallet{padding:24px;border:1px solid #2d5b3b;border-radius:16px;background:linear-gradient(120deg,#163522,#102017);margin-bottom:22px}.wallet small{color:#a8c4b0;font-size:10px;letter-spacing:1px}.wallet strong{display:block;font-size:32px;margin:10px 0}.wallet p{margin:0;color:#9ab2a1;font-size:11px}.inbox-row{display:flex;gap:13px;padding:16px 0;border-bottom:1px solid var(--border)}.inbox-row:last-child{border:0}.inbox-row b{width:36px;height:36px;display:grid;place-items:center;background:#1e2d22;border-radius:10px;color:var(--green)}.inbox-row div{flex:1}.inbox-row p{font-size:12px;line-height:1.5;color:#bac4bd}.inbox-row small{font-size:10px;color:var(--muted)}.checklist li{padding:12px 0;border-bottom:1px solid var(--border);font-size:12px;color:#c2ccc5}footer{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--border);padding:22px 0;margin-top:auto;color:#68746b;font-size:10px}footer b{color:var(--green)}#toast{position:fixed;bottom:20px;right:20px;background:#1c2920;border:1px solid #3a6547;color:#dcf9e5;padding:13px 17px;border-radius:10px;opacity:0;pointer-events:none;transition:.2s;z-index:10}#toast.show{opacity:1}dialog{width:min(430px,calc(100% - 28px));background:var(--panel);border:1px solid var(--border);border-radius:18px;color:var(--text);padding:24px}dialog::backdrop{background:#000b;backdrop-filter:blur(4px)}dialog form{position:relative}dialog h2{font-size:22px;margin:8px 0}dialog .primary{width:100%;margin-top:10px}.close{position:absolute;right:0;top:-10px;background:none;border:0;color:var(--muted);font-size:25px}
@media(max-width:1180px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.columns{grid-template-columns:1fr}.number-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:transform .2s;box-shadow:15px 0 40px #0006}.sidebar.open{transform:translateX(0)}main{margin-left:0;padding:0 17px}header{height:64px;margin-bottom:24px}.menu{display:block;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px}.welcome,.heading{align-items:flex-start;flex-direction:column}.welcome .primary,.heading .primary{width:100%}.stats{gap:9px}.stats article{padding:13px}.stats strong{font-size:21px}.filters{flex-wrap:wrap}.filters input{flex-basis:100%}.filters select{flex:1;min-width:0}.number-grid{grid-template-columns:1fr}.activity>div{gap:8px}.activity .tag{display:none}.wallet strong{font-size:28px}footer{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

.contact-panel{grid-column:1/-1}.contact-buttons{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}.contact-buttons button{min-width:88px}

/* EFALIX LTD logo — dashboard header */
.brand-logo {
  display: block;
  width: 36px;
  height: 36px;
  min-width: 36px;
  object-fit: contain;
  border-radius: 8px;
  flex: 0 0 36px;
}

/* EfalixHub logo visibility fix */
.brand {
  display: flex;
  align-items: center;
  gap: 10px;
}

.brand-logo {
  display: block;
  width: 36px;
  height: 36px;
  min-width: 36px;
  object-fit: contain;
  opacity: 1;
  visibility: visible;
}

.brand-fallback {
  display: none;
}

/* Firebase authentication panel */
.auth-panel {
  display: none;
  min-height: 100vh;
  padding: 28px 18px;
  align-items: center;
  justify-content: center;
  background: #0b0d0c;
}
.auth-panel.visible {
  display: flex;
}
.auth-card {
  width: min(100%, 440px);
  padding: 30px;
  border: 1px solid #29332d;
  border-radius: 18px;
  background: #111613;
  box-shadow: 0 20px 70px rgba(0,0,0,.28);
}
.auth-card h1 {
  margin: 8px 0;
}
.auth-card form {
  display: grid;
  gap: 10px;
  margin: 24px 0 12px;
}
.auth-card label {
  color: #d8e2da;
  font-size: .9rem;
}
.auth-card input {
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  color: #f5fff7;
  background: #0b0d0c;
  border: 1px solid #35443a;
  border-radius: 9px;
}
.auth-card button {
  width: 100%;
  margin-top: 8px;
}
#authStatus {
  overflow-wrap: anywhere;
}

/* Show only the sign-in panel until Firebase confirms a session */
body.auth-required > aside,
body.auth-required > main,
body.auth-required > dialog,
body.auth-required > #toast {
  display: none !important;
}
#accountSignOut {
  margin-left: auto;
}

/* EfalixHub responsive polish */
html {
  min-width: 320px;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  min-width: 320px;
  line-height: 1.5;
  overflow-wrap: break-word;
}

button,
input,
select {
  min-height: 42px;
}

button {
  -webkit-tap-highlight-color: transparent;
}

button:focus-visible,
input:focus-visible,
select:focus-visible {
  outline: 2px solid var(--green);
  outline-offset: 3px;
}

.stats article,
.panel,
.number-card {
  min-width: 0;
  overflow-wrap: anywhere;
}

.stats article {
  transition: border-color .18s ease, transform .18s ease;
}

.stats article:hover,
.number-card:hover {
  border-color: #3b5944;
}

.number-card .outline,
.number-card .primary {
  min-height: 42px;
}

.table-wrap {
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
}

img {
  max-width: 100%;
}

@media (min-width: 761px) and (max-width: 1024px) {
  main {
    padding-right: 22px;
    padding-left: 22px;
  }

  .sidebar {
    width: 215px;
  }

  main {
    margin-left: 215px;
  }

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

@media (max-width: 760px) {
  main {
    width: 100%;
    padding: 0 16px;
  }

  header {
    position: sticky;
    top: 0;
    z-index: 4;
    background: var(--bg);
    gap: 10px;
    margin-bottom: 22px;
  }

  .crumb {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .menu {
    flex-shrink: 0;
    min-width: 44px;
    min-height: 44px;
  }

  .welcome,
  .heading {
    gap: 14px;
    margin-bottom: 20px;
  }

  h1 {
    font-size: clamp(25px, 7vw, 32px);
    letter-spacing: -1px;
    overflow-wrap: anywhere;
  }

  .stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .stats article {
    padding: 14px 12px;
    border-radius: 12px;
  }

  .stats strong {
    font-size: clamp(19px, 5vw, 23px);
    overflow-wrap: anywhere;
  }

  .panel,
  .number-card {
    padding: 15px;
    border-radius: 13px;
  }

  .columns {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }

  .filters {
    gap: 8px;
  }

  .filters input,
  .filters select {
    min-height: 46px;
    font-size: 16px;
  }

  .number-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }

  .number-bottom {
    gap: 10px;
    align-items: center;
  }

  .number-bottom > * {
    min-width: 0;
  }

  .wallet {
    padding: 20px;
  }

  .activity > div {
    min-width: 0;
  }

  .activity p {
    overflow-wrap: anywhere;
  }

  .contact-buttons button {
    min-height: 44px;
    flex: 1 1 auto;
  }

  footer {
    flex-wrap: wrap;
    line-height: 1.7;
    padding-bottom: 28px;
  }

  .auth-card {
    padding: 24px 20px;
  }

  .auth-panel {
    padding: 20px 14px;
  }

  .auth-card input,
  .auth-card button {
    min-height: 46px;
    font-size: 16px;
  }

  dialog {
    max-height: 85dvh;
    overflow-y: auto;
  }
}

@media (max-width: 380px) {
  main {
    padding-right: 12px;
    padding-left: 12px;
  }

  .stats {
    gap: 8px;
  }

  .stats article {
    padding: 12px 9px;
  }

  .stats small {
    font-size: 10px;
  }

  .panel,
  .number-card {
    padding: 13px;
  }

  .wallet {
    padding: 17px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

/* Mobile header refinement */
@media (max-width: 760px) {
  header {
    flex-wrap: wrap;
    height: auto;
    min-height: 64px;
    padding: 8px 0;
    row-gap: 8px;
  }

  .crumb {
    flex: 1 1 120px;
  }

  header .pill,
  header .tag {
    max-width: 100%;
  }

  header button {
    flex-shrink: 0;
  }
}


/* EfalixHub approved navy-blue-cyan theme */
:root {
  --cyan: #00cfff;
}

.brand span,
.label,
.eyebrow,
.link {
  color: var(--cyan);
}

nav button:hover,
nav button.active {
  background: #101d34;
  color: #ffffff;
}

nav button.active {
  box-shadow: inset 3px 0 #007bff;
}

.primary {
  background: #007bff;
  color: #ffffff;
}

.primary:hover {
  background: #168cff;
}

.outline {
  color: #61cfff;
  border-color: #245b91;
}

.notice {
  background: #0b1c33;
  border-color: #1e4772;
}

.wallet {
  background: linear-gradient(120deg, #102d55, #0b1426);
  border-color: #1f5da1;
}

.auth-panel {
  background: #020817;
}

.auth-card {
  background: #0b1426;
  border-color: #203451;
}

.auth-card input {
  background: #020817;
  border-color: #294466;
}

button:focus-visible,
input:focus-visible,
select:focus-visible {
  outline-color: #00cfff;
}

@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }
}
