:root { font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial; }
body { margin: 0; background: #0b0b0b; color: #f2f2f2; }

.topbar {
  position: sticky; top: 0;
  display: flex; justify-content: space-between; align-items: center;
  padding: 10px 12px; background: #121212; border-bottom: 1px solid #2a2a2a;
  gap: 10px;
}

.leftHead { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.brand { font-weight: 700; letter-spacing: 0.3px; }

.status { display: flex; gap: 10px; align-items: center; }

.dot { width: 10px; height: 10px; border-radius: 999px; background: #666; display: inline-block; }

.tabs { display: flex; gap: 8px; align-items: center; }
.tab {
  padding: 9px 12px;
  border-radius: 12px;
  border: 1px solid #333;
  background: #0e0e0e;
  color: #dcdcdc;
}
.tab.active { background: #1c1c1c; color: #f2f2f2; border-color: #444; }

.layout { padding: 12px; }

.view { display: grid; grid-template-columns: 1fr; gap: 12px; }

.panel { background: #121212; border: 1px solid #2a2a2a; border-radius: 14px; padding: 12px; }
.panel.full { grid-column: 1 / -1; }

h2,h3 { margin: 8px 0 10px; }

.input {
  width: 100%;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid #333;
  background: #0e0e0e;
  color: #f2f2f2;
  box-sizing: border-box;
}

.list { margin-top: 10px; display: flex; flex-direction: column; gap: 8px; }

.item {
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid #2f2f2f;
  background: #0e0e0e;
  cursor: pointer;
}

.item:hover { border-color: #444; }
.item .sub { color: #bdbdbd; font-size: 12px; margin-top: 4px; white-space: normal; }

.small .item { padding: 8px 10px; }

.actions { margin-top: 10px; display: flex; gap: 8px; flex-wrap: wrap; }

.row { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.row.right { justify-content: flex-end; }

.btn {
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid #333;
  background: #1c1c1c;
  color: #f2f2f2;
}

.btn.danger { border-color: #6b1a1a; background: #2a1111; }

.hint {
  margin-top: 10px;
  color: #bdbdbd;
  font-size: 13px;
  border: 1px dashed #2f2f2f;
  border-radius: 12px;
  padding: 10px 12px;
  background: #0e0e0e;
}

/* Modal */
.modal {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
  box-sizing: border-box;
}
.modal.hidden { display: none !important; }

.modalCard {
  width: 100%;
  max-width: 520px;
  background: #121212;
  border: 1px solid #2a2a2a;
  border-radius: 16px;
  padding: 12px;
  box-sizing: border-box;
}

#modalTitle { margin: 0 0 10px; }
#modalBody { display: flex; flex-direction: column; gap: 8px; margin-bottom: 10px; }

textarea {
  width: 100%;
  min-height: 140px;
  border-radius: 12px;
  border: 1px solid #333;
  background:#0e0e0e;
  color:#f2f2f2;
  padding: 10px;
  box-sizing: border-box;
}

.hidden { display: none; }

/* Procedure editor */
.toolbar { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:8px; }
.toolbtn {
  padding:8px 10px;
  border-radius:12px;
  border:1px solid #333;
  background:#1c1c1c;
  color:#f2f2f2;
}
.editor {
  min-height: 220px;
  border-radius: 12px;
  border: 1px solid #333;
  background: #0e0e0e;
  padding: 10px;
  box-sizing: border-box;
}
.editor:focus { outline: none; border-color: #555; }

/* Customer header */
.custHeader{
  margin: 10px 0 12px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid #2f2f2f;
  background: #0e0e0e;
  color: #d8d8d8;
  font-size: 14px;
}
.custHeader .line { margin-top: 6px; color: #bdbdbd; font-size: 13px; }
.custHeader .label { color: #f2f2f2; font-weight: 600; margin-right: 6px; }

/* Responsive */
@media (min-width: 900px) {
  #viewCustomers { grid-template-columns: 340px 1fr; }
  #viewProcedures { grid-template-columns: 1fr; }
}
