:root{color-scheme:dark;--navy:#0d131d;--panel:#172231;--line:#30435a;--cobalt:#78adfa;--text:#eef5ff;--muted:#9aacc2;--ok:#55d59b;--warn:#f4bf5d;--bad:#ee7b87}*{box-sizing:border-box}body{margin:0;background:var(--navy);color:var(--text);font:16px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:9px;background:#20334a;color:var(--text);padding:.62rem .9rem}button:hover{border-color:var(--cobalt)}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--cobalt);outline-offset:2px}.quiet{background:transparent}.eyebrow{margin:0;color:var(--cobalt);font-size:.75rem;font-weight:800;letter-spacing:.12em}.muted,small{color:var(--muted)}.login-card{width:min(460px,calc(100% - 2rem));margin:12vh auto;padding:2rem;border:1px solid var(--line);border-radius:16px;background:var(--panel);box-shadow:0 18px 45px #0004}.login-card h1{margin:.35rem 0}.login-card form{display:grid;gap:.8rem;margin-top:1.5rem}.login-card label,.filters label{display:grid;gap:.38rem;font-weight:700}input,select{min-width:0;border:1px solid var(--line);border-radius:8px;background:#0e1722;color:var(--text);padding:.62rem}.message{min-height:1.4rem;margin:.4rem 0}.message.error{color:var(--bad)}.sidebar{position:fixed;inset:0 auto 0 0;width:260px;display:flex;flex-direction:column;padding:1.5rem;background:#111b28;border-right:1px solid var(--line);z-index:3}.brand{display:grid;gap:.25rem;margin-bottom:1.75rem}.brand strong{font-size:1.1rem}.brand small{font-size:.82rem}.sidebar nav{display:grid;gap:.32rem}.nav{width:100%;display:flex;justify-content:space-between;text-align:left;background:transparent;border-color:transparent}.nav.active{background:#23456d;border-color:#4b76ad}.nav.disabled{opacity:.52;cursor:not-allowed}.nav span{font-size:.75rem;color:var(--muted)}.sidebar-foot{margin-top:auto;display:grid;gap:.7rem;color:var(--muted);font-size:.85rem}.app{margin-left:260px;min-height:100vh;padding:clamp(1rem,3vw,2.75rem)}.app-head{display:flex;justify-content:space-between;gap:1rem;align-items:start;margin-bottom:1.25rem}.app-head h1{margin:.12rem 0}.head-actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.status-dot{display:inline-flex;align-items:center;gap:.4rem;color:var(--warn)}.status-dot:before{content:'';width:.55rem;height:.55rem;border-radius:50%;background:currentColor}.status-dot.ok{color:var(--ok)}.status-dot.bad{color:var(--bad)}.mobile-head{display:none}.notice{display:flex;gap:.8rem;align-items:center;border:1px solid #496f9b;background:#153251;padding:.8rem 1rem;border-radius:10px;margin-bottom:1rem}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:1.15rem}.card{display:grid;gap:.3rem}.card strong{font-size:1.15rem}.panel{margin-bottom:1rem}.panel h2{margin:0}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.link-button{padding:0;border:0;background:transparent;color:var(--cobalt)}.filters{display:flex;gap:1rem;align-items:end;margin-bottom:1rem}.filters label:first-child{flex:1}.skeleton,.empty,.error-state{padding:1rem;border-radius:9px;color:var(--muted);background:#111b28}.error-state{color:var(--bad);display:flex;gap:1rem;align-items:center}.customer-list{display:grid;gap:.6rem}.customer-row{display:flex;justify-content:space-between;align-items:center;text-align:left;background:#121d2a}.customer-row span{display:grid;gap:.12rem}.badge{display:inline-flex;width:max-content;border-radius:999px;padding:.25rem .55rem;font-size:.8rem;background:#33465a;color:#dceaff}.badge.active{background:#164b3d;color:#95f5c9}.badge.low_balance,.badge.limited{background:#5c4420;color:#ffd686}.badge.disabled,.badge.expired,.badge.temporarily_unavailable{background:#532d38;color:#ffb2bc}.badge.not_connected{background:#33465a}.details h3{margin:.15rem 0}.detail-head{display:flex;justify-content:space-between;gap:1rem}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.metrics div,.system-list div{padding:.65rem;background:#111b28;border-radius:8px}.metrics dt,.system-list dt{color:var(--muted);font-size:.82rem}.metrics dd,.system-list dd{margin:.25rem 0 0;font-weight:700}.progress{height:.65rem;overflow:hidden;background:#0d131d;border-radius:999px;margin:1rem 0}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--cobalt),var(--ok))}.audit-list{display:grid;gap:.55rem}.audit-row{padding:.75rem;border-bottom:1px solid var(--line);color:var(--muted)}.system-list{display:grid;gap:.65rem}@media(max-width:900px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.sidebar{transform:translateX(-101%);transition:transform .2s}.sidebar.open{transform:translateX(0)}.app{margin-left:0;padding:1rem}.mobile-head{display:flex;justify-content:space-between;align-items:center;padding:.7rem 1rem;border-bottom:1px solid var(--line);background:#111b28}.app-head{display:block}.head-actions{margin-top:.7rem}.cards{grid-template-columns:1fr}.filters{display:grid}.metrics{grid-template-columns:1fr}.notice{align-items:flex-start;flex-direction:column}.customer-row{gap:.6rem}.app-head #logout-top{display:none}}@media(max-width:375px){.app{padding:.75rem}.panel,.card{padding:.9rem}.head-actions button{flex:1}.customer-row{align-items:flex-start;flex-direction:column}}
:root .skeleton[hidden],:root .empty[hidden],:root .error-state[hidden]{display:none}
/* Модальное окно */
.modal {
  position: fixed;
  inset: 0;
  background: rgba(13, 19, 29, 0.75);
  backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 100;
  padding: 1rem;
}
.modal[hidden] {
  display: none !important;
}
.modal-content {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 16px;
  width: min(540px, 100%);
  padding: 1.75rem;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
  display: grid;
  gap: 1.25rem;
}
.modal-content h3 {
  margin: 0;
  font-size: 1.3rem;
}
.modal-buttons {
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
  margin-top: 0.5rem;
}
.modal-details {
  background: #0e1722;
  border: 1px solid var(--line);
  border-radius: 9px;
  padding: 1rem;
  font-size: 0.95rem;
}
.modal-details ul {
  margin: 0.5rem 0 0 0;
  padding-left: 1.25rem;
}
.modal-details li {
  margin-bottom: 0.35rem;
}
.danger-btn {
  background: #3c1e22;
  border-color: #632d35;
  color: var(--bad);
}
.danger-btn:hover {
  border-color: var(--bad);
}
.action-buttons {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-top: 1.25rem;
}
.test-only-notice {
  color: var(--warn);
  font-size: 0.88rem;
  margin-top: 1rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.test-only-notice:before {
  content: '⚠';
}
.customer-audit-section {
  margin-top: 1.75rem;
  border-top: 1px solid var(--line);
  padding-top: 1.25rem;
}
.customer-audit-section h4 {
  margin: 0 0 0.75rem 0;
  color: var(--cobalt);
}
.audit-mini-list {
  display: grid;
  gap: 0.5rem;
  max-height: 200px;
  overflow-y: auto;
  padding-right: 0.25rem;
}
.audit-mini-row {
  padding: 0.5rem;
  background: #111b28;
  border-radius: 6px;
  font-size: 0.85rem;
  border-left: 3px solid var(--line);
}
.audit-mini-row.completed {
  border-left-color: var(--ok);
}
.audit-mini-row.failed {
  border-left-color: var(--bad);
}
.audit-mini-row.reconciliation_required {
  border-left-color: var(--warn);
}
[hidden]{display:none!important}
