:root {
  --bg: #f4f6f4;
  --paper: #fff;
  --ink: #162d2b;
  --muted: #7c8987;
  --line: #e7ece8;
  --green: #173f37;
  --lime: #d5ee8c;
  --red: #c35150;
  --shadow: 0 8px 35px #173f3706;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font:
    14px "Segoe UI",
    Tahoma,
    Arial,
    sans-serif;
}
button,
input,
select,
textarea {
  font: inherit;
}
button,
a {
  -webkit-tap-highlight-color: transparent;
}
button {
  cursor: pointer;
  border: 0;
  background: none;
  color: inherit;
}
a {
  color: inherit;
  text-decoration: none;
}
svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
  stroke-width: 1.7;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex-shrink: 0;
}
.layout {
  display: flex;
  min-height: 100vh;
}
.sidebar {
  width: 238px;
  background: #fff;
  border-left: 1px solid var(--line);
  padding: 32px 22px 20px;
  position: fixed;
  right: 0;
  top: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  z-index: 10;
}
.brand {
  display: flex;
  align-items: center;
  gap: 11px;
  direction: ltr;
  justify-content: flex-end;
  margin: 2px 9px 38px;
}
.brand b {
  font-size: 29px;
  letter-spacing: 3px;
  font-weight: 850;
}
.brand-mark {
  background: var(--green);
  border-radius: 12px;
  color: var(--lime);
  width: 41px;
  height: 44px;
  display: grid;
  place-items: center;
  font-size: 30px;
  font-weight: 900;
}
.nav-label {
  font-size: 10px;
  color: #9aa39e;
  margin: 15px 14px 13px;
  letter-spacing: 1px;
}
.nav {
  display: grid;
  gap: 5px;
}
.nav button {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
  text-align: right;
  padding: 12px 14px;
  border-radius: 9px;
  color: #70817a;
  font-weight: 600;
  font-size: 13px;
}
.nav button:hover {
  background: #f6f8f4;
}
.nav button.active {
  background: var(--green);
  color: #fff;
}
.nav button.active svg {
  color: var(--lime);
}
.nav .count {
  margin-right: auto;
  background: #e9f1dd;
  color: #466140;
  font-size: 10px;
  padding: 3px 6px;
  border-radius: 5px;
}
.sidebar-footer {
  margin-top: auto;
  border-top: 1px solid var(--line);
  padding-top: 20px;
}
.profile {
  display: flex;
  align-items: center;
  gap: 10px;
}
.avatar {
  border-radius: 50%;
  background: #eaf0e5;
  color: #49654a;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  font-weight: 700;
}
.profile strong {
  display: block;
  font-size: 12px;
}
.profile small {
  font-size: 10px;
  color: var(--muted);
}
.logout {
  margin-right: auto;
}
.main {
  margin-right: 238px;
  flex: 1;
  min-width: 0;
}
.topbar {
  height: 81px;
  background: #fff;
  border-bottom: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 38px;
  gap: 20px;
}
.crumb {
  color: var(--muted);
  font-size: 12px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.crumb strong {
  color: var(--ink);
  font-weight: 500;
}
.top-actions {
  display: flex;
  align-items: center;
  gap: 18px;
}
.top-search {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #99a59e;
  font-size: 12px;
}
.top-search input {
  border: 0;
  outline: none;
  width: 190px;
  font-size: 12px;
}
.round {
  border: 1px solid var(--line);
  border-radius: 50%;
  height: 34px;
  width: 34px;
  display: grid;
  place-items: center;
}
.content {
  max-width: 1700px;
  margin: auto;
  padding: 32px 38px 40px;
}
.page-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 26px;
  gap: 15px;
}
.eyebrow {
  font-size: 11px;
  color: #88968b;
  margin: 0 0 8px;
  display: flex;
  align-items: center;
  gap: 7px;
}
.dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #7ba35c;
  display: inline-block;
}
.page-head h1 {
  font-size: 27px;
  letter-spacing: -0.7px;
  margin: 0 0 8px;
  font-weight: 700;
}
.page-head p {
  color: var(--muted);
  font-size: 12px;
  margin: 0;
  line-height: 1.8;
}
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: var(--green);
  color: white;
  border: 1px solid var(--green);
  border-radius: 8px;
  padding: 10px 16px;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}
.btn svg {
  width: 17px;
  height: 17px;
}
.btn.secondary {
  background: white;
  color: var(--ink);
  border-color: var(--line);
}
.btn.danger {
  background: #fff2f0;
  color: var(--red);
  border-color: #f4dedb;
}
.btn.lime {
  background: var(--lime);
  color: #203a2a;
  border-color: var(--lime);
}
.btn:disabled {
  opacity: 0.5;
  cursor: wait;
}
.toolbar {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}
.welcome {
  background: var(--green);
  border-radius: 14px;
  padding: 26px 30px;
  color: white;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 23px;
  overflow: hidden;
  position: relative;
  min-height: 145px;
}
.welcome h2 {
  font-size: 22px;
  margin: 0 0 10px;
  font-weight: 600;
}
.welcome p {
  color: #c0d0bd;
  line-height: 1.9;
  font-size: 12px;
  max-width: 420px;
  margin: 0 0 15px;
}
.welcome .welcome-art {
  display: flex;
  align-items: center;
  gap: 25px;
  margin-left: 30px;
  direction: ltr;
}
.orbit {
  width: 104px;
  height: 104px;
  border: 1px solid #ffffff25;
  border-radius: 50%;
  display: grid;
  place-items: center;
  position: relative;
}
.orbit:before {
  content: "";
  position: absolute;
  inset: -17px;
  border: 1px dashed #ffffff25;
  border-radius: 50%;
}
.orbit span {
  color: var(--lime);
  font-size: 62px;
  transform: rotate(-10deg);
}
.welcome-number {
  border-right: 1px solid #ffffff26;
  padding-right: 24px;
  text-align: right;
}
.welcome-number b {
  display: block;
  font:
    600 38px "Segoe UI",
    sans-serif;
  color: var(--lime);
  margin-bottom: 8px;
}
.welcome-number small {
  color: #c0d0bd;
}
.stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 17px;
  margin-bottom: 25px;
}
.stat {
  border: 1px solid var(--line);
  background: white;
  border-radius: 12px;
  padding: 21px 22px;
  box-shadow: var(--shadow);
}
.stat-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 12px;
  color: #7c8c82;
}
.stat-icon {
  width: 33px;
  height: 33px;
  border-radius: 9px;
  background: #f1f5ed;
  color: #6a805e;
  display: grid;
  place-items: center;
}
.stat-icon svg {
  width: 17px;
}
.stat-value {
  font-size: 28px;
  font-weight: 700;
  margin: 13px 0 10px;
  letter-spacing: -1px;
  direction: ltr;
  text-align: right;
}
.stat-value small {
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0;
  margin-left: 7px;
  color: #88958b;
}
.stat-bottom {
  font-size: 10px;
  color: #929c96;
  display: flex;
  gap: 6px;
  align-items: center;
}
.stat-bottom em {
  font-style: normal;
  color: #6e8852;
  background: #f0f5e9;
  padding: 3px 6px;
  border-radius: 4px;
}
.split {
  display: grid;
  grid-template-columns: 1.7fr 1fr;
  gap: 20px;
  margin-bottom: 24px;
}
.card {
  background: white;
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: var(--shadow);
  overflow: hidden;
}
.card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 23px;
  gap: 10px;
}
.card-head h3 {
  font-size: 14px;
  margin: 0 0 6px;
  font-weight: 650;
}
.card-head small {
  color: var(--muted);
  font-size: 10px;
}
.link-btn {
  color: #65834c;
  font-size: 11px;
  display: flex;
  align-items: center;
  gap: 5px;
}
.link-btn svg {
  width: 13px;
}
.chart {
  display: flex;
  align-items: flex-end;
  height: 150px;
  gap: 18px;
  padding: 0 28px 24px;
  direction: ltr;
  border-bottom: 1px solid var(--line);
}
.bar-col {
  height: 100%;
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: flex-end;
  flex-direction: column;
  gap: 10px;
  color: #89978c;
  font-size: 10px;
}
.bar {
  width: 100%;
  max-width: 70px;
  background: #e4edda;
  border-radius: 6px 6px 2px 2px;
  min-height: 3px;
}
.bar-col:last-child .bar {
  background: var(--green);
}
.chart-bottom {
  display: flex;
  justify-content: space-between;
  padding: 15px 25px;
  color: #89958d;
  font-size: 10px;
}
.chart-bottom strong {
  color: var(--green);
}
.overview-body {
  padding: 4px 24px 21px;
}
.progress-row {
  margin: 13px 0 17px;
}
.progress-label {
  display: flex;
  justify-content: space-between;
  font-size: 11px;
  margin-bottom: 9px;
}
.track {
  height: 6px;
  border-radius: 10px;
  background: #eff3ec;
  overflow: hidden;
}
.fill {
  height: 100%;
  background: #d2e7b0;
  border-radius: 10px;
}
.fill.dark {
  background: #315a49;
}
.fill.red {
  background: #d9958a;
}
.mini-note {
  border: 1px dashed #dce6d5;
  border-radius: 7px;
  padding: 12px;
  display: flex;
  gap: 10px;
  font-size: 10px;
  color: #8b978c;
  line-height: 1.8;
}
.mini-note svg {
  width: 17px;
  color: #78965a;
}
.table-wrap {
  overflow: auto;
}
table {
  width: 100%;
  border-collapse: collapse;
  text-align: right;
  white-space: nowrap;
}
th {
  background: #f9faf7;
  color: #97a098;
  font-size: 10px;
  font-weight: 600;
  padding: 14px 20px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
td {
  padding: 16px 20px;
  border-bottom: 1px solid #f0f3ed;
  font-size: 12px;
}
tr:last-child td {
  border-bottom: 0;
}
tr:hover td {
  background: #fcfdfb;
}
.person {
  display: flex;
  gap: 9px;
  align-items: center;
}
.person .avatar {
  width: 31px;
  height: 31px;
  font-size: 11px;
  border-radius: 9px;
}
.person small {
  display: block;
  margin-top: 4px;
  color: #a0a9a1;
  font-size: 10px;
}
.badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 9px;
  border-radius: 5px;
  font-size: 10px;
  background: #f0f4e7;
  color: #789253;
}
.badge.completed,
.badge.approved {
  background: #edf5e7;
  color: #638849;
}
.badge.cancelled,
.badge.rejected {
  background: #fcf0ed;
  color: #ba7465;
}
.badge.pending {
  background: #fff5df;
  color: #ac8b42;
}
.badge.muted {
  background: #eef1f2;
  color: #788b8c;
}
.amount {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  direction: ltr;
  display: inline-block;
}
.negative {
  color: #bd685d;
}
.positive {
  color: #557d49;
}
.mono {
  font-size: 10px;
  color: #9aa79e;
  direction: ltr;
  display: inline-block;
  font-family: monospace;
}
.table-footer {
  border-top: 1px solid var(--line);
  padding: 14px 21px;
  display: flex;
  justify-content: space-between;
  color: #929d94;
  font-size: 10px;
  align-items: center;
}
.table-footer button {
  padding: 7px 10px;
  border: 1px solid var(--line);
  border-radius: 5px;
}
.filter-bar {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 17px 21px;
  border-bottom: 1px solid var(--line);
  flex-wrap: wrap;
}
.field {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin-bottom: 16px;
  font-size: 12px;
}
.field input,
.field select,
.field textarea,
.filter-bar input,
.filter-bar select {
  border: 1px solid #e2e8df;
  border-radius: 7px;
  padding: 10px 12px;
  color: var(--ink);
  background: #fff;
  outline: none;
  min-width: 0;
}
.field input:focus,
.field textarea:focus,
.filter-bar input:focus {
  border-color: #85a768;
  box-shadow: 0 0 0 3px #85a76818;
}
.field textarea {
  min-height: 100px;
  resize: vertical;
}
.filter-bar input[type="search"] {
  flex: 1;
  min-width: 160px;
}
.filter-bar select {
  font-size: 11px;
}
.empty {
  padding: 55px 25px;
  text-align: center;
  color: #8c998e;
  line-height: 2;
}
.empty svg {
  display: block;
  width: 35px;
  height: 35px;
  margin: 0 auto 14px;
  color: #a7bb98;
}
.empty b {
  display: block;
  color: #4c6450;
  font-size: 15px;
}
.empty p {
  font-size: 12px;
}
.note {
  background: #f0f4e9;
  border: 1px solid #e2ead8;
  border-radius: 9px;
  padding: 15px 18px;
  color: #68795c;
  font-size: 12px;
  line-height: 1.9;
  margin-bottom: 20px;
}
.note.warning {
  background: #fff6e7;
  border-color: #f1e5ca;
  color: #927338;
}
.settings-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.padded {
  padding: 24px;
}
.padded h3 {
  margin-top: 0;
}
.kpi-row {
  display: flex;
  justify-content: space-between;
  padding: 15px 0;
  border-bottom: 1px solid var(--line);
  font-size: 12px;
}
.error {
  background: #fff0ee;
  color: #ac6055;
  border-radius: 8px;
  padding: 15px;
  line-height: 1.8;
}
.footer {
  text-align: center;
  color: #a4ada5;
  font-size: 10px;
  margin-top: 30px;
  letter-spacing: 0.2px;
}
.footer strong {
  color: #71856b;
}
dialog {
  border: 1px solid var(--line);
  border-radius: 15px;
  width: min(620px, calc(100vw - 30px));
  padding: 0;
  box-shadow: 0 25px 80px #173f3720;
  color: var(--ink);
}
dialog::backdrop {
  background: #122a2555;
  backdrop-filter: blur(3px);
}
.modal-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid var(--line);
  padding: 21px 25px;
}
.modal-head h2 {
  font-size: 18px;
  margin: 0;
}
.modal-body {
  padding: 25px;
  max-height: 72vh;
  overflow: auto;
}
.modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 20px;
}
.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 15px;
}
.form-grid .wide {
  grid-column: 1/-1;
}
.check {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  margin: 13px 0;
}
.proof-image {
  max-width: 100%;
  max-height: 55vh;
  object-fit: contain;
}
.qr {
  width: 230px;
  height: 230px;
  display: block;
  margin: 15px auto;
}
.login {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.login-art {
  background: var(--green);
  padding: 70px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: white;
}
.login-art h1 {
  font-size: 48px;
  line-height: 1.4;
  max-width: 420px;
}
.login-art p {
  color: #b7cbb3;
  line-height: 2;
  max-width: 340px;
}
.login-art .brand {
  justify-content: flex-start;
  align-self: flex-end;
}
.login-form {
  align-self: center;
  width: min(370px, 90%);
  margin: auto;
}
.login-form h2 {
  font-size: 27px;
}
.login-form p {
  color: var(--muted);
  line-height: 1.8;
  font-size: 12px;
}
.login-form .btn {
  width: 100%;
  margin-top: 10px;
}
.login-foot {
  margin-top: 25px !important;
  font-size: 10px !important;
}
#toast {
  position: fixed;
  bottom: 25px;
  left: 30px;
  background: var(--green);
  color: white;
  border-radius: 9px;
  padding: 15px 25px;
  box-shadow: 0 10px 30px #0002;
  z-index: 100;
  display: none;
  max-width: 85vw;
  line-height: 1.8;
}
.mobile-menu {
  display: none;
}
.actions-cell {
  display: flex;
  gap: 6px;
}
.tiny {
  font-size: 10px;
  padding: 6px 9px;
}
.body-cell {
  max-width: 270px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.loading {
  padding: 90px;
  text-align: center;
  color: #94a28d;
}
@media (min-width: 1550px) {
  .content {
    padding: 38px 55px;
  }
  .stat {
    padding: 25px;
  }
  .welcome {
    min-height: 160px;
  }
}
@media (max-width: 1150px) {
  .sidebar {
    width: 205px;
    padding: 25px 15px;
  }
  .main {
    margin-right: 205px;
  }
  .content {
    padding: 25px;
  }
  .topbar {
    padding: 0 25px;
  }
  .stat {
    padding: 16px;
  }
  .stat-value {
    font-size: 24px;
  }
  .welcome .welcome-art {
    margin-left: 0;
    gap: 15px;
  }
  .orbit {
    width: 80px;
    height: 80px;
  }
}
@media (max-width: 900px) {
  .sidebar {
    width: 76px;
    padding: 25px 10px;
  }
  .brand b,
  .nav-label,
  .nav button span,
  .profile div:not(.avatar),
  .logout {
    display: none;
  }
  .brand {
    margin: 0 0 30px;
    justify-content: center;
  }
  .nav button {
    justify-content: center;
    padding: 14px 0;
  }
  .sidebar-footer .profile {
    justify-content: center;
  }
  .main {
    margin-right: 76px;
  }
  .stats {
    grid-template-columns: repeat(2, 1fr);
  }
  .top-search {
    display: none;
  }
  .split {
    grid-template-columns: 1fr;
  }
  .welcome-number {
    display: none;
  }
  .settings-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 600px) {
  .main {
    margin-right: 0;
  }
  .sidebar {
    display: none;
    width: 230px;
  }
  .sidebar.open {
    display: flex;
    box-shadow: -20px 0 70px #0003;
  }
  .sidebar.open .brand b,
  .sidebar.open .nav button span,
  .sidebar.open .nav-label,
  .sidebar.open .profile div {
    display: block;
  }
  .sidebar.open .nav button {
    justify-content: flex-start;
    padding: 12px;
  }
  .mobile-menu {
    display: grid;
  }
  .content {
    padding: 23px 16px;
  }
  .topbar {
    height: 65px;
    padding: 0 16px;
  }
  .top-actions {
    gap: 8px;
  }
  .page-head h1 {
    font-size: 23px;
  }
  .page-head {
    align-items: flex-start;
  }
  .page-head .btn {
    padding: 9px;
    font-size: 10px;
  }
  .page-head .toolbar {
    flex-direction: column;
  }
  .welcome {
    padding: 23px;
  }
  .welcome h2 {
    font-size: 19px;
  }
  .welcome .welcome-art {
    display: none;
  }
  .stat {
    padding: 15px;
  }
  .stat-value {
    font-size: 23px;
  }
  .stats {
    gap: 10px;
  }
  .stat-top {
    font-size: 11px;
  }
  .stat-bottom {
    font-size: 9px;
  }
  .login {
    grid-template-columns: 1fr;
  }
  .login-art {
    display: none;
  }
  .form-grid {
    grid-template-columns: 1fr;
  }
  .form-grid .wide {
    grid-column: auto;
  }
  .crumb {
    font-size: 10px;
  }
  .filter-bar {
    padding: 13px;
  }
  .filter-bar input[type="date"] {
    max-width: 135px;
  }
  .card-head {
    padding: 17px;
  }
  .chart {
    gap: 10px;
  }
  .login-form {
    padding: 40px 0;
  }
}


/* ===== BLINK captain account portal (only when role === captain) ===== */
.blink-captain-portal { min-height:100vh;position:relative;isolation:isolate;overflow-x:hidden;color:#fff;background:#050505;font-family:Tahoma,Arial,sans-serif;padding:18px 10px 30px; }
.blink-captain-portal .blink-captain-sky {position:fixed;z-index:-4;inset:0;pointer-events:none;background:radial-gradient(circle at 50% -10%,rgba(246,180,0,.28),transparent 28%),radial-gradient(circle at 88% 15%,rgba(33,215,255,.16),transparent 32%),linear-gradient(145deg,#050505,#090b11 48%,#120800)}
.blink-captain-portal .blink-captain-grid {position:fixed;z-index:-3;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.032) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.032) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.95),transparent 86%);animation:bcGrid 18s linear infinite}
.blink-captain-portal .blink-captain-city {position:fixed;z-index:-2;left:0;right:0;bottom:0;height:42%;pointer-events:none;background:linear-gradient(to top,rgba(0,0,0,.92),rgba(0,0,0,.2),transparent),repeating-linear-gradient(90deg,transparent 0 18px,rgba(246,180,0,.1) 19px 22px,transparent 23px 46px);clip-path:polygon(0 55%,5% 42%,10% 56%,15% 24%,21% 46%,27% 36%,34% 58%,39% 22%,45% 50%,52% 30%,58% 62%,63% 18%,70% 45%,76% 35%,82% 57%,88% 24%,94% 46%,100% 32%,100% 100%,0 100%);opacity:.78}
@keyframes bcGrid {to{transform:translateY(46px)}}
.blink-captain-portal .blink-captain-wrap{width:100%;max-width:440px;margin:auto;position:relative;z-index:2}
.blink-captain-portal .blink-captain-header{text-align:center;margin-bottom:16px}
.blink-captain-portal .blink-captain-logo{display:flex;justify-content:center;align-items:center;gap:13px;direction:ltr}
.blink-captain-portal .blink-captain-logo strong{font-size:42px;letter-spacing:2px;font-weight:900;text-shadow:0 0 18px #fff4,0 0 34px #f6b40066}
.blink-captain-portal .blink-captain-logo strong span{color:#f6b400}
.blink-captain-portal .blink-captain-wing{display:grid;gap:5px;transform:skewX(-18deg)}
.blink-captain-portal .blink-captain-wing i{display:block;height:7px;width:55px;background:linear-gradient(90deg,#ffe08a,#f6b400,#ff7a00);border-radius:99px;box-shadow:0 0 18px #f6b40077}
.blink-captain-portal .blink-captain-wing i:nth-child(2){width:42px}.blink-captain-portal .blink-captain-wing i:nth-child(3){width:30px}
.blink-captain-portal .blink-captain-header p{color:#ccc;font-weight:800;margin:5px 0}
.blink-captain-portal .blink-captain-glass{background:linear-gradient(180deg,rgba(18,18,22,.90),rgba(9,10,13,.90));border:1px solid rgba(246,180,0,.34);border-radius:30px;padding:18px;box-shadow:0 28px 70px #000b,0 0 55px #f6b40022;backdrop-filter:blur(18px);animation:bcFade .5s ease}
@keyframes bcFade{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}
.blink-captain-portal .blink-captain-sectiontop{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.blink-captain-portal .blink-captain-online{display:inline-block;background:#f6b40024;border:1px solid #f6b40088;color:#ffd456;border-radius:30px;padding:5px 13px;font-size:12px;font-weight:900}
.blink-captain-portal .blink-captain-sectiontop h2{color:#fff;text-align:right;margin:10px 0 5px;font-size:25px}.blink-captain-portal .blink-captain-sectiontop p{font-size:12px;line-height:1.7;color:#aaa;margin:0}
.blink-captain-portal .blink-captain-profile-icon,.blink-captain-portal .blink-captain-bolt{display:grid;place-items:center;flex-shrink:0;background:linear-gradient(135deg,#ffe08a,#f6b400,#ff7a00);border-radius:18px;color:#050505;font-size:32px;font-weight:900;width:55px;height:55px;box-shadow:0 0 30px #f6b40077}
.blink-captain-portal .blink-captain-hero{height:238px;position:relative;overflow:hidden;border-radius:26px;margin:16px 0 19px;border:1px solid #f6b40055;background:linear-gradient(to bottom,#0002,#000e),radial-gradient(circle at 50% 42%,#f6b40044,transparent 26%),linear-gradient(135deg,#101116,#060606 52%,#1d0c00);box-shadow:0 18px 46px #0009}
.blink-captain-portal .blink-captain-hero-map{position:absolute;inset:0;opacity:.62;background-image:linear-gradient(35deg,transparent 0 36px,#ffffff11 37px 39px,transparent 40px 72px),linear-gradient(115deg,transparent 0 44px,#f6b40011 45px 47px,transparent 48px 92px);background-size:140px 140px;animation:bcGrid 13s linear infinite}
.blink-captain-portal .blink-captain-route{position:absolute;left:20px;right:20px;top:78px;width:calc(100% - 40px);height:102px;opacity:.8}
.blink-captain-portal .blink-captain-route path{fill:none;stroke:#f6b400;stroke-width:4;stroke-linecap:round;stroke-dasharray:12 10;filter:drop-shadow(0 0 10px #f6b400b8);animation:bcRoute 2s linear infinite}@keyframes bcRoute{to{stroke-dashoffset:-44}}
.blink-captain-portal .blink-captain-hero-head{position:absolute;top:16px;right:16px;left:16px;display:flex;align-items:center;justify-content:space-between;padding:12px;border-radius:22px;background:#0009;border:1px solid #f6b40055;backdrop-filter:blur(12px)}
.blink-captain-portal .blink-captain-hero-head small{color:#aaa;font-size:10px;display:block}.blink-captain-portal .blink-captain-hero-head strong{display:block;color:#f6b400;font-size:18px;margin:5px 0}.blink-captain-portal .blink-captain-hero-head p{color:#ddd;font-size:10px;margin:0}
.blink-captain-portal .blink-captain-hero-tags{position:absolute;bottom:15px;left:15px;right:15px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.blink-captain-portal .blink-captain-hero-tags span{background:#0009;border:1px solid #ffffff1a;border-radius:16px;text-align:center;font-size:11px;font-weight:700;padding:10px 3px}
.blink-captain-portal .blink-captain-kicker{text-align:center;font-size:19px;color:#f6b400;margin:15px 0}
.blink-captain-portal .blink-captain-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.blink-captain-portal .blink-captain-tile{min-width:0;position:relative;text-align:center;border-radius:18px;border:1px solid #ffffff20;background:linear-gradient(145deg,#0009,#ffffff09);padding:16px 8px;color:#fff}
.blink-captain-portal .blink-captain-tile-icon{color:#f6b400;font-size:25px;margin-bottom:6px}
.blink-captain-portal .blink-captain-tile>span{display:block;font-size:12px;color:#c6c6c6;font-weight:800;margin-bottom:9px}.blink-captain-portal .blink-captain-tile strong{display:block;color:#f6b400;font-size:22px;direction:ltr}.blink-captain-portal .blink-captain-tile small{font-size:12px}
.blink-captain-portal .blink-captain-tile-wide{grid-column:1/-1;background:linear-gradient(135deg,#f6b4002c,#0008);border-color:#f6b400;box-shadow:0 0 20px #f6b40018}.blink-captain-portal .blink-captain-tile-wide strong{font-size:32px}
.blink-captain-portal .blink-captain-primary{display:block;width:100%;border:0;border-radius:17px;padding:15px;font-size:15px;font-weight:900;color:#050505;background:linear-gradient(135deg,#ffe08a,#f6b400,#d49300);box-shadow:0 14px 30px #f6b40044;cursor:pointer;margin-top:14px}
.blink-captain-portal .blink-captain-primary:hover{filter:brightness(1.07)}
.blink-captain-portal .blink-captain-paybox{margin-top:18px;border:1px solid #f6b40050;background:linear-gradient(160deg,#111215ee,#08090cee);border-radius:24px;padding:18px;box-shadow:0 16px 36px #0006}
.blink-captain-portal .blink-captain-paybox h3{text-align:center;color:#f6b400;font-weight:900;margin:2px 0 12px;font-size:19px}.blink-captain-portal .blink-captain-paybox p{color:#bbb;font-size:12px;line-height:1.8}
.blink-captain-portal .blink-captain-payentry{display:flex;flex-direction:column;gap:7px;background:#0008;border-radius:16px;padding:14px;text-align:center;border:1px dashed #f6b40055}.blink-captain-portal .blink-captain-payentry span{color:#f6b400;overflow-wrap:anywhere}
.blink-captain-portal .blink-captain-secondary{border:1px solid #f6b400aa;color:#f6b400;background:#f6b40018;padding:12px 14px;border-radius:15px;display:block;width:100%;font-weight:800;margin-top:12px;cursor:pointer}
.blink-captain-portal .blink-captain-unset{color:#bcbcbc;text-align:center;padding:20px 10px;border:1px dashed #ffffff25;border-radius:14px;font-size:13px}
.blink-captain-portal .blink-captain-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.blink-captain-portal .blink-captain-nav button,.blink-captain-portal .blink-captain-toolbar button,.blink-captain-portal .blink-captain-toolbar a,.blink-captain-portal .blink-captain-order button{background:#f6b40018;border:1px solid #f6b40066;color:#ffe08a;padding:10px;border-radius:12px;cursor:pointer;font-weight:800;text-align:center}
.blink-captain-portal .blink-captain-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:16px 0;color:#ddd}.blink-captain-portal .blink-captain-toolbar button:disabled{opacity:.35;cursor:default}
.blink-captain-portal .blink-captain-bottom{display:flex;justify-content:space-between;align-items:center;padding:18px 10px;color:#999;font-size:12px}.blink-captain-portal .blink-captain-bottom button{color:#f6b400;border:1px solid #f6b40055;border-radius:10px;padding:7px 12px}
.blink-captain-portal .blink-captain-list{display:grid;gap:11px;margin-top:17px}.blink-captain-portal .blink-captain-order{padding:15px;border-radius:18px;background:#050507d9;border:1px solid #ffffff25;overflow-wrap:anywhere}.blink-captain-portal .blink-captain-order>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.blink-captain-portal .blink-captain-order strong{color:#ffdc81}.blink-captain-portal .blink-captain-order time{font-size:11px;color:#aaa}.blink-captain-portal .blink-captain-order>b{color:#f6b400;display:block;margin:11px 0}.blink-captain-portal .blink-captain-order p{color:#ddd;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}.blink-captain-portal .blink-captain-order button{display:block;margin-top:12px}
.blink-captain-portal .blink-captain-filter{display:flex;gap:8px;align-items:center}.blink-captain-portal .blink-captain-filter input{width:100%;min-width:0;border:1px solid #f6b40060;background:#08090d;color:#fff;border-radius:14px;padding:12px}.blink-captain-portal .blink-captain-filter button{width:auto;white-space:nowrap;margin:0}
.blink-captain-portal .blink-captain-error{border:1px solid #f68b8b;background:#280c0c;padding:18px;border-radius:16px}.blink-captain-portal .blink-captain-wait{text-align:center;padding:35px;color:#ffc21c}
@media(max-width:420px){.blink-captain-portal .blink-captain-glass{padding:14px;border-radius:24px}.blink-captain-portal .blink-captain-hero{height:220px}.blink-captain-portal .blink-captain-logo strong{font-size:36px}.blink-captain-portal .blink-captain-wing i{width:42px}.blink-captain-portal .blink-captain-sectiontop h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){.blink-captain-portal *{animation:none!important;transition:none!important}}


/* BLINK captain only: gold proof dialog, never changes the admin UI */
dialog.blink-captain-modal{color:#fff;background:linear-gradient(155deg,#151516,#07080b 58%,#211204);border:1px solid rgba(246,180,0,.55);border-radius:28px;width:min(450px,calc(100vw - 24px));box-shadow:0 30px 90px #000c,0 0 48px #f6b40022;font-family:Tahoma,Arial,sans-serif;direction:rtl;}
dialog.blink-captain-modal::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(7px)}
dialog.blink-captain-modal .modal-head{padding:18px 20px;border-color:#f6b40050}
dialog.blink-captain-modal .modal-head h2{color:#ffcd45;font-weight:900;font-size:20px}
dialog.blink-captain-modal .modal-head button{border:1px solid #f6b40055;background:#f6b40016;color:#ffe08a;border-radius:12px;min-width:38px;height:38px;cursor:pointer}
dialog.blink-captain-modal .modal-head button svg{stroke:currentColor}
dialog.blink-captain-modal .modal-body{padding:20px;max-height:75vh;overflow:auto}
dialog.blink-captain-modal .field{color:#ffe3a3;font-weight:800;display:block;margin:14px 0 8px}
dialog.blink-captain-modal input:not([type=hidden]),dialog.blink-captain-modal select,dialog.blink-captain-modal textarea{box-sizing:border-box;width:100%;display:block;min-width:0;min-height:50px;margin-top:8px;padding:12px 14px;background:#090a0e;border:1px solid #f6b40060;border-radius:14px;color:#fff;accent-color:#f6b400;font-size:16px}
dialog.blink-captain-modal input[type=file]{padding:11px;font-size:13px}
dialog.blink-captain-modal input[type=file]::file-selector-button{background:#f6b400;color:#070707;border:0;border-radius:9px;padding:8px;margin-left:10px;cursor:pointer}
dialog.blink-captain-modal input:focus{outline:2px solid #f6b40066;outline-offset:2px}
dialog.blink-captain-modal .note{color:#bdb6a4;background:#f6b40010;border:1px solid #f6b40038;border-radius:12px;padding:12px;line-height:1.8;margin:15px 0}
dialog.blink-captain-modal .modal-actions{flex-wrap:wrap;gap:10px}
dialog.blink-captain-modal .modal-actions .btn{flex:1;min-width:130px;background:linear-gradient(135deg,#ffe08a,#f6b400,#c78b00);color:#090909;font-weight:900;border-radius:14px;padding:13px 10px;border:0}
dialog.blink-captain-modal .modal-actions .btn.secondary{background:#ffffff0b;color:#eee;border:1px solid #f6b40066}
dialog.blink-captain-modal .blink-captain-proof-intro{text-align:center;padding:8px 6px 15px;border-bottom:1px solid #f6b40030}
dialog.blink-captain-modal .blink-captain-proof-intro span{display:block;font-size:37px;color:#f6b400;text-shadow:0 0 24px #f6b40066}
dialog.blink-captain-modal .blink-captain-proof-intro strong{display:block;color:#ffe08a;font-size:19px}
dialog.blink-captain-modal .blink-captain-proof-intro p{font-size:12px;color:#c1b8a6;line-height:1.8;margin-top:7px}
dialog.blink-captain-modal .blink-captain-locked-account{background:#f6b40013;border:1px solid #f6b40055;border-radius:16px;padding:13px 15px;margin:15px 0;color:#c4bba7}
dialog.blink-captain-modal .blink-captain-locked-account strong{display:block;color:#ffda76;font-size:19px;padding-top:5px}
dialog.blink-captain-modal .blink-captain-locked-account small{color:#9dbca2;font-size:11px;display:block;margin-top:4px}
@media(max-width:420px){dialog.blink-captain-modal .modal-body{padding:13px}dialog.blink-captain-modal .modal-actions .btn{min-width:110px}}


/* BLINK admin V3 — golden neon, applied only to .layout (captain untouched) */
.layout{--bg:#05090e;--paper:#0d1219;--ink:#f4f5f7;--muted:#99a4af;--line:#29323c;--green:#ffbd00;--lime:#ffdf70;--shadow:0 12px 45px #0008;background:radial-gradient(circle at 48% -25%,#102137 0,#090d14 36%,#05080b 83%);color:#f2f4f7;min-height:100vh}
.layout .sidebar{background:linear-gradient(175deg,#090f17,#06090e);border-left:1px solid #d5a31655;box-shadow:-6px 0 38px #0009}
.layout .brand b{color:#fff;font-style:italic;text-shadow:0 0 24px #ffc0004d}
.layout .brand-mark{background:linear-gradient(140deg,#ffdf77,#ffb900);color:#090b0c;box-shadow:0 0 24px #ffb9007e}
.layout .nav-label{color:#a9a9ac}.layout .nav button{color:#b7c0c9;border:1px solid transparent}.layout .nav button:hover{color:#fff;background:#edac001a;border-color:#edac0040}.layout .nav button.active{color:#111;background:linear-gradient(110deg,#ffa900,#ffe07a);box-shadow:0 0 25px #ffbe0069;font-weight:900}.layout .nav button.active svg{color:#111}
.layout .sidebar-footer{border-color:#ffc00040}.layout .profile small,.layout .stat-bottom,.layout .card-head small{color:#a4abb7}.layout .avatar{background:#ffbd0018;color:#ffe078;border:1px solid #ffc10065}
.layout .main{background:transparent}.layout .topbar{background:#090e16ee;border-bottom:1px solid #d5a3164f;color:#f4f4f6}.layout .crumb span{color:#ffc400}.layout .round{background:#151c26;color:#ffc400;border:1px solid #ffc40044}.layout .top-search{background:#080c12;color:#c5c5c7;border:1px solid #a97a003f}.layout .top-search input{color:#fff;background:transparent}
.layout .page-head h1{color:#fff;font-weight:900}.layout .page-head p{color:#acb4bd}.layout .eyebrow{color:#ffd35b}.layout .dot{background:#ffbc00}.layout .footer{color:#868c97}
.layout .btn:not(.secondary):not(.danger){background:linear-gradient(125deg,#ffb400,#ffdb60);color:#101014;font-weight:900;border:1px solid #f3c95a;box-shadow:0 5px 22px #ffb80026}.layout .btn.secondary{background:#121a24;color:#ffdc72;border:1px solid #ffc00077}.layout .btn:hover{filter:brightness(1.09)}
.layout .stat,.layout .card{background:linear-gradient(145deg,#101620,#090e15);color:#f9fafb;border:1px solid #c08b006b;box-shadow:0 8px 28px #0008,0 0 16px #c18a0013;border-radius:19px}.layout .stat-top{color:#e2e6eb}.layout .stat-icon{background:#ffbc001b;color:#ffd05b}.layout .stat-value{color:#fff}.layout .stat-value small{color:#ffc62e}.layout .card-head h3{color:#ffd34d}
.layout .admin-neon-hero{position:relative;overflow:hidden;border:1px solid #ffc400a3;border-radius:24px;padding:30px 32px 28px;background:radial-gradient(circle at 80% 10%,#b484001f,transparent 38%),linear-gradient(135deg,#0c121b,#060a11);box-shadow:0 0 27px #ffc00032,inset 0 0 45px #ffbd000b;margin-bottom:20px}.layout .admin-neon-hero:after{content:'BLINK';position:absolute;left:4%;top:4%;font-size:clamp(48px,9vw,140px);font-weight:900;font-style:italic;color:#ffffff06;pointer-events:none}.layout .admin-neon-kicker{font-size:10px;font-weight:900;letter-spacing:2px;color:#ffd45c;direction:ltr;text-align:right}.layout .admin-neon-hero h2{font-size:clamp(23px,3.2vw,39px);color:#fff;font-weight:900;position:relative;z-index:1}.layout .admin-neon-hero h2 span{color:#ffbd00}.layout .admin-neon-hero p{color:#afb5c0;position:relative;z-index:1}.layout .admin-neon-line{height:3px;width:75%;margin:24px 0 0 auto;background:linear-gradient(90deg,transparent,#14cfff,#ffc400,transparent);filter:drop-shadow(0 0 7px #ffc400)}
.layout .admin-neon-stats{margin-bottom:23px}.layout .admin-neon-section{padding:20px}.layout .admin-order-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}.layout .admin-order-card{min-width:0;border:1px solid #ffbb0052;border-right:3px solid #ffb900;background:linear-gradient(150deg,#151b24,#090e15);border-radius:17px;padding:16px;box-shadow:0 10px 24px #0005}.layout .admin-order-top{display:flex;align-items:center;justify-content:space-between;gap:9px;flex-wrap:wrap;border-bottom:1px solid #ffffff16;padding-bottom:12px}.layout .admin-order-top strong{color:#ffd354}.layout .admin-order-top time{color:#9ba8b5;font-size:11px}.layout .admin-order-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}.layout .admin-order-people>div{min-width:0;padding:11px;background:#060a0fa8;border-radius:10px;border:1px solid #ffffff12}.layout .admin-order-people small,.layout .admin-order-body small{display:block;color:#8fb5c7;font-size:11px;margin-bottom:7px}.layout .admin-order-people b{color:#f7f8fb;overflow-wrap:anywhere}.layout .admin-order-phone{direction:ltr;text-align:right;color:#f9d56f;font-weight:800;font-size:12px;margin-top:5px}.layout .admin-order-body{border:1px solid #ffffff11;border-radius:12px;background:#070c13;margin-top:12px;padding:12px}.layout .admin-order-body p{color:#e8edf1;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;margin:0}.layout .admin-order-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding-top:13px;color:#aeb5c0;font-size:12px}.layout .admin-order-foot b{color:#ffcf4d;font-size:14px}.layout .admin-order-count{color:#ffd16a;font-weight:900;margin:18px 0}.layout .admin-neon-shortcuts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}.layout .admin-neon-shortcuts button{border:1px solid #ffc00069;border-radius:14px;padding:15px 8px;color:#ffda78;background:#111820;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:800}.layout .admin-neon-shortcuts button:hover{background:#ffc00027}.layout .admin-neon-shortcuts svg{width:19px;height:19px}
.layout .filter-bar,.layout .table-footer{background:#0b1119;border-color:#ffc40035;color:#d5d8dd}.layout .filter-bar input,.layout .filter-bar select,.layout .top-search input{color:#f4f6f9;background:#0b1018;border:1px solid #a47f0045}.layout .filter-bar option{background:#090f17;color:#fff}.layout .table-wrap{border:1px solid #be93004c;border-radius:14px;overflow-x:auto}.layout table{color:#eaeef5}.layout th{background:#141d28;color:#ffd157}.layout td{border-color:#ffffff14}.layout tr:hover td{background:#ffffff08}.layout .badge{border:1px solid #ffc4005c;color:#e4ecf5;background:#ffbb0016}.layout .badge .dot{background:#ffc400}.layout .empty{color:#bfc7d1}.layout .empty b{color:#fff}.layout .amount{color:#ffcd3a}.layout .stat-bottom,.layout .mini-note{color:#aeb4bd}.layout .person,.layout .person small{color:#edf0f3}
/* All administrator modals dark-gold; captain dialogs already have own isolated rules. */
dialog:not(.blink-captain-modal){background:linear-gradient(150deg,#111821,#090d13);color:#f7f7f9;border:1px solid #ffc00080;border-radius:22px;box-shadow:0 24px 75px #000c,0 0 33px #ffc00024}dialog:not(.blink-captain-modal)::backdrop{background:#000c;backdrop-filter:blur(5px)}dialog:not(.blink-captain-modal) .modal-head{border-color:#ffc00050}dialog:not(.blink-captain-modal) .modal-head h2{color:#ffd055}dialog:not(.blink-captain-modal) input,dialog:not(.blink-captain-modal) select,dialog:not(.blink-captain-modal) textarea{background:#0b1119;color:#fff;border:1px solid #ffc00055}dialog:not(.blink-captain-modal) .field{color:#dfe2e7}dialog:not(.blink-captain-modal) .note{color:#bec5cd;background:#151b23;border:1px solid #ffc00022}dialog:not(.blink-captain-modal) option{background:#0e131c;color:#fff}
@media(max-width:1000px){.layout .admin-order-grid{grid-template-columns:1fr}.layout .admin-neon-shortcuts{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.layout .admin-neon-hero{padding:20px 15px}.layout .admin-order-people{grid-template-columns:1fr}.layout .admin-neon-section{padding:12px}.layout .admin-neon-shortcuts{gap:6px}.layout .admin-neon-shortcuts button{font-size:11px;padding:12px 5px}}
@media(prefers-reduced-motion:reduce){.layout .admin-neon-line{filter:none}}
